diff --git a/Web/Models/Entities/User.php b/Web/Models/Entities/User.php
index 3555d30f..bd1b246b 100644
--- a/Web/Models/Entities/User.php
+++ b/Web/Models/Entities/User.php
@@ -303,6 +303,11 @@ class User extends RowModel
{
return $this->getRecord()->notification_offset;
}
+
+ function getBirthday(): int
+ {
+ return $this->getRecord()->birthday;
+ }
function updateNotificationOffset(): void
{
diff --git a/Web/Presenters/AuthPresenter.php b/Web/Presenters/AuthPresenter.php
index 9699568b..90333151 100644
--- a/Web/Presenters/AuthPresenter.php
+++ b/Web/Presenters/AuthPresenter.php
@@ -79,6 +79,9 @@ final class AuthPresenter extends OpenVKPresenter
if($_SERVER["REQUEST_METHOD"] === "POST") {
$this->assertCaptchaCheckPassed();
+
+ if(!OPENVK_ROOT_CONF['openvk']['preferences']['registration']['enable'] && !$referer)
+ $this->flashFail("err", "Подозрительная попытка регистрации", "Регистрация отключена системным администратором.");
if(!$this->ipValid())
$this->flashFail("err", "Подозрительная попытка регистрации", "Вы пытались зарегистрироваться из подозрительного места.");
diff --git a/Web/Presenters/UserPresenter.php b/Web/Presenters/UserPresenter.php
index 9907763e..fae120c0 100644
--- a/Web/Presenters/UserPresenter.php
+++ b/Web/Presenters/UserPresenter.php
@@ -102,7 +102,9 @@ final class UserPresenter extends OpenVKPresenter
$user->setLast_Name(empty($this->postParam("last_name")) ? "" : $this->postParam("last_name"));
$user->setPseudo(empty($this->postParam("pseudo")) ? NULL : $this->postParam("pseudo"));
$user->setStatus(empty($this->postParam("status")) ? NULL : $this->postParam("status"));
-
+ if (strtotime($this->postParam("birthday")) > 10)
+ $user->setBirthday(strtotime($this->postParam("birthday")));
+
if ($this->postParam("marialstatus") <= 8 && $this->postParam("marialstatus") >= 0)
$user->setMarital_Status($this->postParam("marialstatus"));
diff --git a/Web/Presenters/templates/@layout.xml b/Web/Presenters/templates/@layout.xml
index 052ef0a9..f7cab036 100644
--- a/Web/Presenters/templates/@layout.xml
+++ b/Web/Presenters/templates/@layout.xml
@@ -111,7 +111,7 @@
+
{/block}
diff --git a/Web/Presenters/templates/About/Version.xml b/Web/Presenters/templates/About/Version.xml
index 57045d5c..d66491b6 100644
--- a/Web/Presenters/templates/About/Version.xml
+++ b/Web/Presenters/templates/About/Version.xml
@@ -387,7 +387,7 @@
Vladimir Barinov (veselcraft), Alexandra Katunina (jill_senpai), Konstantin Kichulkin (kosfurler),
Nikita Volkov (sup_ban), Daniil Myslivets (myslivets), Alexander Kotov (l-lacker),
- Alexey Assemblerov (BiosNod), Ponywka and Ilya Prokopenko (dsrev)
+ Alexey Assemblerov (BiosNod), Ponywka and Ilya Prokopenko (dsrev), Vladimir Lapskiy (0x7d5)
diff --git a/Web/Presenters/templates/Auth/Register.xml b/Web/Presenters/templates/Auth/Register.xml
index 988998b4..9ea387d7 100644
--- a/Web/Presenters/templates/Auth/Register.xml
+++ b/Web/Presenters/templates/Auth/Register.xml
@@ -18,77 +18,89 @@
{/block}
{block content}
-
- {$referer->getFullName()} приглашает вас в OpenVK!
-
-
-
+ {if OPENVK_ROOT_CONF['openvk']['preferences']['registration']['enable'] || $referer}
+
+ {$referer->getFullName()} приглашает вас в OpenVK!
+
+
+
+ {else}
+
+
+
+ Регистрация отключена системным администратором. При возможности попросите приглашение у вашего знакомого, если он зарегистрирован на этом сайте.
+ {if OPENVK_ROOT_CONF['openvk']['preferences']['registration']['reason']}
+ {php echo OPENVK_ROOT_CONF['openvk']['preferences']['registration']['reason']}
+ {/if}
+
+
+ {/if}
{/block}
diff --git a/Web/Presenters/templates/User/Edit.xml b/Web/Presenters/templates/User/Edit.xml
index 78bb02a4..02c9a78c 100644
--- a/Web/Presenters/templates/User/Edit.xml
+++ b/Web/Presenters/templates/User/Edit.xml
@@ -130,6 +130,14 @@
+
+
+ День рождения:
+
+
+ getBirthday())} type="date"/>
+
+
diff --git a/Web/Presenters/templates/User/View.xml b/Web/Presenters/templates/User/View.xml
index e18fc1fd..75c8e781 100644
--- a/Web/Presenters/templates/User/View.xml
+++ b/Web/Presenters/templates/User/View.xml
@@ -357,6 +357,10 @@
{_"politViews"}:
{var $pviews = $user->getPoliticalViews()}{_"politViews_$pviews"}
+
+ {_"birth_date"}:
+ {date('d F Y',$user->getBirthday())}, {date('Y') - date('Y', $user->getBirthday())} {_"years"}
+
diff --git a/Web/di.yml b/Web/di.yml
index 19bdc527..a91d4f2a 100644
--- a/Web/di.yml
+++ b/Web/di.yml
@@ -2,7 +2,6 @@ services:
- openvk\Web\Presenters\AwayPresenter
- openvk\Web\Presenters\AboutPresenter
- openvk\Web\Presenters\AuthPresenter
- - openvk\Web\Presenters\AudiosPresenter
- openvk\Web\Presenters\UserPresenter
- openvk\Web\Presenters\WallPresenter
- openvk\Web\Presenters\CommentPresenter
diff --git a/install/automated/freebsd-12/install b/install/automated/freebsd-12/install
old mode 100755
new mode 100644
diff --git a/locales/en.strings b/locales/en.strings
index dc4948ff..98a39fd8 100644
--- a/locales/en.strings
+++ b/locales/en.strings
@@ -38,6 +38,8 @@
"was_online_m" = "was online";
/* For male and female */
+"years" = "y.o";
+
"was_online_f" = "was online";
"all_title" = "All";
"information" = "Information";
diff --git a/locales/ru.strings b/locales/ru.strings
index 6e75ff30..a00ba9c9 100644
--- a/locales/ru.strings
+++ b/locales/ru.strings
@@ -43,6 +43,7 @@
"status" = "Статус";
"no_information_provided" = "Информация отсутствует.";
"deceased_person" = "Страница покойного человека";
+"years" = "лет";
"relationship" = "Семейное положение";
diff --git a/openvk-example.yml b/openvk-example.yml
index 9698e405..6abeb922 100644
--- a/openvk-example.yml
+++ b/openvk-example.yml
@@ -23,6 +23,9 @@ openvk:
maxViolations: 50
maxViolationsAge: 120
autoban: true
+ registration:
+ enable: true
+ reason: "" # reason for disabling registration
support:
supportName: "Moderator"
adminAccount: 1 # Change this ok