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 "Вначале, пожалуйста, подтвердите свой электронный адрес."