Список пользователей с паролями уже есть и пользователей в списке много.
Как можно добавить этих пользователей на форум в группу "Зарегистрированные пользователи".
Посмотрел напрямую в таблицу *_users - но, во-первых, в ней много полей неизвестного назначения и, во-вторых, пароль - зашифрован.
Цель - чтобы зарегистрированным пользователям моего сайта не пришлось регистрироваться - чтобы они уже были в списках форума и могли войти под своими паролями.
Как добавить пользователей напрямую
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
parakimax
- phpBB 1.0.0
- Сообщения: 5
- Стаж: 13 лет 7 месяцев
- Благодарил (а): 3 раза
-
Pazh
- Former team member
- Сообщения: 2317
- Стаж: 16 лет 10 месяцев
- Благодарил (а): 42 раза
- Поблагодарили: 506 раз
Re: Как добавить пользователей напрямую
мод ACP Add User MOD локализация есть на этом форуме. Добавляет по одному в админке
или
самостоятельно программно (писать свой скрипт) используя
Добавлено спустя 3 минуты 7 секунд:
или установить Support Toolkit - там уже есть функционал добавления нового юзера
или
самостоятельно программно (писать свой скрипт) используя
/includes/functions_user.php функцию user_add()Добавлено спустя 3 минуты 7 секунд:
или установить Support Toolkit - там уже есть функционал добавления нового юзера
Помощь в ЛС/email только за WM или ЮMoney
-
МайскийЖук
- phpBB 3.0.7-PL1
- Сообщения: 2535
- Стаж: 16 лет 11 месяцев
- Благодарил (а): 17 раз
- Поблагодарили: 366 раз
Как добавить пользователей напрямую
1. Создаем CSV-файл следующего содержания:
Здесь необходимые для регистрации поля идут в следующем порядке: имя пользователя → пароль → адрес электронной почты → ID группы → язык → тип.
Называем этот файл
2. Создаем PHP-файл следующего содержания:
Называем этот файл
3. Направляем браузер на файл
Внимание! Никакой гарантии работоспособности данного скрипта не дается. За идею скрипта скажите спасибо вот этому чуваку.
Код: Выделить всё
"Пользователь 1","пароль1","пользователь1@домен1.ru",2,"ru",0
"Пользователь 2","пароль2","пользователь2@домен2.ru",2,"ru",0
"Пользователь 3","пароль3","пользователь3@домен3.ru",2,"ru",0Называем этот файл
users_to_add.csv и закачиваем его в корневую директорию форума. Можно назвать файл иначе, но тогда соответствующее имя нужно будет прописать в PHP-файле, который идет ниже.2. Создаем PHP-файл следующего содержания:
Код: Выделить всё
<?php
/**
* @ignore
*/
@set_time_limit(0);
//@ignore_user_abort(true);
@ini_set('memory_limit', '64M');
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
$users_start = request_var('us', 0);
$users_step = request_var('up', 50);
$users_data = array();
$users_counter = 0;
$handle = fopen('users_to_add.csv', 'r');
while (($data = fgetcsv($handle, 0, ',')) !== false)
{
$num = count($data);
for ($c = 0; $c < $num; $c++)
{
$users_data[$users_counter][$c] = $data[$c];
}
$users_counter++;
}
fclose($handle);
//include($phpbb_root_path . 'users_to_add.' . $phpEx);
$users_list = '';
$total_users = count($users_data);
$users_this_step = min($users_start + $users_step, $total_users);
$users_this_step = ($users_this_step == 0) ? $total_users : $users_this_step;
$new_start = $users_start;
$users_fields_name = array('username', 'user_password', 'user_email', 'group_id', 'user_lang', 'user_type', 'user_regdate');
for ($i = $users_start; $i < $users_this_step; $i++)
{
$users_fields_values = array($users_data[$i][0], phpbb_hash($users_data[$i][1]), $users_data[$i][2], '2', 'en', '0', time());
for ($j = 0; $j < count($users_fields_name); $j++)
{
$users_data[$i][$j] = (empty($users_data[$i][$j])) ? $users_fields_values[$j] : $users_data[$i][$j];
$users_data[$i][$users_fields_name[$j]] = $users_fields_values[$j];
unset($users_data[$i][$j]);
}
$user_id = user_add($users_data[$i]);
if ($user_id !== false)
{
$users_list .= (($users_list == '') ? '' : ', ') . $users_data[$i]['username'];
}
$new_start++;
}
$message_text = 'Следующие пользователи были добавлены в базу данных:<br /><br />' . $users_list;
if ($new_start >= $total_users)
{
$message = 'Все указанные пользователи были успешно добавлены!<br /><br />' . $message_text;
$template->assign_vars(array(
'MESSAGE_TITLE' => 'Добавление пользователей',
'MESSAGE_TEXT' => $message
)
);
page_header('Добавление пользователей');
$template->set_filenames(array('body' => 'message_body.html'));
page_footer();
}
else
{
$meta_url = append_sid("{$phpbb_root_path}users_add.$phpEx", "us=$new_start&up=$users_step");
meta_refresh(3, $meta_url);
$message = 'Процесс добавления пользователей еще не закончен. Данная страница автоматически обновится через несколько секунд. Пожалуйста, подождите…<br /><br />' . $message_text;
trigger_error($message);
exit;
}
?>users_add.php и закачиваем в корневую директорию форума.3. Направляем браузер на файл
users_add.php. Добавление пользователей будет происходить по 50 человек за один проход. Количество добавляемых пользователей можно увеличить, исправив соответствующее число в строке $users_step = request_var('up', 50);.Внимание! Никакой гарантии работоспособности данного скрипта не дается. За идею скрипта скажите спасибо вот этому чуваку.
Любовь и боль, покой и бой я как любой несу с собой…
-
parakimax
- phpBB 1.0.0
- Сообщения: 5
- Стаж: 13 лет 7 месяцев
- Благодарил (а): 3 раза
-
Booker
- phpBB 2.0.7a
- Сообщения: 627
- Стаж: 15 лет 3 месяца
- Благодарил (а): 165 раз
- Поблагодарили: 21 раз
Re: Как добавить пользователей напрямую
Даты регистрации вроде не хватает? Или она ставится временем прохода?МайскийЖук писал(а): Здесь необходимые для регистрации поля идут в следующем порядке: имя пользователя → пароль → адрес электронной почты → ID группы → язык → тип.
-
Пчелкин
- phpBB 3.3.0
- Сообщения: 11361
- Стаж: 16 лет 8 месяцев
- Благодарил (а): 1832 раза
- Поблагодарили: 1358 раз
Re: Как добавить пользователей напрямую
Да...она появится сама в автомате...
МайскийЖук испробовал... офигел.... В миллион раз быстрей чем добавлять ручками или через СТК...
МайскийЖук испробовал... офигел.... В миллион раз быстрей чем добавлять ручками или через СТК...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
-
МайскийЖук
- phpBB 3.0.7-PL1
- Сообщения: 2535
- Стаж: 16 лет 11 месяцев
- Благодарил (а): 17 раз
- Поблагодарили: 366 раз
Как добавить пользователей напрямую
Значит пора добавлять инструкцию в «Базу знаний» в FAQ. 
Любовь и боль, покой и бой я как любой несу с собой…

