<?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';
- function checkConfig()
+ use Pomf\Uguu\Classes\Upload;
+ use Pomf\Uguu\Classes\Response;
+
+ function handleFiles(string $outputFormat, array $files):void
{
- if (!file_exists(__DIR__ . '../config.json')) {
- throw new Exception('Cant read settings file.', 500);
- }
- try {
- $settings = json_decode(
- file_get_contents(__DIR__ . '../config.json'),
- true,
- );
- if ($settings['PHP_ERRORS']) {
- error_reporting(E_ALL);
- ini_set('display_errors', 1);
- }
+ $upload = new Upload($outputFormat);
+ $files = $upload->reFiles($files);
+ $fCount = count($files);
+ $upload->fingerPrint($fCount);
+ $res = [];
+ foreach ($files as $f) {
+ $res[] = $upload->uploadFile($f);
}
- catch (Exception) {
- throw new Exception('Cant populate settings.', 500);
+ if (!empty($res)) {
+ $upload->send($res);
}
}
- checkConfig();
- require_once __DIR__ . '/../vendor/autoload.php';
-
- use Pomf\Uguu\UploadGateway;
-
- try {
- (new UploadGateway())->handleFile($_GET['output'], $_FILES['files']);
- }
- 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']);