diff options
| author | Horus3 | 2014-09-25 10:33:47 +0200 |
|---|---|---|
| committer | Horus3 | 2014-09-25 10:33:47 +0200 |
| commit | 1fe76ba743a3418da9a0883b29756d442384d0bc (patch) | |
| tree | 091910ffd183d94c0f8b70a8f4c362f733033b03 /www/functions/notused | |
| parent | 2036626b560f22efd59673187a2de3b1319fcf8a (diff) | |
| download | jungegemeinde-1fe76ba743a3418da9a0883b29756d442384d0bc.tar.gz | |
init
Diffstat (limited to 'www/functions/notused')
| -rwxr-xr-x | www/functions/notused/func_content.php | 121 | ||||
| -rw-r--r-- | www/functions/notused/func_delete.php | 207 | ||||
| -rw-r--r-- | www/functions/notused/func_download.php | 123 | ||||
| -rw-r--r-- | www/functions/notused/func_folder.php | 162 | ||||
| -rwxr-xr-x | www/functions/notused/func_invite.php | 62 | ||||
| -rwxr-xr-x | www/functions/notused/func_rewrite.php | 30 | ||||
| -rwxr-xr-x | www/functions/notused/func_select.php | 62 | ||||
| -rwxr-xr-x | www/functions/notused/func_upload.php | 192 |
8 files changed, 0 insertions, 959 deletions
diff --git a/www/functions/notused/func_content.php b/www/functions/notused/func_content.php deleted file mode 100755 index ad0c87e..0000000 --- a/www/functions/notused/func_content.php +++ /dev/null @@ -1,121 +0,0 @@ -<?php - -function collect_content($db,$username, $folder_path){ - $owner = user_id($db, $username); - - if(!$owner){ - failure("This user doesn't exist!"); - } - - $file_id = select_file_id($db, $owner, $folder_path); - - if(!$file_id){ - return FILE_NOT_FOUND; - } - - $content = get_content($db, $file_id, $owner); - - if(!$content){ - return EMPTY_FOLDER; - } - - return $content; -} - -function get_content($db, $file_id, $owner){ - - if($_SESSION["login"] && $_SESSION["userid"] == $owner){ - $share=""; - } else { - $share =" AND share='PUBLIC'"; - } - - $content_db = $db->query("SELECT * FROM files WHERE parent=" . $file_id . " AND owner=" . $owner . $share . " ORDER BY folder, name;"); - - $count=0; - - while($row = $content_db->fetchArray(SQLITE3_NUM)){ - $content[$count][0] = $row[0]; - $content[$count][1] = $row[1]; - $content[$count][2] = $row[2]; - $content[$count][3] = $row[3]; - $content[$count][4] = $row[4]; - $content[$count][5] = $row[5]; - $content[$count][6] = $row[6]; - $content[$count][7] = $row[7]; - $content[$count][8] = $row[8]; - $count++; - } - - if(!empty($content)){ - return $content; // returns everything listed in the folder which is commited as parameter - } else { - return false; // empty folder - } -} - -function get_path_to_wrong_folder($db, $username, $folder_path){ - - $owner = user_id($db, $username); - - if($_SESSION["login"] && $_SESSION["userid"] == $owner){ - $share = ""; - } else { - $share =" AND share='PUBLIC'"; - } - - $folder_array_unsafe = explode("/",$folder_path); - $length = count($folder_array_unsafe); - - $root_db = $db->query("SELECT id FROM files WHERE parent=0 AND owner=" . SQLite3::escapeString($owner) . " AND folder='DIRECTORY' " . $share . ";"); - $root_ar = $root_db->fetchArray(SQLITE3_NUM); - $root_id = $root_ar[0]; - - if(empty($root_id)){ - return FOLDER_NOT_PUBLIC; - } - - $parentdir = $root_id; - - for($i=0; $i<$length; $i++){ - $parentdir_db = $db->query("SELECT id, parent FROM files WHERE owner=" . $owner . $share . " AND parent=". $parentdir . " AND name='" . SQLite3::escapeString($folder_array_unsafe[$i]) . "';"); - $prim_id = $parentdir_db->fetchArray(SQLITE3_NUM); - - if($parentdir != $prim_id[1]){ - $wrong_folder = $folder_array_unsafe[$i]; - $working_path[0] = $wrong_folder; - - for($j=0; $j<$i; $j++){ - $working_path[$j] = $folder_array_unsafe[$j]; - } - - $lwp = count($working_path); - $working_path[$lwp] = $wrong_folder; - - if($i == 0){ - $working_path[0] = ""; // shows just the root slash - } - - return $working_path; // returns working path and wrong folder as an array - } - - $parentdir = $prim_id[0]; - - } - - return false; -} - -function print_wrong_folder($content){ - - $length = count($content); - - $wrong_folder = $content[$length-1]; - $working_path[0] = $wrong_folder; // initialize empty array - - for($i=0; $i<$length-1; $i++){ - $working_path[$i] = $content[$i]; - } - - get_404($working_path, $wrong_folder); -} diff --git a/www/functions/notused/func_delete.php b/www/functions/notused/func_delete.php deleted file mode 100644 index 6220f8a..0000000 --- a/www/functions/notused/func_delete.php +++ /dev/null @@ -1,207 +0,0 @@ -<?php - -/* - expected state: tested?; but broken -*/ - -function check_if_deletable($db, $id, $hash){ - $check_db = $db->query("SELECT hash FROM files WHERE id!=".$id." AND folder='FILE';"); - - $count = 0; - while($check_ar = $check_db->fetchArray(SQLITE3_NUM)){ - if($check_ar[0] == $hash){ - $count = $count +1; - break; - } - } - - if($count == 0){ - return true; - } else { - return false; - } -} - -function delete_file($user, $path){ - - if(!$_SESSION["login"]){ - return DELETE_FILE_LOGIN; - } - - $db = $GLOBALS["db"]; - $uploaddir = "../files/"; - - $file_id = select_file_id($db, $user, $path); - - $file_owner_db = $db->query("SELECT owner FROM files WHERE id=".$file_id.";"); - $file_owner_ar = $file_owner_db->fetchArray(SQLITE3_NUM); - - if($file_owner_ar[0] != $_SESSION["userid"]){ - return DELETE_FILE_NOT_OWNER; - } - - $check_if_file_db = $db->query("SELECT folder, hash FROM files WHERE id=".$file_id.";"); - $check_if_file_ar = $check_if_file_db->fetchArray(SQLITE3_NUM); - - if($check_if_file_ar[0] != "FILE"){ - return DELETE_FILE_NO_FILE; - } - - $file_hash = $check_if_file_ar[1]; - - $hash_array_db = $db->query("SELECT hash FROM files WHERE hash='".$file_hash.";'"); - $count = 0; - - while($row1 = $hash_array_db->fetchArray(SQLITE3_NUM)){ - $hash_ar[$count] = $row1[0]; - $count++; - } - - $count = 0; - - for($i=0; $i<count($hash_ar); $i++){ - $file_id_owner_db = $db->query("SELECT id, owner FROM files WHERE folder='FILE' AND hash='".$hash_ar[$i]. "';"); - while($row2 = $file_id_owner->fetchArray(SQLITE3_NUM)){ - if($row2[1] != $_SESSION["userid"]){ - $saved_files[$count] = $hash_ar[$i]; - } - $count++; - } - } - - for($i=0; $i<count($saved_files); $i++){ - $cur = $saved_files[$i]; - for($j=0; $j<count($hash_ar); $j++){ - if($cur == $hash_ar[$j]){ - $hash_ar[$j] = ""; - } - } - } - - for($i=0; $i<count($hash_ar); $i++){ - if(!$file_hash[$i] != ""){ - if(!unlink($uploaddir.$file_hash.".gz")){ - return DELETE_FILE_UNLINK; - } - } - } - - if($db->exec(" - BEGIN TRANSACTION; - DELETE FROM files WHERE id=".$file_id."; - COMMIT; - ")){ - return DELETE_FILE_SUCCESS; - } else { - return DELETE_FILE_DATABASE; - } -} - -function delete_folder($user, $path){ - - if(!$_SESSION["login"]){ - return DELETE_FOLDER_LOGIN; - } - - $db = $GLOBALS["db"]; - - $folder_id = select_file_id($db, $user, $path); - - $folder_owner_db = $db->query("SELECT owner FROM files WHERE id=".$folder_id.";"); - $folder_owner_ar = $db->fetchArray(SQLITE3_NUM); - - if($folder_owner_ar[0] != $_SESSION["userid"]){ - return DELETE_FOLDER_NOT_OWNER; - } - - $folder_content_db = $db->query("SELECT id FROM files WHERE parent=".$folder_id.";"); - $folder_content_ar = $folder_content_db->fetchArray(SQLITE3_NUM); - - if(empty($folder_content_ar[0])){ - return DELETE_FOLDER_NOT_EMPTY; - } - - if($db->exec(" - BEGIN TRANSACTION; - DELETE FROM files WHERE id=".$folder_id."; - COMMIT; - ")){ - return DELETE_FOLDER_SUCCESS; - } else { - return DELETE_FOLDER_DATABASE; - } -} - -function delete_user($user, $password, $password_verify){ - - if(!$_SESSION["login"]){ - return DELETE_USER_LOGIN; - } - - $db = $GLOBALS["db"]; - $uploaddir = "../files/"; - - $owner = user_id($db, $user); - - if(($password != $password_verify ) || $password = ""){ - return DELETE_USER_EMPTY_PASSWORD; - } - - $password_hash_db = $db->query("SELECT password FROM user WHERE id=".$owner.";"); - $password_hash_ar = $password_hash_db->fetchArray(SQLITE3_NUM); - - $admin_password_hash_db = $db->query("SELECT password FROM user WHERE id=1;"); - $admin_password_hash_ar = $admin_password_hash_db->fetchArray(SQLITE3_NUM); - - if(!password_verify($password, $password_hash_ar[0]) || !password_verify($password, $admin_password_hash_ar[0])){ - return DELETE_USER_WRONG_PASSWORD; - } - - $hash_array_db = $db->query("SELECT hash FROM files WHERE folder='FILE' AND owner=".$owner.";"); - - $count = 0; - - while($row1 = $hash_array_db->fetchArray(SQLITE3_NUM)){ - $hash_ar[$count] = $row1[0]; - $count++; - } - - $count = 0; - - for($i=0; $i<count($hash_ar); $i++){ - $file_id_owner_db = $db->query("SELECT id, owner FROM files WHERE folder='FILE' AND hash='".$hash_ar[$i]."';"); - while($row2 = $file_id_owner->fetchArray(SQLITE3_NUM)){ - if($row2[1] != $_SESSION["userid"]){ - $saved_files[$count] = $hash_ar[$i]; - } - $count++; - } - } - - for($i=0; $i<count($saved_files); $i++){ - $cur = $saved_files[$i]; - for($j=0;$j<count($hash_ar); $j++){ - if($cur == $hash_ar[$j]){ - $hash_ar[$j] = ""; - } - } - } - - for($i=0; $ii<count($hash_ar); $i++){ - if($hash_ar[$i] != ""){ - if(!unlink($uploaddir.$hash_ar[$i].".gz")){ - return DELETE_USER_FILE_DELETE; - } - } - } - - if($db->exec(" - BEGIN TRANSACTION; - DELETE FROM user WHERE id=".$owner."; - COMMIT; - ")){ - return DELETE_USER_SUCCESS; - } else { - return DELETE_USER_DATABASE; - } -} diff --git a/www/functions/notused/func_download.php b/www/functions/notused/func_download.php deleted file mode 100644 index 26b25b1..0000000 --- a/www/functions/notused/func_download.php +++ /dev/null @@ -1,123 +0,0 @@ -<?php - -/* - Expected state: tested, should work. -*/ - -function check_if_file($db, $name, $folder_path){ - - $owner = user_id($db, $name); - - $file_id = select_file_id($db, $owner, $folder_path); - - if($file_id){ - $check_if_file_db = $db->query("SELECT folder FROM files WHERE id=".$file_id.";"); - $check_if_file_ar = $check_if_file_db->fetchArray(SQLITE3_NUM); - - if($check_if_file_ar[0] == "FILE"){ - return true; - } else { - return false; - } - } else { - //$content = get_path_to_empty_folder($db, $name, $folder_path); - //print_empty_folder($content); - //get_404("/", "Protected file"); - return false; - } -} - -function start_file_download($user, $path){ - - $db = $GLOBALS["db"]; - - $owner = user_id($db, $user); - - $file_id = select_file_id($db, $owner, $path); - - $file_db = $db->query("SELECT owner, share FROM files WHERE id=" . $file_id . ";"); - $file_ar = $file_db->fetchArray(SQLITE3_NUM); - $file_owner = $file_ar[0]; - $share = $file_ar[1]; - - if($_SESSION["login"] && ($_SESSION["userid"] == $file_owner)){ - if(download_file($db, $file_id)){ - return true; - } else { - return false; - } - } else { - if($share != "PUBLIC"){ - return false; - } - - if(download_file($db, $file_id)){ - return true; - } else { - return false; - } - } -} - -function check_file_hash($db, $file_id, $download_hash){ - if(preg_match("/[^0-9]/", $file_id)){ - return DOWNLOAD_FALSE_ID; - } - - $check_hash_db = $db->query("SELECT owner, folder, share, download_link FROM files WHERE id=" . SQLite3::escapeString($file_id).";"); - $check_hash_ar = $check_hash_db->fetchArray(SQLITE3_NUM); - - if($check_hash_ar[1] != "FILE"){ - return DOWNLOAD_NOT_FILE; - } - - if($check_hash_ar[2] != "PUBLIC"){ - if($_SESSION["userid"] != $check_hash_ar[0]){ - if($check_hash_ar[3] != $download_hash){ - return DOWNLOAD_PRIVATE_FILE; - } - } - } - - if(!download_file($db, $file_id)){ - return false; - } else { - return true; - } - -} - -function download_file($db, $file_id){ - - $file_db = $db->query("SELECT name, mime, size, 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_size = $file_ar[2]; - $file_hash = $file_ar[3]; - - $uploaddir = "../files/"; - $gzip_file = $uploaddir . $file_hash . ".gz"; - -//TODO: buffer output, print if reading == true - - header("Content-Type: ".$file_mime); - - if(!preg_match("/^image\/.+/", $file_mime)){ - header("Content-Disposition: attachment; filename=\"".$file_name."\""); - } else { - header("filename=".$file_name.""); - } - header("Content-Length: ".$file_size); - set_time_limit(0); - $uncompressed_file = readgzfile($gzip_file); - - if($uncompressed_file){ - return true; - } else { - return false; - } - - -} diff --git a/www/functions/notused/func_folder.php b/www/functions/notused/func_folder.php deleted file mode 100644 index 044fd8e..0000000 --- a/www/functions/notused/func_folder.php +++ /dev/null @@ -1,162 +0,0 @@ -<?php - -function database_mkdir($db, $file_id, $new_folder_name, $share){ - if($db->exec(" - BEGIN TRANSACTION; - INSERT INTO files (id, parent, owner, name, folder, size, share, hash) VALUES (Null, " . $file_id . ", " . $_SESSION['userid'] . ", '" . SQLite3::escapeString($new_folder_name) . "', 'DIRECTORY', 0, '" . SQLite3::escapeString($share) . "', ''); - COMMIT; - ")){ - return true; - } else { - return false; - } -} - -function create_folder($path, $new_folder_name, $share){ - - $db = $GLOBALS["db"]; - - if(!$_SESSION["login"]){ - return MKDIR_LOGIN; - } - - $file_id = select_file_id($db, $_SESSION["userid"], $path); - - $owner_db = $db->query("SELECT owner FROM files WHERE id=" . SQLite3::escapeString($file_id) . ";"); - $owner_ar = $owner_db->fetchArray(SQLITE3_NUM); - - if($owner_ar[0] != $_SESSION["userid"]){ - return MKDIR_OWNER; - } - - //TODO: Cut trailing or leading slash - //TODO: Maye create two folders instead of returning an error? - if(preg_match("/\//", $new_folder_name)){ - return SLASH_IN_FOLDER_NAME; - } - - $dupl_db = $db->query("SELECT parent FROM files WHERE name='" . SQLite3::escapeString($new_folder_name) . "' AND owner=".$_SESSION["userid"].";"); - while($dupl_ar = $dupl_db->fetchArray(SQLITE3_NUM)){ - if($dupl_ar[0] == $file_id){ - return MKDIR_DUPLICATE; - } - } - - if(database_mkdir($db, $file_id, $new_folder_name, $share)){ - return MKDIR_SUCCESS; - } else { - return MKDIR_DATABASE; - } -} - -function move_folder($old_path, $new_path){ - - if(!$_SESSION["login"]){ - return NOT_LOGED_IN; - } - - $db = $GLOBALS["db"]; - $old_file_id = select_file_id($db, $_SESSION["userid"], $old_path); - $new_file_id = select_file_id($db, $_SESSION["userid"], $new_path); - - $old_folder_owner_db = $db->query("SELECT owner FROM files WHERE id=".$old_file_id.";"); - $old_folder_owner_ar = $old_folder_owner_db->fetchArray(SQLITE3_NUM); - - if($_SESSION["userid"] != $old_folder_owner_ar[0]){ - return MV_OLD_FOLDER_NOT_OWNER; - } - - if(!$new_file_id){ - return MV_FOLDER_TARGET_NOT_EXIST; - } - - $new_folder_owner_db = $db->query("SELECT owner FROM files WHERE id=".$new_file_id.";"); - $new_folder_owner_ar = $new_folder_owner_db->fetchArray(SQLITE3_NUM); - - if($_SESSION["userid"] != $new_folder_owner_ar[0]){ - return MV_NEW_FOLDER_NOT_OWNER; } - - if($db->exec(" - BEGIN TRANSACTION; - UPDATE files SET parent=".$new_file_id." WHERE id=".$old_file_id."; - COMMIT; - ")){ - return MV_FOLDER_SUCCESS; - } else { - return MV_FOLDER_DATABASE; - } -} - -function rename_folder($path, $new_name){ - if(!$_SESSION["login"]){ - return NOT_LOGED_IN; - } - - $db = $GLOBALS["db"]; - - $file_id = select_file_id($db, $_SESSION["username"], $path); - - $folder_owner_db = $db->query("SELECT owner FROM fiiles where id=".$file_id.";"); - $folder_owner_ar = $folder_owner_db->fetchArray(SQLITE3_NUM); - - if($folder_owner_ar[0] != $_SESSION["userid"]){ - return FOLDER_NOT_OWNER; - } - - if(preg_match("/\//", $new_name)){ - return SLASH_IN_FOLDER_NAME; - } - - $dupl_db = $db->query("SELECT parent FROM files WHERE name='" . SQLite3::escapeString($new_name) . "' AND owner=".$_SESSION["userid"].";"); - while($dupl_ar = $dupl_db->fetchArray(SQLITE3_NUM)){ - if($dupl_ar[0] == $file_id){ - return MKDIR_DUPLICATE; - } - } - - if($db->exec(" - BEGIN TRANSACTION; - UPDATE files SET name='".SQLite3::escapeString($new_name)."' WHERE id=".$file_id."; - COMMIT; - ")){ - return true; - } else { - return DATABASE; - } -} - -function generate_download_link($file_id){ - - if(!$_SESSION["login"]){ - return NOT_LOGED_IN; - } - - $db = $GLOBALS["db"]; - - $folder_owner_db = $db->query("SELECT owner FROM files where id=".$file_id.";"); - $folder_owner_ar = $folder_owner_db->fetchArray(SQLITE3_NUM); - - if($folder_owner_ar[0] != $_SESSION["userid"]){ - return FOLDER_NOT_OWNER; - } - - $key_array = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "_", "-", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" ); - - $length = count($key_array); - $key = ""; - - for ($i=0;$i<21;$i++){ - $index = mt_rand(0,$length-1); - $key = $key.$key_array[$index]; - } - - if($db->exec(" - BEGIN TRANSACTION; - UPDATE files SET download_link='".$key."' WHERE id=".$file_id."; - COMMIT; - ")){ - return $key; - } else { - return DATABASE; - } -} diff --git a/www/functions/notused/func_invite.php b/www/functions/notused/func_invite.php deleted file mode 100755 index d7613d5..0000000 --- a/www/functions/notused/func_invite.php +++ /dev/null @@ -1,62 +0,0 @@ -<?php -function invite($db){ - - $name=$_SESSION["username"]; - $safe_name = SQLite3::escapeString("$name"); - - $email=$_POST["email"]; - $safe_email=SQLite3::escapeString("$email"); - - $invite_db = $db->query("SELECT invites FROM user WHERE name='" . $safe_name . "';"); - $invite_ar = $invite_db->fetchArray(SQLITE3_NUM); - $invite = $invite_ar[0]; - - if($invite <= 0){ - return INVITE_INVITES; - } - - $email_db = $db->query("Select 1 FROM user WHERE email='" . $safe_email . "';"); - $email_ar = $email_db->fetchArray(SQLITE3_NUM); - - if($email_ar[0] == 1){ - return INVITE_USEREXISTS; - } - - /*Generates the invite key => [-_0-9a-zA-Z]{11}*/ - - $key_array = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "_", "-", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" ); - - $length = count($key_array); - $key = ""; - - for ($i=0;$i<11;$i++){ - $index = mt_rand(0,$length-1); - $key = "$key".$key_array[$index]; - } - - $id_db = $db->query("SELECT id FROM USER WHERE name='" . $safe_name . "';"); - $id_ar = $id_db->fetchArray(SQLITE3_NUM); - $id = $id_ar[0]; - - /*Generates the new user and decrease the invites*/ - - $invite = $invite-1; - - if($db->exec(" - BEGIN TRANSACTION; - INSERT INTO user (id, name, email, senpai, key, status) VALUES (NULL, NULL, '" . $safe_email . "', '" . $id . "', '" . $key . "', 0); - UPDATE user SET invites='" . $invite . "' WHERE id='" . $id . "'; - COMMIT;") - ){ - - $subject="Welcome, you were invited to the new virtual filesystem.\nYour key is " . $key . "\nVisit files.iamfabulous.de/register to complete your registration."; - - // Doesn't work with GMX or Web.de atm. - mail($email, "Invite", $subject, "From: mail@iamfabulous.de"); - - return INVITE_SUCCESSFULL; - - } else { - return INVITE_DATABASE; - } -} diff --git a/www/functions/notused/func_rewrite.php b/www/functions/notused/func_rewrite.php deleted file mode 100755 index 0a123d6..0000000 --- a/www/functions/notused/func_rewrite.php +++ /dev/null @@ -1,30 +0,0 @@ -<?php -function rewrite($db){ - - /* test if first argument a username or folder */ - - $name = user_id($db, $_GET["name"]); - - if($name == ""){ - - /* if first argument wasn't valid, rewrite the URL to include the username */ - - $folder = $_GET["folder"]; - - if(preg_match("/\/$/", $_GET["folder"])){ - $folder = substr($_GET["folder"], 0, -1); - } - - if($_SESSION["login"]){ - $scheme = $GLOBALS["scheme"]; - header("Refresh: 0; ".$scheme.$_SERVER["HTTP_HOST"]."/" . $_SESSION['username'] . "/" . $_GET["name"] . "/" . $folder . ""); - exit; - } - - return false; - - } else { - return true; - } -} - diff --git a/www/functions/notused/func_select.php b/www/functions/notused/func_select.php deleted file mode 100755 index 9f10cd6..0000000 --- a/www/functions/notused/func_select.php +++ /dev/null @@ -1,62 +0,0 @@ -<?php -function select_file_id($db, $owner, $folder_path){ - - if($_SESSION["login"] && $_SESSION["userid"] == $owner){ // TODO: Check if loged in user really the user who does the query - fix 12.3.14 - $share=""; // to print all files, even hidden ones - } else { - $share =" AND share='PUBLIC'"; // just use files with the correct permissions - } - - $folder_array_unsafe = explode("/",$folder_path); - - $root_db = $db->query("SELECT id FROM files WHERE parent=0 AND owner=" . SQLite3::escapeString($owner) . " AND folder='DIRECTORY' " . $share . ";"); - $root_ar = $root_db->fetchArray(SQLITE3_NUM); - $root_id = $root_ar[0]; - if(empty($root_ar[0])){ - failure("Seems like the user doesn't want to show his tree: " . $root_id); - } - - $tmp_length = count($folder_array_unsafe); - - if(empty($folder_array_unsafe[$tmp_length-1])){ - $length = $tmp_length-1; - } else { - $length = $tmp_length; - } - - $parentdir = SQLite3::escapeString($root_id); - - if(empty($folder_array_unsafe[0])){ - return $root_id; // returns the primary key from the root dir - } - - for($i=0; $i<$length; $i++){ - - $parentdir_db = $db->query("SELECT id, parent FROM files WHERE owner=" . $owner . $share . " AND parent=" . $parentdir . " AND name='" . SQLite3::escapeString($folder_array_unsafe[$i]) . "' COLLATE NOCASE;"); - - $prim_id = $parentdir_db->fetchArray(SQLITE3_NUM); - - - if($parentdir != $prim_id[1]){ - -/* - $wrong_folder = $folder_array_unsafe[$i]; - $working_path[0] = $wrong_folder; - - for($j=0; $j<$i; $j++){ - $working_path[$j] = $folder_array_unsafe[$j]; - } - - get_404($working_path, $wrong_folder); -*/ - - return false; - } - - - $parentdir = $prim_id[0]; - } - - return $parentdir; // returns the primary key from the last entry in the folder array - -} diff --git a/www/functions/notused/func_upload.php b/www/functions/notused/func_upload.php deleted file mode 100755 index 31fe304..0000000 --- a/www/functions/notused/func_upload.php +++ /dev/null @@ -1,192 +0,0 @@ -<?php - -function database_upload($db, $parentdir, $owner, $filename, $folder, $mime, $size, $share, $filehash){ - if($db->exec(" - BEGIN TRANSACTION; - INSERT INTO files (id, parent, owner, name, folder, mime, size, share, hash) VALUES (NULL, " . $parentdir . ", " . $owner . ", '" . $filename . "', '" . $folder . "', '" . $mime . "', '" . $size . "', '" . $share ."', '" . $filehash . "'); - COMMIT; - ")){ - return true; - } else { - return false; - } -} - -function database_upload_update($db, $id, $name, $mime, $size, $share, $filehash){ - if($db->exec(" - BEGIN TRANSACTION; - UPDATE files SET name='".$name."', mime='".$mime."', size='".$size."', share='".$share."', hash='".$filehash."' WHERE id=".$id."; - COMMIT; - ")){ - return true; - } else { - return false; - } -} - -function upload($path){ - - $db = $GLOBALS["db"]; - - set_time_limit(0); - - if(!$_SESSION["login"]){ - return UPLOAD_LOGIN; - } - - if($_FILES["userfile"]["error"] > 0 || !$_FILES['userfile']['size'] > 0 || empty($_FILES['userfile']['size'])){ - return UPLOAD_UPLOAD; - } - - $parentdir = select_file_id($db, $_SESSION["userid"], $path); - - $folder_owner_db = $db->query("SELECT owner FROM files WHERE id=".$parentdir.";"); - $folder_owner_ar = $folder_owner_db->fetchArray(SQLITE3_NUM); - - if($folder_owner_ar[0] != $_SESSION["userid"]){ - return UPLOAD_FOLDER_NOT_OWNER; - } - - $owner = $_SESSION["userid"]; - - $overall_size_db = $db->query("SELECT size FROM files WHERE owner=" . $owner . " AND size > 0;"); - $overall_size = 0; - while($row = $overall_size_db->fetchArray(SQLITE3_NUM)){ - $overall_size = $overall_size + $row[0]; - } - - if($overall_size > 2147483648){ // == 2GB - return UPLOAD_QUOTA; - } - - $filename = $_FILES['userfile']['name']; - - $folder = "FILE"; - $mime = $_FILES['userfile']['type']; - $size = $_FILES['userfile']['size']; - - if(isset($_POST["share"])){ - $share = "PUBLIC"; - } else { - $share = "PRIVATE"; - } - - $uploaddir = "../files/"; - - //$filehash = hash_file("md5", $uploaddir . $filename); - $filehash = hash_file("md5", $_FILES['userfile']['tmp_name']); - - $exists = false; - $check_if_filename_already_exists_db = $db->query("SELECT id, name FROM files WHERE parent=".$parentdir." AND folder='FILE'"); - - while($row = $check_if_filename_already_exists_db->fetchArray(SQLITE3_NUM)){ - if($row[1] == $filename){ - $fileid = $row[0]; - $exists = true; - break; - } - } - - $hashtest_db = $db->query("SELECT hash FROM files WHERE hash='" . $filehash ."';"); - $hashtest_ar = $hashtest_db->fetchArray(SQLITE3_NUM); - - /* new file was uploaded */ - if(empty($hashtest_ar[0])){ - - if(!move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])){ - return UPLOAD_MOVING; - } - - /* checks if filename exists in the same directory */ - if($exists){ - $delete_file_db = $db->query("SELECT hash FROM files WHERE name='".$filename."' AND parent='".$parentdir."';"); - $delete_file_ar = $delete_file_db->fetchArray(SQLITE3_NUM); - - if(check_if_deletable($db, $fileid, $delete_file_ar[0])){ - - if(!unlink($uploaddir.$delete_file_ar[0].".gz")){ - return UPLOAD_FILE_HANDLING; - } - } - if(!database_upload_update($db, $fileid, $filename, $mime, $size, $share, $filehash)){ - return UPLOAD_DATABASE; - } - } else { - if(!database_upload($db, $parentdir, $owner, $filename, $folder, $mime, $size, $share, $filehash)){ - return UPLOAD_DATABASE; - } - } - - $gzfile = $uploaddir . $filehash . ".gz"; - $fp = gzopen($gzfile, 'w9'); - - if(!gzwrite($fp, file_get_contents($uploaddir . $filename))){ - return UPLOAD_FILE_HANDLING; - } - - if(!gzclose($fp)){ - return UPLOAD_FILE_HANDLING; - } - - if(!unlink($uploaddir . $filename)){ - return UPLOAD_FILE_HANDLING; - } - - return UPLOAD_SUCCESS; - - /* new file already exists, only thing is a new entry in the database */ - } else { - - $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){ - if($mime == $row[1] && $size == $row[2] && $share == $row[3] && $filename == $row[4]){ - return UPLOAD_DUPLICATE; - } - } - } - - if($exists){ - $delete_file_db = $db->query("SELECT hash FROM files WHERE name='".$filename."' AND parent='".$parentdir."';"); - $delete_file_ar = $delete_file_db->fetchArray(SQLITE3_NUM); - - if(check_if_deletable($db, $fileid, $delete_file_ar[0])){ - if(!unlink($uploaddir.$delete_file_ar[0].".gz")){ - return UPLOAD_FILE_HANDLING; - } - } - if(!database_upload_update($db, $fileid, $filename, $mime, $size, $share, $filehash)){ - return UPLOAD_DATABASE; - } - } else { - if(!database_upload($db, $parentdir, $owner, $filename, $folder, $mime, $size, $share, $filehash)){ - return UPLOAD_DATABASE; - } - } - - if(!unlink($_FILES['userfile']['tmp_name'])){ - return UPLOAD_FILE_HANDLING; - } - - return UPLOAD_SUCCESS; - } -} - -//not used atm - -//function web_upload($db){ -// $url = $_POST["url"]; -// if(!preg_match("/^((https?|ftp)?://|www\.|ftp\.)?([-a-z0-9+&@#/%?=~_|!:,.;]+\.)+[a-z]{2}[a-z]*/i", $url)){ -// echo "no hyperlink"; -// return false; -// } -// if(!preg_match("/^[a-zA-Z]+://", $url){ -// $url = "http://".$url; -// } -// $file = file_get_contents($url); -// if(!$file){ -// echo "Couldn't download ".$url; -// return false; -// } -//} |
