summaryrefslogtreecommitdiff
path: root/www/functions/func_download.php
diff options
context:
space:
mode:
Diffstat (limited to 'www/functions/func_download.php')
-rw-r--r--www/functions/func_download.php67
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;
+
+}