]> jfr.im git - uguu.git/blobdiff - src/static/php/upload.php
1.7.0
[uguu.git] / src / static / php / upload.php
index 698cf1ed37e7b212844093fc6a67945822cac53b..7d73373b05899d1bdb96f964b337d5da63f6f7b1 100644 (file)
@@ -1,9 +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\Upload;
     use Pomf\Uguu\Classes\Response;
-
-    /**
-     * It takes a string and an array as arguments, creates a new Upload object,
-     * calls the reFiles method on the Upload object, calls the fingerPrint method on
-     * the Upload object, calls the uploadFile method on the Upload object,
-     * calls the send method on the Upload object, and calls the error method on the
-     * Upload object
-     *
-     * @param $outputFormat string The format of the output, json or xml
-     * @param $files        array The file to be uploaded, which is an array.
-     *
-     * @throws \Exception
-     */
-function handleFile(string $outputFormat, array $files): void
-{
-    $fCount = count($files['size']);
-    $upload = new Upload($outputFormat);
-    $files = $upload->reFiles($files);
-    try {
+    
+    function handleFiles(string $outputFormat, array $files):void
+    {
+        $upload = new Upload($outputFormat);
+        $files = $upload->reFiles($files);
+        $fCount = count($files);
         $upload->fingerPrint($fCount);
         $res = [];
-        foreach ($files as $ignored) {
+        $i = 0;
+        while ($i < $fCount) {
             $res[] = $upload->uploadFile();
+            $i++;
         }
         if (!empty($res)) {
             $upload->send($res);
         }
-    } catch (Exception $e) {
-        $upload->error(500, $e->getMessage());
     }
-}
-
+    
     $response = new Response('json');
-
-if (!isset($_FILES['files']) or empty($_FILES['files'])) {
-    $response->error(400, 'No input file(s)');
-}
-if (isset($_GET['output']) and !empty($_GET['output'])) {
-    $resType = strtolower(preg_replace('/[^a-zA-Z]/', '', $_GET['output']));
-} else {
-    $resType = 'json';
-}
-
-try {
-    handleFile($resType, $_FILES['files']);
-} catch (Exception $e) {
-    $response->error($e->getCode(), $e->getMessage());
-}
+    $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