diff options
| -rwxr-xr-x | www/functions/func_upload.php | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/www/functions/func_upload.php b/www/functions/func_upload.php index eb49486..31fe304 100755 --- a/www/functions/func_upload.php +++ b/www/functions/func_upload.php @@ -12,10 +12,10 @@ function database_upload($db, $parentdir, $owner, $filename, $folder, $mime, $si } } -function database_upload_update($db, $id, $mime, $size, $share, $filehash){ +function database_upload_update($db, $id, $name, $mime, $size, $share, $filehash){ if($db->exec(" BEGIN TRANSACTION; - UPDATE files SET mime='".$mime."', size='".$size."', share='".$share."', hash='".$filehash."' WHERE id=".$id."; + UPDATE files SET name='".$name."', mime='".$mime."', size='".$size."', share='".$share."', hash='".$filehash."' WHERE id=".$id."; COMMIT; ")){ return true; @@ -108,7 +108,7 @@ function upload($path){ return UPLOAD_FILE_HANDLING; } } - if(!database_upload_update($db, $fileid, $mime, $size, $share, $filehash)){ + if(!database_upload_update($db, $fileid, $filename, $mime, $size, $share, $filehash)){ return UPLOAD_DATABASE; } } else { @@ -137,11 +137,13 @@ function upload($path){ /* new file already exists, only thing is a new entry in the database */ } else { - $dupl_db = $db->query("SELECT parent FROM files WHERE hash='" . $filehash . "';"); + $dupl_db = $db->query("SELECT parent, mime, size, share, name FROM files WHERE hash='" . $filehash . "';"); while($row = $dupl_db->fetchArray(SQLITE3_NUM)){ if($row[0] == $parentdir){ - return UPLOAD_DUPLICATE; + if($mime == $row[1] && $size == $row[2] && $share == $row[3] && $filename == $row[4]){ + return UPLOAD_DUPLICATE; + } } } @@ -154,7 +156,7 @@ function upload($path){ return UPLOAD_FILE_HANDLING; } } - if(!database_upload_update($db, $fileid, $mime, $size, $share, $filehash)){ + if(!database_upload_update($db, $fileid, $filename, $mime, $size, $share, $filehash)){ return UPLOAD_DATABASE; } } else { |
