diff options
| author | Mandragorat Wandystanu <wktir@wandystan.eu> | 2017-11-17 20:29:47 +0100 |
|---|---|---|
| committer | Mandragorat Wandystanu <wktir@wandystan.eu> | 2017-11-17 20:29:47 +0100 |
| commit | 66561d4b4fe195b81446c94bdbfdcda4fb7167f7 (patch) | |
| tree | d5a272226ddc6d9f7d4fddd58415b5002e6db6ea /static/php/upload.php | |
| parent | 3e048a0f2a1e04e30dbe0bff63f24684ed470f40 (diff) | |
Allow users to upload files only when they're logged in to SSW.
Diffstat (limited to 'static/php/upload.php')
| -rw-r--r-- | static/php/upload.php | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/static/php/upload.php b/static/php/upload.php index 1bc74c9..9bb9d3f 100644 --- a/static/php/upload.php +++ b/static/php/upload.php @@ -1,11 +1,10 @@ <?php -session_start(); - /** * Handles POST uploads, generates filenames, moves files around and commits * uploaded metadata to database. */ +require_once 'classes/Login.class.php'; require_once 'classes/Response.class.php'; require_once 'classes/UploadException.class.php'; require_once 'classes/UploadedFile.class.php'; @@ -206,20 +205,26 @@ function refiles($files) return $result; } +$login = new Login(); + $type = isset($_GET['output']) ? $_GET['output'] : 'json'; $response = new Response($type); -if (isset($_FILES['files'])) { - $uploads = refiles($_FILES['files']); +if ($login->isLoggedIn()) { + if (isset($_FILES['files'])) { + $uploads = refiles($_FILES['files']); - try { - foreach ($uploads as $upload) { - $res[] = uploadFile($upload); + try { + foreach ($uploads as $upload) { + $res[] = uploadFile($upload); + } + $response->send($res); + } catch (Exception $e) { + $response->error($e->getCode(), $e->getMessage()); } - $response->send($res); - } catch (Exception $e) { - $response->error($e->getCode(), $e->getMessage()); + } else { + $response->error(400, 'No input file(s)'); } } else { - $response->error(400, 'No input file(s)'); + $response->error(403, 'You are not logged in'); } |
