Логины из цифр не работают в 1.10

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 16 декабря 2012 в 15:40
После миграции на 1.10 перестали работать логины, состоящие только из цифр. Таких пользователей у меня пол-сайта.
Не нашел, как это лечится.
Помогите плиз.
#2 16 декабря 2012 в 16:08
Причина в том, что если в качестве логина выступает число, 1.10 думает, что это id юзера и пытается найти его по id.
Чтобы отучить:
в /components/users/frontend.php
if(is_numeric($login)) { cmsCore::error404(); } — УДАЛИТЬ (или закомментить)

в /components/users/model.php
в функции public function getUser($login){
  1. if(is_numeric($login)){
  2. $where = "u.id = '{$login}'";
  3. } else {
  4. $where = "u.login = '{$login}'";
  5. }
ЗАМЕНИТЬ НА:
$where = "u.login = '{$login}'";
#3 16 декабря 2012 в 17:24
Ленивый, спасибо. Но что-то не работает.


Работают. Не работают только не подтвержденные.
#4 16 декабря 2012 в 17:51

Не работают только не подтвержденные.

Daniil
Тут подробнее.

Я дал решение, чтобы ранее зареганные юзеры с логином из одних цифр могли в свой профиль попадать.

Проверку при регистрации новых юзеров не трогал. То есть зарегать логин из одних цифр нельзя сейчас.
Что вам нужно для счастья? Спрашивайте.
#5 16 декабря 2012 в 21:58
Спасибо Вам! Мои тетеньки на косметическом сайте вновь попадают на свои профили.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.