summaryrefslogtreecommitdiff
path: root/www/functions
diff options
context:
space:
mode:
authorroot2014-03-21 19:25:02 +0100
committerroot2014-03-21 19:25:02 +0100
commit296d8a14511739a15327ffe30c0895cd3490e940 (patch)
tree2bd7d23df26374b99b3235366e267ed734eef2bf /www/functions
parent4611b609e81cce6ba1269707ff7f483d285bcec3 (diff)
downloadfiles.iamfabulous.de-296d8a14511739a15327ffe30c0895cd3490e940.tar.gz
Doesn't show private files anymore and trying to write a empty_folder function.
Diffstat (limited to 'www/functions')
-rwxr-xr-xwww/functions/func_content.php24
-rw-r--r--www/functions/func_download.php17
-rwxr-xr-xwww/functions/func_select.php19
3 files changed, 46 insertions, 14 deletions
diff --git a/www/functions/func_content.php b/www/functions/func_content.php
index e24ea34..8431c15 100755
--- a/www/functions/func_content.php
+++ b/www/functions/func_content.php
@@ -11,6 +11,8 @@ function collect_content($db,$username, $folder_path){
if(!$file_id){
print_empty_folder($db, $username, $folder_path);
+ echo "Empty folder";
+ exit;
}
$content = get_content($db, $file_id, $owner);
@@ -20,7 +22,13 @@ function collect_content($db,$username, $folder_path){
function get_content($db, $file_id, $owner){
- $content_db = $db->query("SELECT * FROM files WHERE parent=" . $file_id . " AND owner=" . $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 . ";");
$count=0;
@@ -46,27 +54,31 @@ function get_content($db, $file_id, $owner){
function get_path_to_empty_folder($db, $username, $folder_path){
+ $owner = user_id($db, $username);
+
if($_SESSION["login"] && $_SESSION["userid"] == $owner){
- if($_SESSION["login"] && $_SESSION["userid"] == $owner){}
+ $share = "";
} else {
- $share ="AND share='PUBLIC'";
+ $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 fo lder='DIRECTORY' " . $share . ";");
+ //echo "SELECT id FROM files WHERE parent=0 AND owner=" . SQLite3::escapeString($owner) . " AND folder='DIRECTORY' " . $share . ";"; exit;
+
+ $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[0])){
- return NOT_PUBLIC;
+ 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]) . "';");
+ $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]){
diff --git a/www/functions/func_download.php b/www/functions/func_download.php
index 26b2188..64ca335 100644
--- a/www/functions/func_download.php
+++ b/www/functions/func_download.php
@@ -11,14 +11,23 @@ function check_if_file($db, $name, $folder_path){
$file_id = select_file_id($db, $owner, $folder_path);
- $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($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;
+ 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");
+ exit;
return false;
}
+
}
diff --git a/www/functions/func_select.php b/www/functions/func_select.php
index af7b239..53f1fa6 100755
--- a/www/functions/func_select.php
+++ b/www/functions/func_select.php
@@ -8,7 +8,6 @@ function select_file_id($db, $owner, $folder_path){
}
$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);
@@ -16,24 +15,33 @@ function select_file_id($db, $owner, $folder_path){
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
}
+ //echo "Länge: ".$length." ".var_dump($folder_array_unsafe); exit;
+
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(empty($prim_id[0])){
- return $parentdir; //TODO; Return false because file not found
- }
if($parentdir != $prim_id[1]){
+/*
$wrong_folder = $folder_array_unsafe[$i];
$working_path[0] = $wrong_folder;
@@ -42,12 +50,15 @@ function select_file_id($db, $owner, $folder_path){
}
get_404($working_path, $wrong_folder);
+*/
return false;
}
$parentdir = $prim_id[0];
+ var_dump($parentdir); echo "func_select, during for";
}
+ //var_dump($parentdir); echo "func_select, after for"; exit;
return $parentdir; // returns the primary key from the last entry in the folder array
}