LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
27.05.2012, 18:02:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: 1 2 [Все]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: объединение пользователей в нескольких joomla  (Прочитано 11983 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
master promo
Захожу иногда
**

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

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


И все таки он существует!


« : 15.11.2007, 18:58:16 »

есть несколько проектов на joomla. у каждого из них своя бд. возможно ли их как то объединить,  или хотя бы сделать так, чтобы пользователь зарегистрировавшийся на одном проекте, мог со своими данными зайти на другой. спасибо.
Записан
master promo
Захожу иногда
**

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

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


И все таки он существует!


« Ответ #1 : 15.11.2007, 22:49:33 »

что никто не может помочь с данным вопросом?
Записан
era
Dev Team
******

Репутация: +333/-4
Online Online

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


В туалете лучше быть пользователем, чем админом.


« Ответ #2 : 15.11.2007, 22:57:04 »

в аську завтра стукни мне - расскажу как сделать
Записан
master promo
Захожу иногда
**

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

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


И все таки он существует!


« Ответ #3 : 15.11.2007, 22:59:15 »

спасибо, друг!
Записан
master promo
Захожу иногда
**

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

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


И все таки он существует!


« Ответ #4 : 20.11.2007, 17:11:50 »

чтото написал тебе, и нет от тебя ответа. может кто другой поможет решить данный вопрос?
Записан
era
Dev Team
******

Репутация: +333/-4
Online Online

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


В туалете лучше быть пользователем, чем админом.


« Ответ #5 : 21.11.2007, 07:48:35 »

Не вижу что-то.
Какой у тебя ICQ UIN?
Записан
beliyadm
Профи
********

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

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


Севастополь==Россия


« Ответ #6 : 21.11.2007, 11:52:22 »

era - а тут не расскажешь? думаю что многим было бы интересно
Записан
era
Dev Team
******

Репутация: +333/-4
Online Online

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


В туалете лучше быть пользователем, чем админом.


« Ответ #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
Живу я здесь
******

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

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


Не успеешь ты – сделают другие.


« Ответ #8 : 21.11.2007, 12:13:59 »

Я тоже не прочь узнать..В дальнейшем планирую что то подобное.
Еще был признателен, если скажите возможно ли обледенить пользователей не с одного хостинга, а с нескольких площадок.



Заранее благодарен.

 laugh laugh
Записан
era
Dev Team
******

Репутация: +333/-4
Online Online

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


В туалете лучше быть пользователем, чем админом.


« Ответ #9 : 21.11.2007, 12:27:40 »

возможно ли обледенить пользователей не с одного хостинга, а с нескольких площадок.

В данном случае нет, но придумать что-нибыдь посложнее можно
Записан
ART-DELI
Живу я здесь
******

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

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


Не успеешь ты – сделают другие.


« Ответ #10 : 21.11.2007, 12:34:38 »

Огромное спасибо... А по моему вопросу может все таки подумаем как то на досуге)) Grin
Записан
ART-DELI
Живу я здесь
******

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

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


Не успеешь ты – сделают другие.


« Ответ #11 : 21.11.2007, 12:37:10 »

Еще вопросик.... После обединения например нужно чтобы одна джумла видела только своих пользователей, а вторая и своих и пользователей первой..Это возможно как то?  Wink
Записан
era
Dev Team
******

Репутация: +333/-4
Online Online

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


В туалете лучше быть пользователем, чем админом.


« Ответ #12 : 21.11.2007, 12:41:32 »

ужас...

если придумывать "посложнее" то там можно такое предусмотреть
Записан
antfrolov
Осваиваюсь на форуме
***

Репутация: +2/-1
Offline 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...

Спасибо! Огромное и человеческое!!! Второй вариант не проканал, зато первый - работает!
Записан
antfrolov
Осваиваюсь на форуме
***

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

Сообщений: 99


« Ответ #14 : 16.01.2008, 10:59:47 »

Попробовал сделать всё по инструкции, и получилось следующее... Sad
http://joomlaforum.ru/index.php/topic,25094.0.html
Записан
Urich
Захожу иногда
**

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

Сообщений: 12


« Ответ #15 : 16.02.2008, 05:26:14 »

Не получается ничего, если общая база пользователей работает, то при переходе
между сайтами приходиться снова вводить логин и пароль, что крайне раздражает! Huh Huh Huh

Итак на сегодняшний день мы имеем:
Для синхронизации определенных таблиц нескольких раздельных установок 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 Offline

Сообщений: 12


« Ответ #16 : 18.02.2008, 02:50:45 »

По ходу вопрос с куками остается открытым Huh Huh Huh
Записан
bzzik
JComments Tester
*

Репутация: +219/-0
Offline 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
Dev Team
******

Репутация: +333/-4
Online Online

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


В туалете лучше быть пользователем, чем админом.


« Ответ #19 : 26.03.2008, 11:44:03 »

может сразу дистрибутив собрать?
Записан
master promo
Захожу иногда
**

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

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


И все таки он существует!


« Ответ #20 : 27.03.2008, 18:46:28 »

да, естественно скромненький компонент, который бы помог стольким людям.
Записан
Baxa
Захожу иногда
**

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

Сообщений: 18



« Ответ #21 : 30.03.2008, 16:02:40 »

чё та в админку не зайти мне после обьединения пользователей Sad
в первый сайт - могу, а во втором, где правил все - не могу
Записан
cagami
Гость
« Ответ #22 : 04.04.2008, 08:10:46 »

чё та в админку не зайти мне после обьединения пользователей Sad
в первый сайт - могу, а во втором, где правил все - не могу
а ты пароль 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 »

чё та в админку не зайти мне после обьединения пользователей Sad
в первый сайт - могу, а во втором, где правил все - не могу
самое интересное что я не могу на оборот
т.е. где правил могу
а где по старому осталось не могу
« Последнее редактирование: 14.04.2008, 17:12:30 от cagami » Записан
Niko
Захожу иногда
**

Репутация: +0/-0
Offline 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 Offline

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


« Ответ #27 : 30.07.2008, 02:17:09 »

А никто не пробовал multisites manager и прочие аналогичные компоненты? Кажется они подобное позволяют реализовать.
Записан
minuby
Осваиваюсь на форуме
***

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

Сообщений: 36



« Ответ #28 : 19.02.2009, 13:09:40 »

Возможно ли такое в Joomla 1.5?
Возможно. Проблема только с повторным входом на сайт, после авторизации на одном сайте - на другом надо заново логинится. Здесь надо бы сделать проверку cookies чтобы не надо было логиниться на втором сайте. era, может поможешь?
Записан
era
Dev Team
******

Репутация: +333/-4
Online Online

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


В туалете лучше быть пользователем, чем админом.


« Ответ #29 : 19.02.2009, 13:20:02 »

можно попробовать на неделе (сегодня времени нет)
Записан
Mudraya
Осваиваюсь на форуме
***

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

Сообщений: 33


« Ответ #30 : 07.07.2009, 01:55:17 »

Возможно. Проблема только с повторным входом на сайт, после авторизации на одном сайте - на другом надо заново логинится. Здесь надо бы сделать проверку cookies чтобы не надо было логиниться на втором сайте. era, может поможешь?
Скажите пожалуйста, решилась ли проблема с 1.5?
Записан
alexzotov
Осваиваюсь на форуме
***

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

Сообщений: 26


« Ответ #31 : 17.11.2009, 00:31:44 »

подскажите смог ли кто-нибудь одолеть проблему с кукисами, под Joomla 1.0.0.15 ?
Записан
Sto-auto
Давно я тут
****

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

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


не останавливайся...


« Ответ #32 : 28.02.2011, 01:40:41 »

Как реализовать для Joomla 1.5 ? Какие есть решение. Почему так тихо по этой теме. Напишите кто реализовал, не ленитесь. Большое спасибо!
Записан
vygi
Гость
« Ответ #33 : 30.04.2011, 14:58:00 »

setcookie( $sessionCookieName, '-', false, '/', '.сайт.ru', 0 );
setcookie( $sessionCookieName, $session->getCookie(), false, '/', '.сайт.ru', 0 );
setcookie( $remCookieName, $remCookieValue, $lifetime, '/', '.сайт.ru', 0 );
setcookie( $remCookieName, ' ', $lifetime, '/', '.сайт.ru', 0 );
setcookie( 'jos_user_template', "$jos_change_template", time()+$lifetime, '/', '.сайт.ru', 0);
setcookie( 'jos_user_template', '', time()+3600 );
setcookie( 'mosvisitor', '/', '.сайт.ru', 0 );

Вот так работает при включении SEF URLs с JoomSEF.
Но тогда сайт не отображается в IE6, IE7 и в SunBlog не отображаются корректно аватары во всех браузерах.
Прописал вручную в configuration.php $mosConfig_live_site = ''; адрес сайта $mosConfig_live_site = 'http://сайт.ru';
В IE6, IE7 и в SunBlog все заработало.
SEF URLs с JoomSEF также работают, но одна регистрация на все домены пропала.

Это я делал на Joomla 1.0.15
Может сделать дополнительный $mosConfig_live_site в Joomla.php ? Например $mosConfig_live_site2
« Последнее редактирование: 30.04.2011, 15:18:42 от vygi » Записан
Страниц: 1 2 [Все]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | 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