aboutsummaryrefslogtreecommitdiff
path: root/handler/admin/Uploads.php
diff options
context:
space:
mode:
authorEvgeny Zinoviev <me@ch1p.io>2024-01-31 06:11:00 +0300
committerEvgeny Zinoviev <me@ch1p.io>2024-01-31 20:45:40 +0300
commitc0dc531ebefd8912819f3b6c8bda1fed3c7e750c (patch)
tree2c75aa9df182260aef09faf4befd81a4c2b9c5e2 /handler/admin/Uploads.php
parent48d688cdf7f9eae1bf11b8a6f0e5b98687c604cb (diff)
make it simple, but not simpler
Diffstat (limited to 'handler/admin/Uploads.php')
-rw-r--r--handler/admin/Uploads.php73
1 files changed, 0 insertions, 73 deletions
diff --git a/handler/admin/Uploads.php b/handler/admin/Uploads.php
deleted file mode 100644
index 0cbb2f6..0000000
--- a/handler/admin/Uploads.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-namespace handler\admin;
-
-use csrf;
-use RedirectResponse;
-use Response;
-
-// So it's 2022 outside, and it's PHP 8.1 already, which is actually so cool comparing to 5.x and even 7.4, but...
-// ...class names are still case-insensitive?!! And I can't import \uploads because it's the same as Uploads?!!
-//
-// PHP, what the fuck is wrong with you?!
-
-class Uploads extends AdminRequestHandler {
-
- public function get(): Response {
- list($error) = $this->input('error');
- $uploads = \uploads::getAll();
-
- $this->skin->title = ($this->lang)('blog_upload');
- return $this->skin->renderPage('admin/uploads',
- error: $error,
- uploads: $uploads);
- }
-
- public function post(): Response {
- csrf::check('addupl');
-
- list($custom_name, $note) = $this->input('name, note');
-
- if (!isset($_FILES['files']))
- return new RedirectResponse('/uploads/?error='.urlencode('no file'));
-
- $files = [];
- for ($i = 0; $i < count($_FILES['files']['name']); $i++) {
- $files[] = [
- 'name' => $_FILES['files']['name'][$i],
- 'type' => $_FILES['files']['type'][$i],
- 'tmp_name' => $_FILES['files']['tmp_name'][$i],
- 'error' => $_FILES['files']['error'][$i],
- 'size' => $_FILES['files']['size'][$i],
- ];
- }
-
- if (count($files) > 1) {
- $note = '';
- $custom_name = '';
- }
-
- foreach ($files as $f) {
- if ($f['error'])
- return new RedirectResponse('/uploads/?error='.urlencode('error code '.$f['error']));
-
- if (!$f['size'])
- return new RedirectResponse('/uploads/?error='.urlencode('received empty file'));
-
- $ext = extension($f['name']);
- if (!\uploads::isExtensionAllowed($ext))
- return new RedirectResponse('/uploads/?error='.urlencode('extension not allowed'));
-
- $upload_id = \uploads::add(
- $f['tmp_name'],
- $custom_name ?: $f['name'],
- $note);
-
- if (!$upload_id)
- return new RedirectResponse('/uploads/?error='.urlencode('failed to create upload'));
- }
-
- return new RedirectResponse('/uploads/');
- }
-
-} \ No newline at end of file