summaryrefslogtreecommitdiff
path: root/www/functions
diff options
context:
space:
mode:
authormoehm2014-03-27 19:21:18 +0100
committermoehm2014-03-27 19:21:18 +0100
commited5dabd4df988f63d300fa4ed6cc388990b0fdfb (patch)
tree950e9187234391550c784604a8cb659105000313 /www/functions
parent2310c2e3cb4cf9b724ef065fcb8543a60d0ff280 (diff)
parenta35197cefeb2dae3e3688eec5762824263d16f0c (diff)
downloadfiles.iamfabulous.de-ed5dabd4df988f63d300fa4ed6cc388990b0fdfb.tar.gz
Merge branch 'master' of git.iamfabulous.de:files.iamfabulous.de
Diffstat (limited to 'www/functions')
-rw-r--r--www/functions/func_folder.php4
-rwxr-xr-xwww/functions/func_rewrite.php2
-rwxr-xr-xwww/functions/func_select.php2
-rwxr-xr-xwww/functions/func_upload.php39
4 files changed, 17 insertions, 30 deletions
diff --git a/www/functions/func_folder.php b/www/functions/func_folder.php
index ab77a1c..636b743 100644
--- a/www/functions/func_folder.php
+++ b/www/functions/func_folder.php
@@ -1,6 +1,6 @@
<?php
-function database_mkdir($file_id, $new_folder_name, $share){
+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) . "', '');
@@ -42,7 +42,7 @@ function create_folder($path, $new_folder_name, $share){
}
}
- if(database_mkdir($file_id, $new_folder_name, $share)){
+ if(database_mkdir($db, $file_id, $new_folder_name, $share)){
return MKDIR_SUCCESS;
} else {
return MKDIR_DATABASE;
diff --git a/www/functions/func_rewrite.php b/www/functions/func_rewrite.php
index d9f694d..0a123d6 100755
--- a/www/functions/func_rewrite.php
+++ b/www/functions/func_rewrite.php
@@ -16,7 +16,9 @@ function rewrite($db){
}
if($_SESSION["login"]){
+ $scheme = $GLOBALS["scheme"];
header("Refresh: 0; ".$scheme.$_SERVER["HTTP_HOST"]."/" . $_SESSION['username'] . "/" . $_GET["name"] . "/" . $folder . "");
+ exit;
}
return false;
diff --git a/www/functions/func_select.php b/www/functions/func_select.php
index ae76121..9f10cd6 100755
--- a/www/functions/func_select.php
+++ b/www/functions/func_select.php
@@ -32,7 +32,7 @@ function select_file_id($db, $owner, $folder_path){
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]) . "' COLLATE NOCASE;");
$prim_id = $parentdir_db->fetchArray(SQLITE3_NUM);
diff --git a/www/functions/func_upload.php b/www/functions/func_upload.php
index eb3061b..c8ef93a 100755
--- a/www/functions/func_upload.php
+++ b/www/functions/func_upload.php
@@ -1,20 +1,5 @@
<?php
-/* This was tested with this interface, where PWD the primary key from the working directory is:
-
-UPDATE 26.3. : Should now accept the path as an argument.
-
-<!DOCTYPE html>
-<form method='post' action='/upload.php' enctype="multipart/form-data">
-<p>File :<input name="userfile" type="file" size="500000000" maxlength="100000000000000"></p>
-
-<p>PWD: <input type='text' name='path'></p>
-<p>Share: <input type='text' name='share'>
-<p><input type='submit' name='submit' value='upload'></p>
-</form>
-
-*/
-
function database_upload($db, $parentdir, $owner, $filename, $folder, $mime, $size, $share, $filehash){
if($db->exec("
BEGIN TRANSACTION;
@@ -27,7 +12,9 @@ function database_upload($db, $parentdir, $owner, $filename, $folder, $mime, $si
}
}
-function upload($db){
+function upload($path){
+
+ $db = $GLOBALS["db"];
set_time_limit(0);
@@ -39,11 +26,7 @@ function upload($db){
return UPLOAD_UPLOAD;
}
- $parentdir = select_file_id($db, $_SESSION["userid"], $_POST["path"]);
- //$parentdir = SQLite3::escapeString("$_POST[pwd]");
- if(!preg_match("/[0-9]+/", $parentdir)){
- return UPLOAD_PARENTFOLDER;
- }
+ $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);
@@ -52,10 +35,7 @@ function upload($db){
return UPLOAD_FOLDER_NOT_OWNER;
}
- $ownername = SQLite3::escapeString($_SESSION['username']);
- $owner_db = $db->query("SELECT id FROM user WHERE name='" . $ownername . "';");
- $owner_ar = $owner_db->fetchArray(SQLITE3_NUM);
- $owner = $owner_ar[0];
+ $owner = $_SESSION["userid"];
$overall_size_db = $db->query("SELECT size FROM files WHERE owner=" . $owner . " AND size > 0;");
$overall_size = 0;
@@ -64,7 +44,7 @@ function upload($db){
$overall_size = $overall_size + $row[$count];
$count++;
}
-
+
if($overall_size > 2147483648){ // == 2GB
return UPLOAD_QUOTA;
}
@@ -73,7 +53,12 @@ function upload($db){
$folder = "FILE";
$mime = $_FILES['userfile']['type'];
$size = $_FILES['userfile']['size'];
- $share = SQLite3::escapeString($_POST['share']);
+
+ if(isset($_POST["share"])){
+ $share = "PUBLIC";
+ } else {
+ $share = "PRIVATE";
+ }
$uploaddir = "../files/";