Skip to content

Commit

Permalink
Register: Adding implementation of registration disablement
Browse files Browse the repository at this point in the history
Also temporarily removed AudiosPresenter
  • Loading branch information
Ilya Prokopenko committed Sep 13, 2021
1 parent f58464a commit 9ba232d
Show file tree
Hide file tree
Showing 6 changed files with 94 additions and 77 deletions.
3 changes: 3 additions & 0 deletions Web/Presenters/AuthPresenter.php
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,9 @@ function renderRegister(): void

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", "Подозрительная попытка регистрации", "Вы пытались зарегистрироваться из подозрительного места.");
Expand Down
4 changes: 2 additions & 2 deletions Web/Presenters/templates/@layout.xml
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@
<div class="link">
<a href="/login">вход</a>
</div>
<div class="link">
<div n:if="OPENVK_ROOT_CONF['openvk']['preferences']['registration']['enable']" class="link">
<a href="/reg">регистрация</a>
</div>
<div class="link">
Expand Down Expand Up @@ -190,7 +190,7 @@
<input type="hidden" name="jReturnTo" value="{$_SERVER['REQUEST_URI']}" />
<input type="hidden" name="hash" value="{$csrfToken}" />
<input type="submit" value="{_'log_in'}" class="button" style="display: inline-block;" />
<a href="/reg" class="button" style="display: inline-block;" >{_registration}</a><br><br>
<a n:if="OPENVK_ROOT_CONF['openvk']['preferences']['registration']['enable']" href="/reg" class="button" style="display: inline-block;" >{_registration}</a><br><br>
<a href="/restore.pl">Забыли пароль?</a>
</form>
{/ifset}
Expand Down
2 changes: 1 addition & 1 deletion Web/Presenters/templates/About/Index.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,6 @@
</ul>
<center>
<a class="button" style="margin-right: 5px;cursor: pointer;" href="/login">{_"log_in"}</a>
<a class="button" style="cursor: pointer;" href="/reg">{_"registration"}</a></center>
<a n:if="OPENVK_ROOT_CONF['openvk']['preferences']['registration']['enable']" class="button" style="cursor: pointer;" href="/reg">{_"registration"}</a></center>
</div>
{/block}
158 changes: 85 additions & 73 deletions Web/Presenters/templates/Auth/Register.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,77 +18,89 @@
{/block}

{block content}
<p n:if="!is_null($referer)" align="center">
<strong>{$referer->getFullName()}</strong> приглашает вас в OpenVK!
</p>

<form method="POST" enctype="multipart/form-data">
<table cellspacing="7" cellpadding="0" width="40%" border="0" align="center">
<tbody>
<tr>
<td>
<span>{_"name"}: </span>
</td>
<td>
<input type="text" name="first_name" required />
</td>
</tr>
<tr>
<td>
<span>{_"surname"}: </span>
</td>
<td>
<input type="text" name="last_name" required />
</td>
</tr>
<tr>
<td>
<span>{_"gender"}: </span>
</td>
<td>
{var femalePreferred = OPENVK_ROOT_CONF["openvk"]["preferences"]["femaleGenderPriority"]}
<select name="sex" required>
<option n:attr="selected => !$femalePreferred" value="male">{_"male"}</option>
<option n:attr="selected => $femalePreferred" value="female">{_"female"}</option>
</select>
</td>
</tr>
<tr></tr>
<tr>
<td>
<span>{_"email"}: </span>
</td>
<td>
<input type="email" name="email" required />
</td>
</tr>
<tr>
<td>
<span>{_"password"}: </span>
</td>
<td>
<input type="password" name="password" required />
</td>
</tr>
<tr>
<td>
<span>CAPTCHA: </span>
</td>
<td>
{captcha_template()|noescape}
</td>
</tr>
<tr>
<td>

</td>
<td>
<input type="hidden" name="hash" value="{$csrfToken}" />
<input type="submit" value="{_'registration'}" class="button" />
<a href="/login">{_"log_in"}</a>
</td>
</tr>
</tbody>
</table>
</form>
{if OPENVK_ROOT_CONF['openvk']['preferences']['registration']['enable'] || $referer}
<p n:if="!is_null($referer)" align="center">
<strong>{$referer->getFullName()}</strong> приглашает вас в OpenVK!
</p>

<form method="POST" enctype="multipart/form-data">
<table cellspacing="7" cellpadding="0" width="40%" border="0" align="center">
<tbody>
<tr>
<td>
<span>{_"name"}: </span>
</td>
<td>
<input type="text" name="first_name" required />
</td>
</tr>
<tr>
<td>
<span>{_"surname"}: </span>
</td>
<td>
<input type="text" name="last_name" required />
</td>
</tr>
<tr>
<td>
<span>{_"gender"}: </span>
</td>
<td>
{var femalePreferred = OPENVK_ROOT_CONF["openvk"]["preferences"]["femaleGenderPriority"]}
<select name="sex" required>
<option n:attr="selected => !$femalePreferred" value="male">{_"male"}</option>
<option n:attr="selected => $femalePreferred" value="female">{_"female"}</option>
</select>
</td>
</tr>
<tr></tr>
<tr>
<td>
<span>{_"email"}: </span>
</td>
<td>
<input type="email" name="email" required />
</td>
</tr>
<tr>
<td>
<span>{_"password"}: </span>
</td>
<td>
<input type="password" name="password" required />
</td>
</tr>
<tr>
<td>
<span>CAPTCHA: </span>
</td>
<td>
{captcha_template()|noescape}
</td>
</tr>
<tr>
<td>

</td>
<td>
<input type="hidden" name="hash" value="{$csrfToken}" />
<input type="submit" value="{_'registration'}" class="button" />
<a href="/login">{_"log_in"}</a>
</td>
</tr>
</tbody>
</table>
</form>
{else}
<center>
<img src="/assets/packages/static/openvk/img/oof.apng" alt="Регистрация закрыта." style="width: 20%;" />
<p>
Регистрация отключена системным администратором. При возможности попросите приглашение у вашего знакомого, если он зарегистрирован на этом сайте.
{if OPENVK_ROOT_CONF['openvk']['preferences']['registration']['reason']}
<br/><br/><b>{php echo OPENVK_ROOT_CONF['openvk']['preferences']['registration']['reason']}</b>
{/if}
</p>
</center>
{/if}
{/block}
1 change: 0 additions & 1 deletion Web/di.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 3 additions & 0 deletions openvk-example.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 9ba232d

Please sign in to comment.