Запрещённые для регистрации usernames

10 октября 2016 в 12:10

Например имеем большой список запрещённых для регистрации имён пользователя. 1000 или более таких имён.

Как можно реализовать этот запрет?

Модуль User restrictions не подходит так как там нет возможности создания большого списка запрещённых имён. Там только по одному имени можно задавать запрет. Замучаешься создавать 1000 имён.

Комментарии

У меня нет идей. Только программировать. Через hook_form_FORM_ID_alter добавить свою функицю валидации

<?php
/**
 * Implements hook_form_FORM_ID_alter().
 */
function example_form_user_register_form_alter(&$form, &$form_state$form_id) {
  
$form['#validate'][] = 'example_user_name_validate';
}
?>

И в функции example_user_name_validate реализовать свою логику.

10 октября 2016 в 13:41

Думаю, вам нужно чуть-чуть подучить программирование. Затем создаете свой модуль с каким-либо логическим названием, вставляете в него то, что я дал выше. И все сработает.

Еще есть предположение, что вам поможет модуль User restrictions.

P.S.
Исправьте орфографические ошибки в заголовке!

10 октября 2016 в 15:04

Я написал по поводу указанного модуля - он есть у меня, но он не может помочь. Он по одному имени добавляет, а нужно разом огромный список имён добавить.

Модуль умею делать, но всё равно не ясно что и как.

10 октября 2016 в 15:14

Сергей Березин wrote:
Я написал по поводу указанного модуля - он есть у меня, но он не может помочь.

Да, точно.

Тогда мой вариант смотрите. Там я привел пример валидации формы регистрации. Вам осталось реализовать что-то типо этого

<?php
function example_user_name_validate($form, &$form_state) {
  
$diallowed_names = array(/* список запрещеных имен */); 
  if(
in_array($form_state['values']['name'], $diallowed_names)) {
    
form_set_error('name't('Disallowed user name.'));
  }
}
?>
10 октября 2016 в 15:20

Упрощенный вариант - да, только не забудьте в кавычки поместить: "username1", "username2",.... Когда поймете как создавать админские страницы, то можно будет

  1. создать поле "textarea"
  2. засунуть туда список через запятую
  3. распарсить в массив
  4. сохранить с помощью variable_set
  5. извлекать этот список в функции валидации, которую вы уже имеете с помощью функции variable_get
10 октября 2016 в 15:40

Вот и хочу понять как создать и/или зарезервировать одним махом.
Есть список в txt файле.
Имена пользователей разделены запятой.

Можно напрямую (через phpnyadmin) занести этот список в базу и как?

10 октября 2016 в 17:41

Да это я понимаю.
Но я не знаю как добавить сразу весь список.
Я только по одному пользователю могу добавлять - это и через админку можно делать, но замучаешься.
Нужно одним махом добавить весь список.

10 октября 2016 в 19:01

Сергей Березин wrote:

Я только по одному пользователю могу добавлять

Нанять надо трёх сессионников, каждому по 3тр, и 330 ников, через сутки они отрапортуют о завершении работы. Обычная рутина.

10 октября 2016 в 19:51