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}