F diff --git a/php/.database.php.swp b/php/.database.php.swpB Binary files a/php/.database.php.swp and b/php/.database.php.swp differF diff --git a/php/.upload.php.swp b/php/.upload.php.swp new file mode 100644B Binary files /dev/null and b/php/.upload.php.swp differF diff --git a/php/database.php b/php/database.php --- a/php/database.php +++ b/php/database.php//print count($id);return $id[0];}+ /*returns the file name as it must be in the filesystem*/+ function create_file_node(string $filename): string+ {+ global $storage_root;+ $code=get_random_node_name("");+ if($filename==NULL)return false;+ $prep=$this->pdo->prepare("insert into nodes(is_directory,relative_path,name,code)+ values(false,:root,:name,:code)+ ");+ $prep->bindParam(':name',$filename);+ $prep->bindParam(':root',$storage_root);++ $prep->bindParam(':code',$code);+ if($prep->execute()==false)+ {+ error_log("could not upload file");+ /*not so quiet error*/+ return "error";+ }+ return code;+ }function are_linked(int $directory_id,int $node_id): bool{$prepare=$this->pdo->prepare("select node_idF diff --git a/php/upload.php b/php/upload.php --- a/php/upload.php +++ b/php/upload.php<?php+ require_once "database.php"+ require_once "configuration.php"- if (!array_key_exists('uf', $_FILES)) {+ if (!isset( $_POST["filename") || !isset($_POST["the_file"])+ {http_response_code(400);- exit();+ error_log("someone tried to upload something impropperly");+ exit(1);}- $file = $_FILES['uf'];+ $file = $_POST["the_file"];+ $filename= $_POST["filename"];- if (file['error'] != 0) {- http_response_code(400);- exit();- }-- $m = md5_file($file['tmp_name']);-- copy($file['tmp_name'], "screen/$m.png");+ $codename=create_file_node($filename);- echo "http://india.fmi.fail/screen/$m.png";+ copy($file['tmp_name'], "$storage_root/$codename");+ echo $codename;?>F diff --git a/sql/.fileshare.sql.swp b/sql/.fileshare.sql.swpB Binary files a/sql/.fileshare.sql.swp and b/sql/.fileshare.sql.swp differF diff --git a/sql/fileshare.sql b/sql/fileshare.sql --- a/sql/fileshare.sql +++ b/sql/fileshare.sqltype varchar(20) not null default 'data',name varchar(100) not null default 'no name',note varchar(200) not null default "",- code char(30) not null default "error",+ code varchar(100) not null default "error",primary key (node_id));