mirror of
https://github.com/openvk/openvk
synced 2024-12-23 00:51:03 +03:00
parent
9d4478516f
commit
51ace8d888
5 changed files with 38 additions and 2 deletions
|
@ -5,6 +5,7 @@ use openvk\Web\Util\DateTime;
|
||||||
use openvk\Web\Models\RowModel;
|
use openvk\Web\Models\RowModel;
|
||||||
use openvk\Web\Models\Entities\{Photo, Message, Correspondence, Gift};
|
use openvk\Web\Models\Entities\{Photo, Message, Correspondence, Gift};
|
||||||
use openvk\Web\Models\Repositories\{Users, Clubs, Albums, Gifts, Notifications};
|
use openvk\Web\Models\Repositories\{Users, Clubs, Albums, Gifts, Notifications};
|
||||||
|
use openvk\Web\Models\Exceptions\InvalidUserNameException;
|
||||||
use Nette\Database\Table\ActiveRow;
|
use Nette\Database\Table\ActiveRow;
|
||||||
use Chandler\Database\DatabaseConnection;
|
use Chandler\Database\DatabaseConnection;
|
||||||
use Chandler\Security\User as ChandlerUser;
|
use Chandler\Security\User as ChandlerUser;
|
||||||
|
@ -739,6 +740,24 @@ class User extends RowModel
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function setFirst_Name(string $firstName): void
|
||||||
|
{
|
||||||
|
$firstName = mb_convert_case($firstName, MB_CASE_TITLE);
|
||||||
|
if(!preg_match('%^\p{Lu}\p{Mn}?(?:\p{L&}\p{Mn}?){1,16}$%u', $firstName))
|
||||||
|
throw new InvalidUserNameException;
|
||||||
|
|
||||||
|
$this->stateChanges("first_name", $firstName);
|
||||||
|
}
|
||||||
|
|
||||||
|
function setLast_Name(string $lastName): void
|
||||||
|
{
|
||||||
|
$lastName = mb_convert_case($lastName, MB_CASE_TITLE);
|
||||||
|
if(!preg_match('%^\p{Lu}\p{Mn}?(\p{L&}\p{Mn}?){1,16}(\-\g<1>+)?$%u', $lastName))
|
||||||
|
throw new InvalidUserNameException;
|
||||||
|
|
||||||
|
$this->stateChanges("last_name", $lastName);
|
||||||
|
}
|
||||||
|
|
||||||
function setNsfwTolerance(int $tolerance): void
|
function setNsfwTolerance(int $tolerance): void
|
||||||
{
|
{
|
||||||
$this->stateChanges("nsfw_tolerance", $tolerance);
|
$this->stateChanges("nsfw_tolerance", $tolerance);
|
||||||
|
|
7
Web/Models/Exceptions/InvalidUserNameException.php
Normal file
7
Web/Models/Exceptions/InvalidUserNameException.php
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
<?php declare(strict_types=1);
|
||||||
|
namespace openvk\Web\Models\Exceptions;
|
||||||
|
|
||||||
|
final class InvalidUserNameException extends \UnexpectedValueException
|
||||||
|
{
|
||||||
|
protected $message = "Invalid real name supplied";
|
||||||
|
}
|
|
@ -9,6 +9,7 @@ use openvk\Web\Models\Repositories\Albums;
|
||||||
use openvk\Web\Models\Repositories\Videos;
|
use openvk\Web\Models\Repositories\Videos;
|
||||||
use openvk\Web\Models\Repositories\Notes;
|
use openvk\Web\Models\Repositories\Notes;
|
||||||
use openvk\Web\Models\Repositories\Vouchers;
|
use openvk\Web\Models\Repositories\Vouchers;
|
||||||
|
use openvk\Web\Models\Exceptions\InvalidUserNameException;
|
||||||
use openvk\Web\Util\Validator;
|
use openvk\Web\Util\Validator;
|
||||||
use openvk\Web\Models\Entities\Notifications\CoinsTransferNotification;
|
use openvk\Web\Models\Entities\Notifications\CoinsTransferNotification;
|
||||||
use Chandler\Security\Authenticator;
|
use Chandler\Security\Authenticator;
|
||||||
|
@ -137,8 +138,13 @@ final class UserPresenter extends OpenVKPresenter
|
||||||
$this->willExecuteWriteAction($_GET['act'] === "status");
|
$this->willExecuteWriteAction($_GET['act'] === "status");
|
||||||
|
|
||||||
if($_GET['act'] === "main" || $_GET['act'] == NULL) {
|
if($_GET['act'] === "main" || $_GET['act'] == NULL) {
|
||||||
$user->setFirst_Name(empty($this->postParam("first_name")) ? $user->getFirstName() : $this->postParam("first_name"));
|
try {
|
||||||
$user->setLast_Name(empty($this->postParam("last_name")) ? "" : $this->postParam("last_name"));
|
$user->setFirst_Name(empty($this->postParam("first_name")) ? $user->getFirstName() : $this->postParam("first_name"));
|
||||||
|
$user->setLast_Name(empty($this->postParam("last_name")) ? "" : $this->postParam("last_name"));
|
||||||
|
} catch(InvalidUserNameException $ex) {
|
||||||
|
$this->flashFail("err", tr("error"), tr("invalid_real_name"));
|
||||||
|
}
|
||||||
|
|
||||||
$user->setPseudo(empty($this->postParam("pseudo")) ? NULL : $this->postParam("pseudo"));
|
$user->setPseudo(empty($this->postParam("pseudo")) ? NULL : $this->postParam("pseudo"));
|
||||||
$user->setStatus(empty($this->postParam("status")) ? NULL : $this->postParam("status"));
|
$user->setStatus(empty($this->postParam("status")) ? NULL : $this->postParam("status"));
|
||||||
if (strtotime($this->postParam("birthday")) < time())
|
if (strtotime($this->postParam("birthday")) < time())
|
||||||
|
|
|
@ -750,6 +750,8 @@
|
||||||
"invalid_email_address" = "Invalid Email address";
|
"invalid_email_address" = "Invalid Email address";
|
||||||
"invalid_email_address_comment" = "The Email you entered is not correct.";
|
"invalid_email_address_comment" = "The Email you entered is not correct.";
|
||||||
|
|
||||||
|
"invalid_real_name" = "Please, enter your real name. It'll be easier for your friends to find you like this.";
|
||||||
|
|
||||||
"invalid_birth_date" = "Invalid date of birth";
|
"invalid_birth_date" = "Invalid date of birth";
|
||||||
"invalid_birth_date_comment" = "The date of birth you entered is not correct.";
|
"invalid_birth_date_comment" = "The date of birth you entered is not correct.";
|
||||||
|
|
||||||
|
|
|
@ -785,6 +785,8 @@
|
||||||
"invalid_email_address" = "Неверный Email адрес";
|
"invalid_email_address" = "Неверный Email адрес";
|
||||||
"invalid_email_address_comment" = "Email, который вы ввели, не является корректным.";
|
"invalid_email_address_comment" = "Email, который вы ввели, не является корректным.";
|
||||||
|
|
||||||
|
"invalid_real_name" = "Пожалуйста, используйте реальные имена. Так вашим тульпам будет легче найти вас.";
|
||||||
|
|
||||||
"invalid_telegram_name" = "Неверное имя Telegram аккаунта";
|
"invalid_telegram_name" = "Неверное имя Telegram аккаунта";
|
||||||
"invalid_telegram_name_comment" = "Вы ввели неверное имя аккаунта Telegram.";
|
"invalid_telegram_name_comment" = "Вы ввели неверное имя аккаунта Telegram.";
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue