diff options
Diffstat (limited to 'www/functions/func_download.php')
| -rw-r--r-- | www/functions/func_download.php | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/www/functions/func_download.php b/www/functions/func_download.php new file mode 100644 index 0000000..91c8085 --- /dev/null +++ b/www/functions/func_download.php @@ -0,0 +1,67 @@ +<?php + +function start_file_download($user, $path){ + + $db = $GLOBALS["db"]; + + $owner = user_id($db, $user); + + $file_id = select_file_id($db, $owner, $path) + +/* $file_id_db = $db->query("SELECT id, owner, share FROM files WHERE parent=" . $folder_id . "); + $file_id_ar = $file_id_db->fetchArray(SQLITE3_NUM); + $file_id = $file_id_ar[0]; + + $check_verification_db = $ + $check_verification_ar[1]; + $share = $check_verification_ar[2]; + + + if($_SESSION["login"] && ($_SESSION["userid"] == $file_owner)){ + $var = download_file($db, $file_id); + } else { + if($share != "PUBLIC"){ + return false; + } + + $var = download_file($db, $file_id); + } +*/ + + $var = download_file($db, $file_id); + + return $var; +} + +function check_file_hash($db, $file_id, $download_hash){ + $check_hash_db = $db->query("SELECT share FROM files WHERE id=" . SQLite3::escapeString($file_id).";"); + $check_hash_ar = $check_hash_db->fetchArray(SQLITE3_NUM); + + if(($check_hash_ar[0] != "PUBLIC") || ($check_hash_ar[0] != $download_hash)){ + return false; + } + + $var = download_file($db, $file_id); + return $var; + +} + +function download_file($db, $file_id){ + + $file_db = $db->query("SELECT name, mime, hash FROM files WHERE id=". SQLite3::escapeString($file_id).";"); + $file_ar = $file_db->fetchArray(SQLITE3_NUM); + $file_name = $file_ar[0]; + $file_mime = $file_ar[1]; + $file_hash = $file_ar[2]; + + $uploaddir = "../files/"; + $gzip_file = $uploaddir . $file_hash . ".gz"; + $fp = gzopen($gzip_file, '') // TODO: DECOMPRESS CONSTANT + + //TODO GZIP DECOMPRESSION + + //TODO set HTTP HEADER + + return true; + +} |
