diff --git a/.htaccess b/.htaccess new file mode 100644 index 00000000..b66e8088 --- /dev/null +++ b/.htaccess @@ -0,0 +1 @@ +Require all denied diff --git a/app/forms/FormFactory.php b/app/forms/FormFactory.php index 57e0cdcd..92d8b697 100644 --- a/app/forms/FormFactory.php +++ b/app/forms/FormFactory.php @@ -8,7 +8,7 @@ use Nette\Application\UI\Form; -class FormFactory +final class FormFactory { use Nette\SmartObject; diff --git a/app/forms/SignInFormFactory.php b/app/forms/SignInFormFactory.php index 3a165bb8..a191f3c3 100644 --- a/app/forms/SignInFormFactory.php +++ b/app/forms/SignInFormFactory.php @@ -9,7 +9,7 @@ use Nette\Security\User; -class SignInFormFactory +final class SignInFormFactory { use Nette\SmartObject; diff --git a/app/forms/SignUpFormFactory.php b/app/forms/SignUpFormFactory.php index 5d45ba5b..f0c19219 100644 --- a/app/forms/SignUpFormFactory.php +++ b/app/forms/SignUpFormFactory.php @@ -9,7 +9,7 @@ use Nette\Application\UI\Form; -class SignUpFormFactory +final class SignUpFormFactory { use Nette\SmartObject; diff --git a/app/model/UserManager.php b/app/model/UserManager.php index 79f68ab0..e3e9e6ff 100644 --- a/app/model/UserManager.php +++ b/app/model/UserManager.php @@ -11,7 +11,7 @@ /** * Users management. */ -class UserManager implements Nette\Security\IAuthenticator +final class UserManager implements Nette\Security\IAuthenticator { use Nette\SmartObject; @@ -74,6 +74,7 @@ public function authenticate(array $credentials): Nette\Security\IIdentity */ public function add(string $username, string $email, string $password): void { + Nette\Utils\Validators::assert($email, 'email'); try { $this->database->table(self::TABLE_NAME)->insert([ self::COLUMN_NAME => $username, diff --git a/app/presenters/Error4xxPresenter.php b/app/presenters/Error4xxPresenter.php index 7f609bfd..db6394e8 100644 --- a/app/presenters/Error4xxPresenter.php +++ b/app/presenters/Error4xxPresenter.php @@ -7,7 +7,7 @@ use Nette; -class Error4xxPresenter extends BasePresenter +final class Error4xxPresenter extends BasePresenter { public function startup(): void { diff --git a/app/presenters/ErrorPresenter.php b/app/presenters/ErrorPresenter.php index a44cfe34..06a821b1 100644 --- a/app/presenters/ErrorPresenter.php +++ b/app/presenters/ErrorPresenter.php @@ -10,7 +10,7 @@ use Tracy\ILogger; -class ErrorPresenter implements Nette\Application\IPresenter +final class ErrorPresenter implements Nette\Application\IPresenter { use Nette\SmartObject; diff --git a/app/presenters/HomepagePresenter.php b/app/presenters/HomepagePresenter.php index 1ab0d105..14ff7723 100644 --- a/app/presenters/HomepagePresenter.php +++ b/app/presenters/HomepagePresenter.php @@ -5,7 +5,7 @@ namespace App\Presenters; -class HomepagePresenter extends BasePresenter +final class HomepagePresenter extends BasePresenter { public function renderDefault(): void { diff --git a/app/presenters/SignPresenter.php b/app/presenters/SignPresenter.php index 2d9d9f57..d170e27b 100644 --- a/app/presenters/SignPresenter.php +++ b/app/presenters/SignPresenter.php @@ -8,7 +8,7 @@ use Nette\Application\UI\Form; -class SignPresenter extends BasePresenter +final class SignPresenter extends BasePresenter { /** @persistent */ public $backlink = ''; diff --git a/app/presenters/templates/@layout.latte b/app/presenters/templates/@layout.latte index 834f514d..c9daf8de 100644 --- a/app/presenters/templates/@layout.latte +++ b/app/presenters/templates/@layout.latte @@ -27,7 +27,7 @@ {block scripts} - + {/block} diff --git a/app/router/RouterFactory.php b/app/router/RouterFactory.php index 4a741e0c..27b678aa 100644 --- a/app/router/RouterFactory.php +++ b/app/router/RouterFactory.php @@ -9,7 +9,7 @@ use Nette\Application\Routers\RouteList; -class RouterFactory +final class RouterFactory { use Nette\StaticClass; diff --git a/composer.json b/composer.json index 00692a5d..c798eb6d 100644 --- a/composer.json +++ b/composer.json @@ -30,7 +30,7 @@ "nette/security": "^3.0", "nette/utils": "^3.0", "latte/latte": "^3.0", - "tracy/tracy": "^2.4", + "tracy/tracy": "^3.0", "dg/adminer-custom": "^1.8" }, "require-dev": { diff --git a/readme.md b/readme.md index f400f17a..0157e241 100644 --- a/readme.md +++ b/readme.md @@ -60,7 +60,7 @@ To use it, browse to the subdirectory `/adminer` in your project root (i.e. `htt Notice: Composer PHP version ---------------------------- -This project forces PHP 5.6 (eventually 7.1) as your PHP version for Composer packages. If you have newer +This project forces PHP 5.6 (eventually 7.1) as your PHP version for Composer packages. If you have newer version on production server you should change it in `composer.json`: ```json diff --git a/www/.htaccess b/www/.htaccess index da941ae1..0996638b 100644 --- a/www/.htaccess +++ b/www/.htaccess @@ -1,4 +1,5 @@ -# Apache configuration file (see httpd.apache.org/docs/current/mod/quickreference.html) +# Apache configuration file (see https://httpd.apache.org/docs/current/mod/quickreference.html) +Require all granted # disable directory listing @@ -20,7 +21,7 @@ # front controller RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d - RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz|map)$ index.php [L] + RewriteRule !\.(pdf|js|ico|gif|jpg|jpeg|png|webp|svg|css|rar|zip|7z|tar\.gz|map|eot|ttf|otf|woff|woff2)$ index.php [L] # enable gzip compression diff --git a/www/checker/index.php b/www/checker/index.php index 97813b20..1a6fc8f6 100644 --- a/www/checker/index.php +++ b/www/checker/index.php @@ -136,7 +136,7 @@ $tests[] = [ 'title' => 'ICONV extension', 'required' => true, - 'passed' => extension_loaded('iconv') && (ICONV_IMPL !== 'unknown') && @iconv('UTF-16', 'UTF-8//IGNORE', iconv('UTF-8', 'UTF-16//IGNORE', 'test')) === 'test', + 'passed' => extension_loaded('iconv') && @iconv('UTF-16', 'UTF-8//IGNORE', iconv('UTF-8', 'UTF-16//IGNORE', 'test')) === 'test', 'message' => 'Enabled and works properly', 'errorMessage' => 'Disabled or does not work properly', 'description' => 'ICONV extension is required and must work properly.',