session_start();
$db = new SQLite3("../database/sqlite.db");
function failure($reason){
echo "A 404 error occurred.
";
echo $reason;
exit;
}
if(!empty($_GET["name"])){
$user = $_GET["name"];
} else {
failure("No user found.");
}
$owner_db = $db->query("SELECT id FROM user WHERE name='" . SQLite3::escapeString($user) . "';");
$owner_ar = $owner_db->fetchArray(SQLITE3_NUM);
$owner = $owner_ar[0];
$folder_array_unsafe = explode("/",$_GET["folder"]);
$length = count($folder_array_unsafe);
$root_db = $db->query("SELECT id FROM files WHERE owner= " . $owner . "AND folder='DIRECTORY' AND share='PUBLIC' AND parent=0;");
$root_ar = $root_db->fetchArray(SQLITE3_NUM);
$root_id = $root_ar[0];
$parentdir = SQLite3::escapeString($root_id);
$temp_id = $root_id;
for($i=0; $i<$length; $i++){
$parentdir_db = $db->query("SELECT id, parent WHERE owner=" . $owner . "AND folder='DIRECTORY' AND share='PUBLIC' AND parent=" . $parentdir . " AND name='" . SQLite3::escapeString($folder_array_unsafe[$i] . "';");
if(empty($parentdir_db)){
failure("This folder doesn't exist.");
}
$parentdir_ar = $parentdir_db->fetchArray(SQLITE3_NUM);
if($temp_id != $parentdir_ar[1]){
failure("This folder doesn't exist.");
} else {
$temp_id = $parentdir_ar[0];
}
echo $folder_array_unsafe[$i];
echo "
";
}
/*
$count=0;
$result_db = $db->query("SELECT id, parent, name, share FROM files WHERE owner=$owner AND folder='DIRECTORY' AND share='PUBLIC';");
while($result[$count] = $result_db->fetchArray(SQLITE3_NUM)){
$count++;
}
echo "Found " . $count . " folder.
";
*/
/*
for($i=0;$i<$count;$i++){
echo "name: " . $result[$i][2] . "
";
for($j=0;$j < count($result[$i]); $j++){
echo "name: " . $result[$i][$j] . "
";
}
}
*/
/*
while($result[$count]=$result_db->fetchArray(SQLITE3_NUM)){
while(!empty($result)){
$dimension = count($result);
for($i=0;$i<$dimension;$i++){
echo "result: " . $result[$i][2] . " dimension: " . $dimension . " ";
$parentdir=$result[$i][0];
$result_db = $db->query("SELECT id, parent, name, share FROM files WHERE parent='$parentdir' AND owner=$owner AND folder='DIRECTORY' AND share='PUBLIC';");
$result[$count]=$result_db->fetchArray();
}
}
$count++;
}
*/
/*
function select_db ($db, $owner, $parentdir){
$result_db = $db->query("SELECT id, parent, name, share FROM files WHERE parent=$parentdir AND owner=$owner AND folder='DIRECTORY' AND share='PUBLIC';");
$count=0;
while ($result = $result_db->fetchArray()){
$array[$count]=$result; /*2D Array, an Stelle $count ist das $result Array mit Ergebnissen des SELECTs abgelegt*/
/* $count++;
}
return $array;
}
$row = select_db($db, $user, $parent);
$dimension = count($row);
echo "dimension: " . $dimension . "
";
for($i=0;$i<$dimension;$i++){
echo "length [$i]: " . count($row[$i]) . "
";
for($j=0;$j<4;$j++){
print_r($row[$i][$j]);
echo "
";
}
}
*/