aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Vitkov <alexvitkov98@gmail.com>2021-02-15 14:47:37 +0200
committerAlex Vitkov <alexvitkov98@gmail.com>2021-02-15 14:47:37 +0200
commit7fe813121b2e6d95ad6e86eeaf12ed58dc2ff729 (patch)
tree4088b7f5ca5b1368794a81032ea52ae221c2287f
parent8b1406ede7389c9e50fa0c095be7a8524d265c8c (diff)
parent7532e744e0be43657cafffce171f875ffe94fc3f (diff)
downloadfileup-7fe813121b2e6d95ad6e86eeaf12ed58dc2ff729.tar.gz
Merge branch 'master' of https://github.com/alexvitkov/india
-rw-r--r--INIT_DATABASE.sql16
-rw-r--r--php/upload.php23
2 files changed, 34 insertions, 5 deletions
diff --git a/INIT_DATABASE.sql b/INIT_DATABASE.sql
index 2d772e4..5499de1 100644
--- a/INIT_DATABASE.sql
+++ b/INIT_DATABASE.sql
@@ -9,6 +9,7 @@ drop table if exists trash;
drop table if exists super_trash;
drop table if exists shared_nodes;
drop table if exists nodes;
+drop table if exists email_verification_codes;
@@ -18,6 +19,7 @@ drop trigger if exists del_node;
drop trigger if exists supper_del_node;
+drop view if exists usernames;
@@ -76,6 +78,14 @@ create table super_trash (
node_id int not null
);
+create table email_verification_codes (
+ verification_id int not null auto_increment,
+ verification_code varchar(100) not null,
+ username varchar(50) not null unique,
+ password varchar(255) not null,
+ email varchar(50),
+ primary key (verification_id)
+ );
create trigger delete_on_zero_links
after delete
@@ -113,4 +123,8 @@ create trigger delete_links
delete from node_links
where directory_id=old.node_id;
-
+create view usernames
+ as
+ select username from users
+ union
+ select username from email_verification_codes;
diff --git a/php/upload.php b/php/upload.php
index 04f2214..f3ef550 100644
--- a/php/upload.php
+++ b/php/upload.php
@@ -6,7 +6,9 @@ require_once "user.php";
require_once "node.php";
session_start();
-if (!isset( $_POST["filename"]) || !isset($_FILES["the_file"]) || !isset($_POST['parent_directory']) || !isset($_POST['overwrite']))
+if (!isset( $_POST["filename"]) ||
+ (!isset($_FILES["the_file"]) && (!isset($_POST['content']) || gettype($_POST['content'])!="string"))
+ || !isset($_POST['parent_directory']) || !isset($_POST['overwrite']))
{
error_log("someone tried to upload something impropperly");
http_response_code(400);
@@ -18,10 +20,17 @@ $filename=$_POST["filename"];
$parent_directory=$_POST["parent_directory"];
$user=$_SESSION['user_object'];
$homedir=$user->home_directory;
-$mimetype=file_type($file['tmp_name']);
$overwrite=$_POST['overwrite'];
$dir = get_directory($parent_directory, $user);
+
+if(isset($_POST['content']))
+{
+ $mimetype="text/plain";
+}else
+{
+ $mimetype=file_type($file['tmp_name']);
+}
if (!$dir)
{
error_log("trying to upload to invalid directory");
@@ -41,8 +50,14 @@ if($codename=="filename taken")
http_response_code(409);
exit(0);
}
-unlink("$storage_root/$codename");
-move_uploaded_file($file['tmp_name'], "$storage_root/$codename");
+if(isset($_POST['content']))
+{
+ file_put_contents("$storage_root/$codename",$_POST['content']);
+}else
+{
+ unlink("$storage_root/$codename");
+ move_uploaded_file($file['tmp_name'], "$storage_root/$codename");
+}
http_response_code(200);
exit(0);