master promo
Захожу иногда

Репутация: +4/-0
Offline
Пол: 
Сообщений: 16
И все таки он существует!
|
 |
« : 15.11.2007, 18:58:16 » |
|
есть несколько проектов на joomla. у каждого из них своя бд. возможно ли их как то объединить, или хотя бы сделать так, чтобы пользователь зарегистрировавшийся на одном проекте, мог со своими данными зайти на другой. спасибо.
|
|
|
|
|
Записан
|
|
|
|
master promo
Захожу иногда

Репутация: +4/-0
Offline
Пол: 
Сообщений: 16
И все таки он существует!
|
 |
« Ответ #1 : 15.11.2007, 22:49:33 » |
|
что никто не может помочь с данным вопросом?
|
|
|
|
|
Записан
|
|
|
|
|
era
|
 |
« Ответ #2 : 15.11.2007, 22:57:04 » |
|
в аську завтра стукни мне - расскажу как сделать
|
|
|
|
|
Записан
|
|
|
|
master promo
Захожу иногда

Репутация: +4/-0
Offline
Пол: 
Сообщений: 16
И все таки он существует!
|
 |
« Ответ #3 : 15.11.2007, 22:59:15 » |
|
спасибо, друг!
|
|
|
|
|
Записан
|
|
|
|
master promo
Захожу иногда

Репутация: +4/-0
Offline
Пол: 
Сообщений: 16
И все таки он существует!
|
 |
« Ответ #4 : 20.11.2007, 17:11:50 » |
|
чтото написал тебе, и нет от тебя ответа. может кто другой поможет решить данный вопрос?
|
|
|
|
|
Записан
|
|
|
|
|
era
|
 |
« Ответ #5 : 21.11.2007, 07:48:35 » |
|
Не вижу что-то. Какой у тебя ICQ UIN?
|
|
|
|
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #6 : 21.11.2007, 11:52:22 » |
|
era - а тут не расскажешь? думаю что многим было бы интересно
|
|
|
|
|
Записан
|
|
|
|
|
era
|
 |
« Ответ #7 : 21.11.2007, 11:56:32 » |
|
если делать по простому (и две 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 );
впринципе всё. если оба сайта расположены в пределах одного домена второго уровня, т.е. например www.vasya.ru www.pupkin.vasya.ru www.drugoi.vasya.ru то можно сделать что-бы при переходе между сайтами не требовалось заного логинеться, т.е. единая регистрация. для этого нужно в /includes/joomla.php переписать все установки кукисов (setcookie) на установку со всех сайтов на vasya.ru, примерно так (не копируйте только один к одному, эта строка приведена как пример): setcookie( $sessionCookieName, $session->getCookie(), false, '/', '.vasya.ru' );
т.е. даётся имя домена второго уровня с точкой перед ним! тогда кукисы со всех сайтов будут общими. И в configuration.php $mosConfig_secret у всех сайтов должен быть одинаковый. Это дано для 1.0.13 - не помню с какой версии поменялась функция mosHash...
|
|
|
|
« Последнее редактирование: 21.11.2007, 12:26:33 от era »
|
Записан
|
|
|
|
|
ART-DELI
|
 |
« Ответ #8 : 21.11.2007, 12:13:59 » |
|
Я тоже не прочь узнать..В дальнейшем планирую что то подобное. Еще был признателен, если скажите возможно ли обледенить пользователей не с одного хостинга, а с нескольких площадок. Заранее благодарен. 
|
|
|
|
|
Записан
|
|
|
|
|
era
|
 |
« Ответ #9 : 21.11.2007, 12:27:40 » |
|
возможно ли обледенить пользователей не с одного хостинга, а с нескольких площадок.
В данном случае нет, но придумать что-нибыдь посложнее можно
|
|
|
|
|
Записан
|
|
|
|
|
ART-DELI
|
 |
« Ответ #10 : 21.11.2007, 12:34:38 » |
|
Огромное спасибо... А по моему вопросу может все таки подумаем как то на досуге)) 
|
|
|
|
|
Записан
|
|
|
|
|
ART-DELI
|
 |
« Ответ #11 : 21.11.2007, 12:37:10 » |
|
Еще вопросик.... После обединения например нужно чтобы одна джумла видела только своих пользователей, а вторая и своих и пользователей первой..Это возможно как то? 
|
|
|
|
|
Записан
|
|
|
|
|
era
|
 |
« Ответ #12 : 21.11.2007, 12:41:32 » |
|
ужас...
если придумывать "посложнее" то там можно такое предусмотреть
|
|
|
|
|
Записан
|
|
|
|
antfrolov
Осваиваюсь на форуме
 
Репутация: +2/-1
Offline
Сообщений: 99
|
 |
« Ответ #13 : 30.11.2007, 03:10:39 » |
|
если делать по простому (и две 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 );
впринципе всё. если оба сайта расположены в пределах одного домена второго уровня, т.е. например www.vasya.ru www.pupkin.vasya.ru www.drugoi.vasya.ru то можно сделать что-бы при переходе между сайтами не требовалось заного логинеться, т.е. единая регистрация. для этого нужно в /includes/joomla.php переписать все установки кукисов (setcookie) на установку со всех сайтов на vasya.ru, примерно так (не копируйте только один к одному, эта строка приведена как пример): setcookie( $sessionCookieName, $session->getCookie(), false, '/', '.vasya.ru' );
т.е. даётся имя домена второго уровня с точкой перед ним! тогда кукисы со всех сайтов будут общими. И в configuration.php $mosConfig_secret у всех сайтов должен быть одинаковый. Это дано для 1.0.13 - не помню с какой версии поменялась функция mosHash... Спасибо! Огромное и человеческое!!! Второй вариант не проканал, зато первый - работает!
|
|
|
|
|
Записан
|
|
|
|
|
|
Urich
Захожу иногда

Репутация: +0/-1
Offline
Сообщений: 12
|
 |
« Ответ #15 : 16.02.2008, 05:26:14 » |
|
Не получается ничего, если общая база пользователей работает, то при переходе между сайтами приходиться снова вводить логин и пароль, что крайне раздражает!  Итак на сегодняшний день мы имеем: Для синхронизации определенных таблиц нескольких раздельных установок 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 ); Далее можно перечислить все необходимые таблицы, которые должны быть общими... Дальше работаем с cookies: В файле site.ru/news/includes/joomla.php сделал такие изменения: строки setcookie( $sessionCookieName, '-', false, '/' ); setcookie( $sessionCookieName, $session->getCookie(), false, '/' ); setcookie( $remCookieName, $remCookieValue, $lifetime, '/' ); изменил на setcookie( $sessionCookieName, '-', false, '/', '.site.ru' ); setcookie( $sessionCookieName, $session->getCookie(), false, '/', '.site.ru' ); setcookie( $remCookieName, $remCookieValue, $lifetime, '/', '.site.ru' ); И в site.ru/news/configuration.php сделал $mosConfig_secret таким же, как в site.ru/configuration.php в корне. Не получается сделать общие куки! Хоть ты убейся головой об стену :-[
|
|
|
|
|
Записан
|
|
|
|
Urich
Захожу иногда

Репутация: +0/-1
Offline
Сообщений: 12
|
 |
« Ответ #16 : 18.02.2008, 02:50:45 » |
|
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Offline
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #17 : 27.02.2008, 14:33:23 » |
|
Добрый день!
Всё прекрасно работает с общими таблицами, но вот как настроить cookies если я свой второй сайт ставлю за слешем, ну к примеру mysite.ru/site2, то как должна вглядеть строка cookies setcookie( $sessionCookieName, '-', false, '/' ); ?
Спасибо.
|
|
|
|
|
Записан
|
|
|
|
|
cagami
Гость
|
 |
« Ответ #18 : 26.03.2008, 11:30:50 » |
|
era просим просим кусисы ((=
|
|
|
|
|
Записан
|
|
|
|
|
era
|
 |
« Ответ #19 : 26.03.2008, 11:44:03 » |
|
может сразу дистрибутив собрать?
|
|
|
|
|
Записан
|
|
|
|
master promo
Захожу иногда

Репутация: +4/-0
Offline
Пол: 
Сообщений: 16
И все таки он существует!
|
 |
« Ответ #20 : 27.03.2008, 18:46:28 » |
|
да, естественно скромненький компонент, который бы помог стольким людям.
|
|
|
|
|
Записан
|
|
|
|
Baxa
Захожу иногда

Репутация: +2/-0
Offline
Сообщений: 18
|
 |
« Ответ #21 : 30.03.2008, 16:02:40 » |
|
чё та в админку не зайти мне после обьединения пользователей  в первый сайт - могу, а во втором, где правил все - не могу
|
|
|
|
|
Записан
|
|
|
|
|
cagami
Гость
|
 |
« Ответ #22 : 04.04.2008, 08:10:46 » |
|
чё та в админку не зайти мне после обьединения пользователей  в первый сайт - могу, а во втором, где правил все - не могу а ты пароль superuser'a от первого сайта? набераешь?
|
|
|
|
« Последнее редактирование: 10.04.2008, 03:58:59 от cagami »
|
Записан
|
|
|
|
|
Frysmile
Гость
|
 |
« Ответ #23 : 09.04.2008, 18:36:03 » |
|
а если базы находятся не в одной а в разных?
пример: bd1 bd2
но все они на localhost
что при этом случае делать надо?
|
|
|
|
|
Записан
|
|
|
|
|
Frysmile
Гость
|
 |
« Ответ #24 : 10.04.2008, 16:56:48 » |
|
никто не поможет?
|
|
|
|
|
Записан
|
|
|
|
|
cagami
Гость
|
 |
« Ответ #25 : 14.04.2008, 15:28:19 » |
|
чё та в админку не зайти мне после обьединения пользователей  в первый сайт - могу, а во втором, где правил все - не могу самое интересное что я не могу на оборот т.е. где правил могу а где по старому осталось не могу
|
|
|
|
« Последнее редактирование: 14.04.2008, 17:12:30 от cagami »
|
Записан
|
|
|
|
Niko
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 17
Каламбия пикчерз не представляет...
|
 |
« Ответ #26 : 09.06.2008, 19:17:46 » |
|
если делать по простому (и две 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 );
впринципе всё. Возможно ли такое в Joomla 1.5?
|
|
|
|
|
Записан
|
|
|
|
esmark
Осваиваюсь на форуме
 
Репутация: +6/-0
Offline
Пол: 
Сообщений: 119
|
 |
« Ответ #27 : 30.07.2008, 02:17:09 » |
|
А никто не пробовал multisites manager и прочие аналогичные компоненты? Кажется они подобное позволяют реализовать.
|
|
|
|
|
Записан
|
|
|
|
minuby
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 36
|
 |
« Ответ #28 : 19.02.2009, 13:09:40 » |
|
Возможно ли такое в Joomla 1.5?
Возможно. Проблема только с повторным входом на сайт, после авторизации на одном сайте - на другом надо заново логинится. Здесь надо бы сделать проверку cookies чтобы не надо было логиниться на втором сайте. era, может поможешь?
|
|
|
|
|
Записан
|
|
|
|
|
era
|
 |
« Ответ #29 : 19.02.2009, 13:20:02 » |
|
можно попробовать на неделе (сегодня времени нет)
|
|
|
|
|
Записан
|
|
|
|
|