Форум русской поддержки Joomla!® CMS
08.12.2016, 09:57:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Массовая регистрация пользователей

 (Прочитано 562 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Санчо
Давно я тут
****

Репутация: +10/-0
Offline Offline

Пол: Мужской
Сообщений: 207


Алексей Харламенков


« : 10.02.2015, 00:27:07 »

Моё почтение, уважаемые Коллеги!

Столкнулся с проблемой: нужно зарегистрировать на сайте множество пользователей с паролями, выдаваемыми администратором.

Саморегистрация запрещена; ручная регистрация затягивается на месяцы и оскорбляет пользователей.

Прошу помощи в решении этой проблемы.
Записан
Aleks.Denezh
Практически профи
*******

Репутация: +372/-4
Offline Offline

Пол: Мужской
Сообщений: 2762



« Ответ #1 : 10.02.2015, 00:27:52 »

http://inet-reklama.com/blog/joomla/programmnaya-registratsiya-polzovatelya-v-joomla-2-5-i-vyshe
Записан
Санчо
Давно я тут
****

Репутация: +10/-0
Offline Offline

Пол: Мужской
Сообщений: 207


Алексей Харламенков


« Ответ #2 : 10.02.2015, 00:53:36 »

Istaan, спасибо!
Я ожидал, что решением будет внешний компонент.

Попрошу ещё.
К сожалению, я не программист, а, всего лишь "пользователь с навыками алгоритмизации", поэтому прошу Вас о законченном примере.
Я прочитал все комментарии к той статье, но, всё равно, остались вопросы:
  • как запустить этот скрипт из "Joomla!"? установив его как компонент? но тогда нужно сопутствующая обёртка... Или достаточно положить его в корень Joomla! и открыть его по абсолютному адресу?
  • зарегистрированному пользователю нужно отправить письмо с регистрационными данными, иначе это всё нужно будет делать вручную.
Записан
Aleks.Denezh
Практически профи
*******

Репутация: +372/-4
Offline Offline

Пол: Мужской
Сообщений: 2762



« Ответ #3 : 10.02.2015, 01:04:19 »

Вставить например в index.php вашего шаблона сайта!
и вызвать sitename.ru/?task=massReg
Код
$input = JFactory::getApplication()->input;
if ( $input->getCmd( 'task' ) === 'massReg' ) {
$baseUrl = JUri::base();
$login = 'VasyaPupkin';
$password = 'passord1234';
$userEmail = 'vasyapupkin@inet-reklama.com';
$user = new JUser;
$userData = array( 'name' => 'Вася Пупкин',
'username' => $login,
'password' => $password,
'password2' => $password,
'email' => '',
'groups' => array( 2 )
);
$user->bind( $userData );
if ( $user->save() ) {
//Если юзер зереген отпраяляем ему мыло что он зареген!
$config = JFactory::getConfig(); //получаем настройки сайта
$mailer = JFactory::getMailer(); //Получаем экземпляр класса JMail
$mailer->IsHTML( true ); //Указываем что письмо будет в формате HTML
$mailer->setSender( array( $config->get( 'mailfrom' ), $config->get( 'fromname' ) ) ); //Указываем отправителя письма
$mailer->addRecipient( $config->get( 'mailfrom' ) ); //указываем получателя письма
$mailer->setSubject( 'Вы зарегестрированные на сайте ' . $baseUrl ); //Тема письма
$mailer->setBody( '<p>Ваш логин: ' . $login . '</p><p>Ваш пароль: ' . $password . '</p>' ); //Добавляем текст письма
$mailer->send(); //Отправляем письмо
}
}
Записан
Санчо
Давно я тут
****

Репутация: +10/-0
Offline Offline

Пол: Мужской
Сообщений: 207


Алексей Харламенков


« Ответ #4 : 10.02.2015, 01:08:19 »

Istaan! большое спасибо!

Сделаю на днях и отпишусь о результатах.
Записан
Aleks.Denezh
Практически профи
*******

Репутация: +372/-4
Offline Offline

Пол: Мужской
Сообщений: 2762



« Ответ #5 : 10.02.2015, 01:16:18 »

Только не забудьте что вам наверно в цикле надо будет сделать, если например список юзеров есть в базе какой то.. или подготовить массив с юзерами..
Записан
fil
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 39



« Ответ #6 : 21.08.2015, 23:17:03 »

Вставить например в index.php вашего шаблона сайта!
и вызвать sitename.ru/?task=massReg
Код
$input = JFactory::getApplication()->input;
if ( $input->getCmd( 'task' ) === 'massReg' ) {
$baseUrl = JUri::base();
$login = 'VasyaPupkin';
$password = 'passord1234';
$userEmail = 'vasyapupkin@inet-reklama.com';
$user = new JUser;
$userData = array( 'name' => 'Вася Пупкин',
'username' => $login,
'password' => $password,
'password2' => $password,
'email' => '',
'groups' => array( 2 )
);
$user->bind( $userData );
if ( $user->save() ) {
//Если юзер зереген отпраяляем ему мыло что он зареген!
$config = JFactory::getConfig(); //получаем настройки сайта
$mailer = JFactory::getMailer(); //Получаем экземпляр класса JMail
$mailer->IsHTML( true ); //Указываем что письмо будет в формате HTML
$mailer->setSender( array( $config->get( 'mailfrom' ), $config->get( 'fromname' ) ) ); //Указываем отправителя письма
$mailer->addRecipient( $config->get( 'mailfrom' ) ); //указываем получателя письма
$mailer->setSubject( 'Вы зарегестрированные на сайте ' . $baseUrl ); //Тема письма
$mailer->setBody( '<p>Ваш логин: ' . $login . '</p><p>Ваш пароль: ' . $password . '</p>' ); //Добавляем текст письма
$mailer->send(); //Отправляем письмо
}
}

Немного не понял, не могли бы пояснить?  Есть список пользователей которых нужно зарегистрировать, логины и пароли тоже есть, (все это в Excel  скинули, там около 5 000 пользователей получается).
- Как их зарегистрировать при помощи Вашего скрипта?  Всех пользователей, пароли и т.п. через запятую указывать?
- Пользователю письмо отправлять не нужно, значит эта часть кода не нужна получается ?

Код:
$user->bind( $userData );
if ( $user->save() ) {
//Если юзер зереген отпраяляем ему мыло что он зареген!
$config = JFactory::getConfig(); //получаем настройки сайта
$mailer = JFactory::getMailer(); //Получаем экземпляр класса JMail
$mailer->IsHTML( true ); //Указываем что письмо будет в формате HTML
$mailer->setSender( array( $config->get( 'mailfrom' ), $config->get( 'fromname' ) ) ); //Указываем отправителя письма
$mailer->addRecipient( $config->get( 'mailfrom' ) ); //указываем получателя письма
$mailer->setSubject( 'Вы зарегестрированные на сайте ' . $baseUrl ); //Тема письма
$mailer->setBody( '<p>Ваш логин: ' . $login . '</p><p>Ваш пароль: ' . $password . '</p>' ); //Добавляем текст письма
$mailer->send(); //Отправляем письмо
}
« Последнее редактирование: 21.08.2015, 23:26:44 от fil » Записан
Aleks.Denezh
Практически профи
*******

Репутация: +372/-4
Offline Offline

Пол: Мужской
Сообщений: 2762



« Ответ #7 : 21.08.2015, 23:37:33 »

Немного не понял, не могли бы пояснить?  Есть список пользователей которых нужно зарегистрировать, логины и пароли тоже есть, (все это в Excel  скинули, там около 5 000 пользователей получается).
- Как их зарегистрировать при помощи Вашего скрипта?  Всех пользователей, пароли и т.п. через запятую указывать?
- Пользователю письмо отправлять не нужно, значит эта часть кода не нужна получается ?
1. Считать Excel файл, получить данные, в цикле присвоить нужные параметры (логин - логину, пароль паролю, мыло мылу!
2. да!
Записан
fil
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 39



« Ответ #8 : 21.08.2015, 23:53:19 »

ок. попробую. Спасибо!
Записан
AdWeb
Завсегдатай
*****

Репутация: +26/-2
Offline Offline

Пол: Мужской
Сообщений: 722


« Ответ #9 : 23.08.2015, 00:21:00 »

1. Считать Excel файл, получить данные, в цикле присвоить нужные параметры (логин - логину, пароль паролю, мыло мылу!
2. да!
а для тех кто в танке и далек от программирования, можно на пальцах объяснить как выдернуть данные из файла (цсв) и если знаете, то как через пхпмайадмин экспортировать из таблицы только определенные данные (имя, логин, мыло, пасс), недавно базу набивал  благо больша часть тоже с сайтов на Joomla, но вот с самописов и др платформ хотелось бы автоматизировать процесс, както...
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet