diff --git a/app/Models/Pages/Misc.php b/app/Models/Pages/Misc.php index 2955d0fd..ed126e5f 100644 --- a/app/Models/Pages/Misc.php +++ b/app/Models/Pages/Misc.php @@ -5,6 +5,7 @@ namespace ForkBB\Models\Pages; use ForkBB\Models\Page; use ForkBB\Models\Forum\Model as Forum; use ForkBB\Models\Topic\Model as Topic; +use function \ForkBB\__; class Misc extends Page { @@ -52,6 +53,10 @@ class Misc extends Page $this->c->Lang->load('misc'); if ('subscribe' === $args['type']) { + if (! $this->user->email_confirmed) { + return $this->confirmMessage(); + } + $this->c->subscriptions->subscribe($this->user, $forum); $message = 'Subscribe redirect'; @@ -81,6 +86,10 @@ class Misc extends Page $this->c->Lang->load('misc'); if ('subscribe' === $args['type']) { + if (! $this->user->email_confirmed) { + return $this->confirmMessage(); + } + $this->c->subscriptions->subscribe($this->user, $topic); $message = 'Subscribe redirect'; @@ -92,4 +101,16 @@ class Misc extends Page return $this->c->Redirect->url($topic->link)->message($message); } + + protected function confirmMessage(): Page + { + $link = $this->c->Router->link( + 'EditUserEmail', + [ + 'id' => $this->user->id, + ] + ); + + return $this->c->Message->message(__('Confirm your email address', $link), true, 100); + } } diff --git a/app/lang/en/misc.po b/app/lang/en/misc.po index c0da7c6b..8b7d63e9 100644 --- a/app/lang/en/misc.po +++ b/app/lang/en/misc.po @@ -311,3 +311,6 @@ msgstr "Moderate forum" msgid "When sending email there was an error" msgstr "When sending email there was an error. Please try again later." + +msgid "Confirm your email address" +msgstr "First, please confirm your email address." diff --git a/app/lang/ru/misc.po b/app/lang/ru/misc.po index ac586cab..d9801118 100644 --- a/app/lang/ru/misc.po +++ b/app/lang/ru/misc.po @@ -311,3 +311,6 @@ msgstr "Модерирование раздела" msgid "When sending email there was an error" msgstr "При отправке письма возникла ошибка. Попробуйте повторить попытку позже." + +msgid "Confirm your email address" +msgstr "Вначале, пожалуйста, подтвердите свой электронный адрес."