Как запретить некоторые логины

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 7 июня 2012 в 18:27
Как можно запретить некоторые логины? Что бы при их регистрации выдавало сообщение что они заняты
#2 7 июня 2012 в 18:34
Админка — Пользователи — Регистрация — Перейти к настройкам регистрации — Форма — Запрещенные никнеймы или имена и фамилии
#3 7 июня 2012 в 18:45
Пробовал так, запрещаю "users", потом регистрирую пользователя под логином "users" пишет логин свободен и регистрирует
#4 7 июня 2012 в 19:33
Фиг знает) Не пробовал никогда эту фичу, не могу ничего сказать. А вы настройки точно сохраняете? =)
#5 7 июня 2012 в 19:44
Да я тоже впервые пользуюсь)Да сохраняю. А может что в шаблоне проблема? У меня он не дефолтный просто
#6 7 июня 2012 в 20:16

А может что в шаблоне проблема?

iLoveNY
Это точно нет😊

А зачем запрещать? Ведь если пользователь берет себе такой логин, то он будет site.ru/users/users. Вроде, и в заблуждение этим никого не введете, да и так никак сайту не навредите. smile
#7 7 июня 2012 в 20:33
Заполни все поля и нажми зарегистрировать, выдаст сообщение: Выбранный никнейм запрещен администратором!
#8 7 июня 2012 в 20:45
Amun-Ra Египтолог, я хотел сделать ссылку на страницу юзера так: сайт.ру/имя пользователя😊 NastiK, дело в том что не выдает такое, а регистрирует этот логин
#9 8 июня 2012 в 00:09
Немного запутались ) В админке мы можем запретить никнеймы или имена и фамилии пользователей, а iLoveNY,-у
надо, чтобы не регистрировались некоторые логины. Сделать это можно только в коде. Для этого находим в файле /components/registration/frontend.php строку 140
  1. if ((!preg_match("/^([a-zA-Z0-9])+$/i", $login)) && strlen($login)>=2) {$msg .= $_LANG['ERR_LOGIN'].'<br/>'; }
и после него вставьте строку проверки
  1. if($login == 'users'){$msg .= 'Я запрещаю вам использовать этот логин ) <br/>';}
'users' — это ваш запрещенный логин. Как то так.
#10 8 июня 2012 в 13:49
Марат, не работает, все равно регистрирует 😥
#11 8 июня 2012 в 15:31
Хм, а в настройка компонента регистрация нету запрещенных логинов? просто сейчас глянуть не могу.
#12 8 июня 2012 в 16:08
Dimitrius, там еть никнеймы и имена и фамилии, а логинов нет
#13 8 июня 2012 в 17:28

Марат, не работает, все равно регистрирует sad

iLoveNY
Странно. Должно работать. Когда переменной $msg присваивается какое-то значение, регистрация не проходит. Значит, не выполняется условие if($login == 'users'). Могут мешать пробелы в начале и в конце. Попробуйте заменить строку 135 чуть выше
  1. $login = $inCore->request('login', 'str', '');
на
  1. $login = trim($inCore->request('login', 'str', ''));
Пробелы уберутся. Вторая причина, вы не поняли сами. При данном варианте if($login == 'users') нельзя будет регистрировать логин users. Например, чтобы нельзя было регистрировать логин login, нужно изменить условие на if($login == 'login')
И третье, файл frontend.php ранее не меняли? Хаки не устанавливали?
#14 8 июня 2012 в 21:17
Привязывает проверку логина к проверке ник найма
141 строка в файле фронтенд компонента регистрация
  1.  
  2. if ((!preg_match("/^([a-zA-Z0-9])+$/i", $login)) && strlen($login)>=2 && $model->getBadNickname($login)) {$msg .= $_LANG['ERR_LOGIN'].'
  3. '; }
  4.  
Хак core/ajax/registration.php
#15 8 июня 2012 в 21:36
Марат, если я правильно понял тут можно только 1 логин приписать, а можно как то несколько?
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.