Joosina + Joosina

Статус
В этой теме нельзя размещать новые ответы.

luzh1n

Создатель
Регистрация
20 Янв 2008
Сообщения
20
Реакции
0
Как объеденить пользователей на двух сайта?
 
joostina*

Модуля/Компонента скорей всего нету. Можеш ручками.
 
Заходиш в phpmyadmin -> база откуда хочеш перенести юзеров - экспортируеш таблицу jos_users (это в Jooml'e, в Joostine скорей всего должно быть тагже).
После чего в этуже таблицу(jos_users), но в другой базе(куда хочеш перенести юзеров) импортируеш тот дамп что сделал.
 
А как-нибудь чтобы так было всегда? То есть не каждый раз переносить туда сюда
 
А как-нибудь чтобы так было всегда? То есть не каждый раз переносить туда сюда
В порядке бреда: запусти сайты на одной БД...
Технически - ничего сложного..
Практически - нужно немножко выдумки и ОЧЕНЬ ХОРОШИЙ хостинг
 
запусти сайты на одной БД...
не то, сайты будут совершенно разные, нужны только одинаковые пользователи.
 
не то, сайты будут совершенно разные, нужны только одинаковые пользователи.
Хм..?
Таблицы с разными префиксами и общая таблица юзерофф... не реально? ;)

Технически - ничего сложного..
Практически - нужно немножко выдумки и ОЧЕНЬ ХОРОШИЙ хостинг
Именно об этом речь.. БД будет не маленькая и количество обращений тоже..
Можно ещё извратиться, написать скрипт который будет регулярно (по cron`y, например), "объединять юзерофф".. Этот путь не менее геморройный..

Заходиш в phpmyadmin -> база откуда хочеш перенести юзеров - экспортируеш таблицу jos_users (это в Jooml'e, в Joostine скорей всего должно быть тагже).
После чего в этуже таблицу(jos_users), но в другой базе(куда хочеш перенести юзеров) импортируеш тот дамп что сделал.

У этого пути есть один недостаток.. На втором сайте тоже есть регистрация, как я понял..
Перенос дампа с одного сайта на другой.. "убъет" пользователей второго.
 
Заходиш в phpmyadmin -> база откуда хочеш перенести юзеров - экспортируеш таблицу jos_users (это в Jooml'e, в Joostine скорей всего должно быть тагже).
После чего в этуже таблицу(jos_users), но в другой базе(куда хочеш перенести юзеров) импортируеш тот дамп что сделал.

смотрите внимательно - в джумле информация о пользователях хранится не в одной таблице
 
Как объеденить пользователей на двух сайта?

Если вкратце, то вот:

если делать по простому (и две Joomla установлены в одну БД с разными префиксами), то делается это так:
открывается файлик /includes/database.php, находим там функция replacePrefix( $sql, $prefix='#__' ) и после строчки
Код:
$sql = trim( $sql );
добавляем:
Код:
$sql = str_replace( '#__users', '<префикс_таблиц_первого_сайта>_users', $sql );
$sql = str_replace( '#__core_acl_', '<префикс_таблиц_первого_сайта>_core_acl_', $sql );
$sql = str_replace( '#__messages', '<префикс_таблиц_первого_сайта>_messages', $sql );
$sql = str_replace( '#__groups', '<префикс_таблиц_первого_сайта>_groups', $sql );
$sql = str_replace( '#__session', '<префикс_таблиц_первого_сайта>_session', $sql );
впринципе всё.

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

для этого нужно в /includes/joomla.php переписать все установки кукисов (setcookie) на установку со всех сайтов на vasya.ru, примерно так (не копируйте только один к одному, эта строка приведена как пример:(
Код:
setcookie( $sessionCookieName, $session->getCookie(), false, '/', '.vasya.ru' );
т.е. даётся имя домена второго уровня с точкой перед ним! тогда кукисы со всех сайтов будут общими.
И в configuration.php $mosConfig_secret у всех сайтов должен быть одинаковый.

Это дано для 1.0.13 - не помню с какой версии поменялась функция mosHash...

Подробнее читаем тут:
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху