0 Пользователей и 1 Гость просматривают эту тему.
  • 10 Ответов
  • 1140 Просмотров
*

lopata12

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Здравствуйте,
есть в MySQL таблица с 3-мя колонками ID USER USERNAME и 6000 строк.
можно ли ее както вписать в таблицу jos_users (таблица пользователей Joomla), пользователи будут не активны,  пароли будут выдаваться персонально.
"обчитал" уже много форумов и тем по слиянию таблиц, но все както безуспешно.
пробовал штатными средствами php 5.3 не получается скопировать и переместить, пробовал дописывать стобцы как jos_users, на этапе добавления индексов стопнулось, почемуто не хотел принимать столбик ID Индекс Prymary.
спасибо.
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Как программно зарегить юзера: http://ссылка вырезана, так как домен распространяет вирусы/blog/joomla/programmnaya-registratsiya-polzovatelya-v-joomla-2-5-i-vyshe
Выбираете все ваши 6000 строк, поля только USER, и USERNAME
А дальше в цикле создаете 6к юзеров, с рандомным паролем и E-mail!

p.s. не забыть set_time_limit поставить в ноль!
*

lopata12

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
спасибо)
*

lopata12

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
сделал такой запрос в mysql:

INSERT INTO `ht6kv_users`( `name`, `username` )  
SELECT  `name`, `username`
FROM `ht6kv_users1`  
WHERE `name`

п.с. вроде получилось
добавились все 6000 строк с пустыми паролями и емейлом. я так понимаю Joomla блокирует вход по пустым паролем. но на всякий я их дезактивировал.

« Последнее редактирование: 07.01.2015, 15:23:48 от lopata12 »
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Это неправильный подход, попробуйте теперь любому из этих юзеров для примера что-либо поменять и поиграться с их правами.
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
сделал такой запрос в mysql:

INSERT INTO `ht6kv_users`( `name`, `username` )  
SELECT  `name`, `username`
FROM `ht6kv_users1`  
WHERE `name`

п.с. вроде получилось
добавились все 6000 строк с пустыми паролями и емейлом. я так понимаю Joomla блокирует вход по пустым паролем. но на всякий я их дезактивировал.


В итоге у вас скорее всего ничего не получилось, скорее всего вам не получится зайти под любым из этих юзеров и выдать им права..
*

lopata12

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Здравствуйте
Заходит нормально, единственное нужно заходить в каждого и давать ему права, пароль и мейл. В таблицу MySQL тоже нормально все записывает, как у обычно созданного юзера.
Сommunity builder синхронизирует только заполненных юзеров.  Какие могут  быть подводные камни с этим методом?


п.с. а вот как скопировать Id столбик, выдает ошибку
SQL запрос:
INSERT INTO `ht6kv_users3` (`id`)
SELECT `id`
FROM `ht6kv_users`
Ответ MySQL: Документация
#1146 - Table 'wazr_u1.ht6kv_users3' doesn't exist


Не совсем разобрался с Вашим советом Istaan, не хватает знаний )
"
Как программно зарегить юзера: http://ссылка вырезана, так как домен распространяет вирусы/blog/joomla/programmnaya-registratsiya-polzovatelya-v-joomla-2-5-i-vyshe
Выбираете все ваши 6000 строк, поля только USER, и USERNAME
А дальше в цикле создаете 6к юзеров, с рандомным паролем и E-mail!
p.s. не забыть set_time_limit поставить в ноль!
"
куда вставить этот код...

$user = new JUser;
$userData = array( 'name' => 'Вася Пупкин',
    'username' => 'VasyaPupkin',
    'password' => 'passord1234',
    'password2' => 'passord1234',
    'email' => 'vasyapupkin@ссылка вырезана, так как домен распространяет вирусы',
    'groups' => array( 2 )
);
$user->bind( $userData );
if ( $user->save() ) {
    echo 'Пользователь ' . $user->username . ' успешно зарегестрирован!';

можно поподробнее куда вставить данный код ...


спасибо за ответ.
« Последнее редактирование: 08.01.2015, 18:20:06 от lopata12 »
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
А где располагается ваш код копирования пользователей?
Вообще этот код вставляется в цикл перебора результатов запроса из старой базы. Id вы никак не скопируете. Пароль можете оставлять пустым - J сама его сформирует, а вот email нужно записывать обязательно.
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Код создания юзера можно вставить где угодно, хоть в файле index.php вашего шаблона
*

lopata12

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
спасибо, вы ребята настоящие профи! будем  пробовать)
*

Mick_20

  • Завсегдатай
  • 1005
  • 3 / 0
  • Что тут писать?
Re: Как создать 6000 новых пользователей?
« Ответ #10 : 16.11.2016, 08:16:15 »
Цитировать
$user = new JUser;
$userData = array( 'name' => 'Вася Пупкин',
    'username' => 'VasyaPupkin',
    'password' => 'passord1234',
    'password2' => 'passord1234',
    'email' => 'vasyapupkin@ссылка вырезана, так как домен распространяет вирусы',
    'groups' => array( 2 )
);
$user->bind( $userData );
if ( $user->save() ) {
    echo 'Пользователь ' . $user->username . ' успешно зарегестрирован!';

спасибо. все работает как часы.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться