47 комментариев

avatar
В какой файл и какие правки вносил?
  • aex
  • 0
avatar
По аналогии с данным расширением: livestreetcms.ru/addons/view/40/
avatar
Посмотри в User.class.php в public function CheckLogin($sLogin) какая там у тебя регулярка стоит, и если что, там поправь.
avatar
Менял это:
if (preg_match("/^[\da-z\_\-]{".Config::Get('module.user.login.min_size').','.Config::Get('module.user.login.max_size')."}$/i",$sLogin)){


на это:
if (preg_match("/^[\da-zа-яё\_\-]{".Config::Get('module.user.login.min_size').','.Config::Get('module.user.login.max_size')."}$/i",$sLogin)){


Все равно ошибка:
Неверный логин, допустим от 3 до 30 символов
avatar
Запрос идет на адрес:
domain.com/registration/ajax-validate-fields/

И я думаю, что за это отвечает
classes/action/ActionRegistration.class.php
метод
EventAjaxValidateFields()


Валидация проходит через метод _Validate() класса
ModuleUser_EntityUser
метод ValidateLogin() этого класса, который обращается к
User_CheckLogin()
однако определения этого метода я не нашел нигде в исходниках
avatar
f (preg_match("/^[\da-zа-я\_\-]{".Config::Get('module.user.login.min_size').','.Config::Get('module.user.login.max_size')."}$/i",$sLogin)){
avatar
Да зая :)
avatar
:-*
avatar
)))))))))))))))))))))))))
avatar
if*
avatar
Не помогло
avatar
Кеш конечно чистил, все перегружал и никак? И то, что нагуглил и нахабрил тоже не помогло. Значить не судьба русскими писать.
avatar
я у себя поставил и все ок. у меня даже еврейский работает:)
avatar
Ну, так иврит, он и в Африке иврит. Или идиш :)
avatar
арабский да, проблема, не знаю первую и начальную букфу)) а так… любой язык идет
avatar
Именно эта регулярка работает? Место ты правильное указал, но проблема в регулярке.
avatar
Сейчас у себя на тесте посмотрел ради интереса. Проходит.

avatar
И вот наш Ваня в аккаунте.

avatar
Вопрос решился добавлением
/u
к регулярке, что означает обработку UTF-8 строк, без нее не работало, правильная функция проверки логина, включая русские ники выглядит так:

public function CheckLogin($sLogin) {
	if(preg_match("/^[a-zа-яё\_\-]{".Config::Get('module.user.login.min_size').','.Config::Get('module.user.login.max_size')."}$/iu",$sLogin)){
		return true;
	}
	return false;
}
avatar
А кодировка сайта и базы у тебя в UTF была?
avatar
Да, сам удивляюсь.
avatar
Может быть из-за кодировки браузера.
avatar
Вебсервера точнее :-)
avatar
А буквочку Ё можно было бы и не пропускать. А то они тебе напишут русских ников :)
avatar
Учту, спасибо ))))
avatar
подскажите пожалуйста путь к файлу где необходимо внести эти изменения
avatar
Как сделать, чтобы валидацию проходили символы?
ч, с, ф, ы, ц, у, ё, ш, щ, х, р, э, т, ю
Не могут пройти валидацию, если эти буквы присутствуются в нике.

Плюс, если стоит ограничение на ники 30 знаков, то на русский остаётся 15. По два знака на букву кириллицы считает.

Иван конечно регит, а вот Андрей не даёт уже.
avatar
avatar
а-я сделали? этого хватит
он знает что а первая я последняя и все что посредине разрешено

аех а как пробелы сделать — подскажи
avatar
Нажми на спейс :)
avatar
Оо он не регестрирует со спейсом
нужно ему правило прописать туда же =)? какое?
avatar
(preg_match("/^[\da-z а-я\_\-]
\

пока тебя дождешся :)
avatar
Я же тебе сказал, нажми на спейс. Пока тебе скрин делал, а ты уже и разобралси. Ну не пропадать же скрину :)
avatar
avatar
Всё, тоже
$/iu
добавил, заработало. У вас тоже это добавлено?
avatar
Можно ли как-то для ссылок поставить, чтобы пробел заменялся подчёркиванием? В смысле для ссылок профиля и блогов, чтобы меняло, а в остальных случаях оставляло пробел в нике.
avatar
У меня перестали работать в профиле ссылки: Добавить в друзья, Написать письмо, Подписаться. Как и где это подправить для русских ников?
avatar
Всё работает. Это проблема с z-index была, к русским никам не относится.
avatar
Но я бы все-таки не рекомендовал увлекаться русскими никами. ЛС это довольно сложный и тонко настроенный механизм, и если разработчики сделали ограничение на использование в никах символов кириллицы, может это и неспроста.
avatar
Как сделать, чтобы в ссылках пробел заменялся на подчёркивание?
avatar
Включить пробел в ссылку.
avatar
Да не. Мне надо, чтобы вместо 20% ставилось подчёркивание, но только в ссылках. Где, как это можно заменить?
avatar
Какая замечатеьная тема и решение вопроса. Благодарю.
avatar
А у вас не было проблем с персональными блогами для пользователей с русскими никами? А то у меня сейчас у всех таких пользователей «личный» блог отказывается открываться, показывает 404 ошибку :(
avatar
А для последней версии есть подобное решение?
avatar
В версии 1.0.3 настройка вынесена в конфиг, поэтому достаточно в config.local.php добавить строку:
$config['module']['user']['login']['charset'] = '0-9a-z а-яё\_\-';

Если установлена неверная кодировка, возможно придется в этой строке после i добавить u
avatar
Спасибо большое!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.