diff --git a/Makefile b/Makefile index 6c87a9e..179d794 100644 --- a/Makefile +++ b/Makefile @@ -43,7 +43,7 @@ copy-img: copy-php: cp -v $(CURDIR)/src/static/php/*.php $(CURDIR)/build/php/ - cp -v $(CURDIR)/src/Classes/*.php $(CURDIR)/build/php/includes/Classes/ + cp -v $(CURDIR)/src/Classes/*.php $(CURDIR)/build/php/src/Classes/ install: installdirs cp -rv $(CURDIR)/build/* $(DESTDIR)/ @@ -100,5 +100,5 @@ purge-container: fi; builddirs: - mkdir -p $(CURDIR)/build $(CURDIR)/build/img $(CURDIR)/build/html $(CURDIR)/build/html/min $(CURDIR)/build/html/unmin $(CURDIR)/build/js $(CURDIR)/build/css $(CURDIR)/build/php $(CURDIR)/build/php/includes $(CURDIR)/build/php/includes/Classes $(CURDIR)/build/public + mkdir -p $(CURDIR)/build $(CURDIR)/build/img $(CURDIR)/build/html $(CURDIR)/build/html/min $(CURDIR)/build/html/unmin $(CURDIR)/build/js $(CURDIR)/build/css $(CURDIR)/build/php $(CURDIR)/build/php/src $(CURDIR)/build/php/src/Classes $(CURDIR)/build/public diff --git a/src/composer.json b/src/composer.json index e54a892..6c1a256 100644 --- a/src/composer.json +++ b/src/composer.json @@ -5,8 +5,8 @@ "license": "GPL-3.0", "autoload": { "psr-4": { - "Pomf\\Uguu\\": "/", - "Pomf\\Uguu\\Classes\\": "includes/Classes" + "Pomf\\Uguu\\": "src/", + "Pomf\\Uguu\\Classes\\": "src/Classes" } }, "authors": [ @@ -27,5 +27,9 @@ "friendsofphp/php-cs-fixer": "^v2.19.3", "phpstan/phpstan": "^1.9.3", "vimeo/psalm": "^5.2.0" + }, + "config": { + "optimize-autoloader": true, + "classmap-authoritative": true } } \ No newline at end of file diff --git a/src/static/php/upload.php b/src/static/php/upload.php index a2cb519..9fbe3ff 100644 --- a/src/static/php/upload.php +++ b/src/static/php/upload.php @@ -1,32 +1,51 @@ - * - * 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 - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -error_reporting(0); - -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); -} + /** + * Uguu + * + * @copyright Copyright (c) 2022 Go Johansson (nokonoko) + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + function checkConfig() + { + 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); + } + } + catch (Exception) { + throw new Exception('Cant populate settings.', 500); + } + } + + 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); + }