forkbb/app/Models/User/IsUniqueName.php
2018-07-25 10:51:05 +07:00

27 lines
810 B
PHP

<?php
namespace ForkBB\Models\User;
use ForkBB\Models\Action;
use ForkBB\Models\User\Model as User;
class IsUniqueName extends Action
{
/**
* Проверка на уникальность имени пользователя
*
* @param User $user
*
* @return bool
*/
public function isUniqueName(User $user)
{
$vars = [
':id' => (int) $user->id,
':name' => $user->username,
':other' => \preg_replace('%[^\p{L}\p{N}]%u', '', $user->username), //???? что за бред :)
];
$result = $this->c->DB->query('SELECT u.username FROM ::users AS u WHERE (LOWER(u.username)=LOWER(?s:name) OR LOWER(u.username)=LOWER(?s:other)) AND u.id!=?i:id', $vars)->fetchAll();
return ! \count($result);
}
}