]> jfr.im git - uguu.git/blobdiff - src/static/php/upload.php
1.7.0
[uguu.git] / src / static / php / upload.php
index 3469b43bd93f667f7ad331b990fe18b7bc0ae9a1..7d73373b05899d1bdb96f964b337d5da63f6f7b1 100644 (file)
@@ -1,8 +1,9 @@
 <?php
+    
     /**
      * Uguu
      *
-     * @copyright Copyright (c) 2022 Go Johansson (nokonoko) <neku@pomf.se>
+     * @copyright Copyright (c) 2022-2023 Go Johansson (nokonoko) <neku@pomf.se>
      *
      * This program is free software: you can redistribute it and/or modify
      * it under the terms of the GNU General Public License as published by
      * You should have received a copy of the GNU General Public License
      * along with this program.  If not, see <https://www.gnu.org/licenses/>.
      */
-    
     require_once __DIR__ . '/../vendor/autoload.php';
     
-    use Pomf\Uguu\Classes\UploadGateway;
+    use Pomf\Uguu\Classes\Upload;
+    use Pomf\Uguu\Classes\Response;
     
-    try {
-        (new UploadGateway())->handleFile($_GET['output'], $_FILES['files']);
+    function handleFiles(string $outputFormat, array $files):void
+    {
+        $upload = new Upload($outputFormat);
+        $files = $upload->reFiles($files);
+        $fCount = count($files);
+        $upload->fingerPrint($fCount);
+        $res = [];
+        $i = 0;
+        while ($i < $fCount) {
+            $res[] = $upload->uploadFile();
+            $i++;
+        }
+        if (!empty($res)) {
+            $upload->send($res);
+        }
     }
-    catch (Exception $e) {
-        throw new Exception($e->getMessage(), 500);
+    
+    $response = new Response('json');
+    $resType = (isset($_GET['output']) and !empty($_GET['output'])) ? strtolower(preg_replace('/[^a-zA-Z]/', '', $_GET['output'])) : 'json';
+    if (!isset($_FILES['files']) or empty($_FILES['files'])) {
+        $response->error(400, 'No input file(s)');
     }
+    handleFiles($resType, $_FILES['files']);
\ No newline at end of file