summaryrefslogtreecommitdiff
path: root/www/upload.php
diff options
context:
space:
mode:
authorroot2014-03-10 18:08:08 +0100
committerroot2014-03-10 18:08:08 +0100
commit66b515b718fb2de57462c1aa172d89b94936cef5 (patch)
tree39f42e3b138af8e4ed5cdb8c613d50e9017082c1 /www/upload.php
parentba4a14efc9446942ffb0105bbe73756f5724280e (diff)
downloadfiles.iamfabulous.de-66b515b718fb2de57462c1aa172d89b94936cef5.tar.gz
file upload
Diffstat (limited to 'www/upload.php')
-rw-r--r--www/upload.php57
1 files changed, 57 insertions, 0 deletions
diff --git a/www/upload.php b/www/upload.php
new file mode 100644
index 0000000..cd8c3af
--- /dev/null
+++ b/www/upload.php
@@ -0,0 +1,57 @@
+<?
+
+function error($reason){
+ echo "Failure! <br>";
+ echo $reason;
+ exit;
+}
+
+function upload($db){
+
+ if(!$_SESSION["login"]){
+ error("Operation not permitted.");
+ exit;
+ }
+
+ if($_FILES["userfile"]["error"] > 0 || !$_FILE['userfile']['size'] > 0 || empty($_FILE['userfile']['size'])){
+ error("Error while proceding the upload: " . $_FILES['userfile']['error']);
+ }
+
+ $parentdir = SQLite3::escapeString("$_POST[pwd]");
+ if(!preg_match("/[0-9]+/", $parentdir)){
+ error("Invalid parent folder.");
+ }
+
+ $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];
+
+ $filename = $_FILE['userfile']['name'];
+ $folder = "FILE";
+ $mime = $_FILE['userfile']['type'];
+ $size = $_FILE['userfile']['size'];
+ $share = SQLite3::escapeString('$_POST[share]');
+
+ $uploaddir = "../files/";
+
+ if($db->exec("
+ BEGIN TRANSACTION;
+ INSERT INTO files (id, parent, owner, name, folder, mime, size, share) VALUES (NULL, " . $parentdir . ", " . $owner . ", '" . $filename . "', '" . $folder . "', '" . $mime . "', '" . $size . "', '" . $share ."');
+ COMMIT;
+ ")){
+ $id = SQLite3::lastInsertRowID();
+ if(move_uploaded_file($_FILE['userfile']['tmp_username'], $uploaddir . $_FILE['userfile']['name'])){
+ if(rename($uploaddir . $filename, $uploaddir . $id)){
+ echo "Success!";
+ } else {
+ echo "Failure!";
+ }
+
+ } else {
+ error("Upload failed");
+ exit;
+ }
+ }
+
+}