модифицировал свой форум, чтобы запретить использование в имени пользователя одновременно символов русского и латинского алфавитов. Это необходимо для того, чтобы предотвратить злонамеренную регистрацию имени пользователя, внешне похожего на имя другого пользователя, что может ввести других юзеров в заблуждение.
Мод простой, но в ближайшие недели у меня не будет времени разобраться с ModX и как там оформлять моды.
Поэтому пока так.
Правим два файла:
В файле includes/functions_user.php
Find:
Код: Выделить всё
$sql = 'SELECT usernameКод: Выделить всё
$preg_rus1="йцукенгшщзхъфывапролджэячсмитьбюё";
$preg_rus2="ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮЁ";
$preg_rus=$preg_rus1.$preg_rus2;
$preg_check="^[a-z0-9_~!@^().-]{3,20}$|^[".$preg_rus."0-9_~!@^().-]{3,20}$";
if (!preg_match("/$preg_check/is",$username))
{
return 'MIXED_LANGUAGE';
}
Find:
Код: Выделить всё
'INVALID_CHARS_USERNAME' => 'Имя пользователя содержит запрещенные символы.',Код: Выделить всё
'MIXED_LANGUAGE_USERNAME' => 'Недопустимое имя пользователя. В имени можно использовать символы русского или английского алфавита (но не их комбинацию!), а также цифры и следующие символы выделены синим цветом: <nobr><font color=blue size=+1><b><tt>_~!@^().-</tt></b></font></nobr>',

