diff options
| author | Horus3 | 2014-03-18 00:14:37 +0100 |
|---|---|---|
| committer | Horus3 | 2014-03-18 00:14:37 +0100 |
| commit | faa66b350b7c95701654cae59583761feaeeb3d3 (patch) | |
| tree | deb5b984698b3bfb72edfdf6a9f0f263e63d5cdd /www/upload.php | |
| parent | 46786c1703474776d74ba67eb01eb484f3c8b646 (diff) | |
| download | files.iamfabulous.de-faa66b350b7c95701654cae59583761feaeeb3d3.tar.gz | |
func upload()
Diffstat (limited to 'www/upload.php')
| -rwxr-xr-x | www/upload.php | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/www/upload.php b/www/upload.php deleted file mode 100755 index 4cc056c..0000000 --- a/www/upload.php +++ /dev/null @@ -1,122 +0,0 @@ -<?php - -session_start(); - -$db = new SQLite3("../database/sqlite.db"); - -function error($reason){ - echo "Failure! <br>"; - echo $reason; - exit; -} - -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 upload($db){ - - if(!$_SESSION["login"]){ - error("Operation not permitted."); - exit; - } - - if($_FILES["userfile"]["error"] > 0 || !$_FILES['userfile']['size'] > 0 || empty($_FILES['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]; - - $overall_size_db = $db->query("SELECT size FROM files WHERE owner=" . $owner . " AND size > 0;"); - $overall_size = 0; - $count = 0; - while($row = $overall_size_db->fetchArray(SQLITE3_NUM)){ - $overall_size = $overall_size + $row[$count]; - $count++; - } - - if($overall_size > 2147483648){ // == 2GB - error("Quota exceeded"); - } - - $filename = $_FILES['userfile']['name']; - $folder = "FILE"; - $mime = $_FILES['userfile']['type']; - $size = $_FILES['userfile']['size']; - $share = SQLite3::escapeString($_POST['share']); - - $uploaddir = "../files/"; - - //$filehash = hash_file("md5", $uploaddir . $filename); - $filehash = hash_file("md5", $_FILES['userfile']['tmp_name']); - - $hashtest_db = $db->query("SELECT hash FROM files WHERE hash='" . $filehash ."';"); - $hashtest_ar = $hashtest_ar->fetchArray(SQLITE3_NUM); - if(empty($hashtest_ar)){ - - if(move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])){ - - if(database_upload($db, $parentdir, $owner, $filename, $folder, $mime, $size, $share, $filehash)){ - $gzfile = $uploaddir . $filehash . ".gz"; - $fp = gzopen($gzfile, 'w9'); - - if(!gzwrite($fp, file_get_contents($uploaddir . $filename))){ - error("Something wrong writh the intern file handling."); - } - - if(!gzclose($fp)){ - error("Something wrong writh the intern file handling."); - } - - if(!unlink($uploaddir . $filename)){ - error("Something wrong writh the intern file handling."); - } - - echo "Success!"; - - } else { - error("Database error."); - } - - } else { - error("Moving failed."); - } - } else { - if(database_upload($db, $parentdir, $owner, $filename, $folder, $mime, $size, $share, $filehash)){ - - if(!unlink($_FILES['userfile']['tmp_name'])){ - error("Something wrong writh the intern file handling."); - } - echo "Success!"; - - } else { - error("Database error."); - } - } -} - -function web_upload($db){ // no use atm - $url = ; - if(preg_match("/^((https?|ftp)?://|www\.|ftp\.)?([-a-z0-9+&@#/%?=~_|!:,.;]+\.)+[a-z]{2}[a-z]*/i", $url)){ - echo "hyperlink detected"; - } else { - echo "no hyperlink"; - } -} -upload($db); |
