Как в Joomla использовать одну базу данных пользователей для нескольких сайтов

Как же настроить использование одной базы данных пользователей для нескольких CMS Joomla? Для этого выполните все шаги от начала до конца:

1) Открываем файл /components/com_user/controller.php

2) Находим функцию register_save()
ln 249

3) В самом конце перед строкой:

$this->setRedirect('index.php', $message);

Вставляем код:

$new_user_name                 = $user->get('username');
$new_user_email                 = $user->get('email');
$new_user_original_password     = $password;

и дальше в зависимости от того где находятся таблици пользователей остальных сайтов.

3.1) Если все несколько сайтов в одной БД с разными префиксами тогда вставляем этот код для каждого дополнительного сайта:

$db = & JFactory::getDBO();
$query = "INSERT INTO 'ИМЯ_ТАБЛИЦИ_С_ПРЕФИКСОМ' ( ПОЛЯ ) VALUES ( ЗНАЧЕНИЯ );";
$db->setQuery( $query );
$db->query();

3.2) Если надо копировать пользователя в другую БД тогда для каждого дополнительного сайта вставляем:

$option['driver']   = 'mysql';         // Драйвер 
$option['host']     = 'localhost';        // Хост
$option['user']     = 'root';           // Пользователь
$option['password'] = '123456';                  // Пароль
$option['database'] = 'other_db';          // Имя базы данных
$option['prefix']   = 'prefix_';         // Префикс таблиц (может быть пустым)
$db = & JDatabase::getInstance( $option );
$query = "INSERT INTO '#__ИМЯ_ТАБЛИЦИ_БЕЗ_ПРЕФИКСА' ( ПОЛЯ ) VALUES ( ЗНАЧЕНИЯ );";
$db->setQuery( $query );
$db->query();


Добавить комментарий


Защитный код
Обновить

Карта сайта