Новости Joomla

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

neGODnic

  • Захожу иногда
  • 140
  • 4 / 0
Перерыл весь форум, нашел много интересной и нужной инфы, но вот конкретный ответ так и смог найти на свой вопрос.
Вопрос следующего характера.
есть сайт на joomla 1.5.5                    - site.ru
хочу создать еще пару-тройку сайтов - 1.site.ru , 2.site.ru , 3.site.ru (контент совершенно разный)
+ создать форум                               - forum.site.ru

Интересует следующее, как сделать чтобы пользователь, если зашел на любом из сайтов, автоматически считался активированным на других. Т.Е. не приходилось бы регистрировать и активироваться на каждом из сайтов по нескольку раз.
Как то делал такое на phpnukе но это было оооочень давно.
И че с БД делать. Вести 1 или несколько?

Заранее благодарен ^-^
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
хе! здравствуйте боты!  :laugh:

это надо делать обработчик дополнительный и каждую из n-баз сравнивать и обновлять.
можно попробовать расширить стандартный класс обработки пользователей, но это не прокатит.
*

neGODnic

  • Захожу иногда
  • 140
  • 4 / 0
Ни чего смешного  :P !
А с чего эт ты решил что я бот?

Опять же говорю что не помню как эт делал на Нюке, но делалось это элементарно. Просто не большими изменениями в PHP. Буквально 5-10 строк.
Просто нет возможности и времени перерывать весь движок сайта и искать пару нужных строчек. Вот и надеюсь, что кто-нить из Гуру хоть раз с этим сталкивался и поможет в решении данного вопроса.
Или на крайняк разделить сайты от форума хотябы.
Либо разобраться общими усилиями. :D


Просто перерыл уже много форумов и сайтов, но конкретно похожего примера не нашел.
З.Ы. Заранее премного благодарен.

*

ShadowXak

  • Завсегдатай
  • 1602
  • 162 / 6
  • no more programming
Фей написал не про то что ты бот, а то что для сайтов на пот домене относительно основного сайта все пользователи будут считаться ботом!
« Последнее редактирование: 28.10.2008, 14:02:53 от ShadowXak »
*

ShadowXak

  • Завсегдатай
  • 1602
  • 162 / 6
  • no more programming
Такого никогда не делал, НО моё предположение таково (сразу скажу вариант чисто для ознакомления)
1. БД будет одна на все сайты (форум можно вынести на другое БД, но опять же все зависит от выбранного Форума)
2. Придётся изрядно покопать код движка каждого сайта заменив #__ на префикс редактируемого сайта, НО опять же тут можно маленько исхитриться и написать некие хаки (создать 3 категории и закрепить в модуле отображение только той информации которая закреплена за этим сайтам, меню делается аналогично).
3. Внести в конфиг файле от всех сайтов пути до кеша и темпа в одну директорию.
4. Возвращаясь к префиксам меняем #__ в коде каждого сайта на префикс основной БД:
       Пример: в основной БД префикс jos
       site1 = #__users меняем на jos_users
       site2 = #__users меняем на jos_users
       site3 = #__users меняем на jos_users
и так далее - меняються только те которые будут общие для всех сайтов!
з.ы. Ещё раз скажу х.з. заработает нет - не проверял ;)
*

neGODnic

  • Захожу иногда
  • 140
  • 4 / 0
Спасибо большое.   ^-^
Суть понял. Попробую сделать что-нить подобное, но придется копаться явно долго.

Может у кого-нить есть еще варианты?

Кстати может вопрос банальный но никогда так не делал. Да собственно и сижу на Joomla около 2 месяцев.
Если при инстале нового сайта, с нуля - укажу базу уже существующую. на которой 1 сайт уже работает?
Он ее обнулит или все-таки пропишет себе другие таблицы?

Извините, но просто нету возможности проверить.
« Последнее редактирование: 28.10.2008, 14:32:59 от neGODnic »
*

ShadowXak

  • Завсегдатай
  • 1602
  • 162 / 6
  • no more programming
вы просто указывайте другой префикс при установке!
*

neGODnic

  • Захожу иногда
  • 140
  • 4 / 0
Вот ) Голова наконецто начинает соображать. Еще раз спасибо.

Короче остается действительно перерыть кучу кода... Мда.
Народ, если кто-нить найдет пример. Хоть на китайском языке, хоть на каком дайте ссылку плиз.

*

ShadowXak

  • Завсегдатай
  • 1602
  • 162 / 6
  • no more programming
Вот ) Голова наконецто начинает соображать. Еще раз спасибо.

Короче остается действительно перерыть кучу кода... Мда.
Народ, если кто-нить найдет пример. Хоть на китайском языке, хоть на каком дайте ссылку плиз.
Насчёт описанного варианта - это врядли - как то на форуме подымалась тема данного плана, но чем дело кончилось я уже не помню!
з.ы. самое попо будет когда будет обновление на новую версию =)
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
ничего тут изобретать не надо!

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

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
и с обновлениями движков проблем не будет
единственное, все БД должны быть на одном сервере и сайты тоже
*

ShadowXak

  • Завсегдатай
  • 1602
  • 162 / 6
  • no more programming
тоже неплохой вариант ;)
*

neGODnic

  • Захожу иногда
  • 140
  • 4 / 0
Ну все сайты и базы находятся на одной хостинг площадке, так что проблемы такой возникнуть не должно.
Вопрос тогда в другом, где взять такой модуль и как прикрутить его к Joomla?
Кстати какой форум посоветует для данного проекта?
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
форум встроенный в сайт или нет?
судя по тому, что он будет в поддомене, то можно использовать SMF, phpBB.
Для первого вроде есть бридж, чтобы дважды не логиниться.
насчет второго не знаю.
*

neGODnic

  • Захожу иногда
  • 140
  • 4 / 0
еще не решил, но думаю отдельно от сайта. Дабы не нагружать юзверей ^-^
*

neGODnic

  • Захожу иногда
  • 140
  • 4 / 0
Вспомнил вроде бы как это осуществлялось.
Был сайт и форум. На сайт была подцеплена регистрация от форума. Т.Е. человек зайдя в регистрацию, вроде как бы регился на сайте, а на самом деле на форуме.
Т.Е. форма регистрации была перенаправлена на форму регистрации форума.
Таким образом можно будет подцепить любое колво сайтов. Только необходимо найти правильны код, для переадресации.

Ну вроде бы доступно описал. Мож где и ошибся, но в памяти всплыло вот такое воспоминание!

Как я и писал в самом начале, необходимо было изменить около 10 строк, переадресовать базу данных юзеров сайта на базу данных форума. тобишь все данные юзеров хранились в базе форума.
« Последнее редактирование: 28.10.2008, 21:14:13 от neGODnic »
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
не прокатит, Joomla завязана на своих пользователей, тут наоборот форум привязывается к пользователям сайта
*

neGODnic

  • Захожу иногда
  • 140
  • 4 / 0
Точно..???
Я подумал установить PHPBB 3. Вот тут нашел темку соответствующую. Мож она подойдет. ТАм и 2 моста разных есть  есть для связи баз.
http://joomlaforum.ru/index.php/topic,28499.0.html
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
можно и ВВ 3
*

neGODnic

  • Захожу иногда
  • 140
  • 4 / 0
Нашел вот такую ссылку. Думаю многим пригодится.
http://www.rocketwerx.com/products/rokbridge/installation
С английским у меня  более ли менне, но все-таки.
Тут как я понимаю, форум в сайт встроен. Интерестно а возможно его в поддомен вынести?
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
если поддомен будет смотреть на подкаталог с форумом. по идее да
*

neGODnic

  • Захожу иногда
  • 140
  • 4 / 0
А можете помочь с кодом? Коды есть выше в моем сообщении. Просто помочь их переделать на поддомен.
Думаю комуто это точно еще пригодится.
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Я в 1.5 не копенгаген, так что извини! ;)
*

neGODnic

  • Захожу иногда
  • 140
  • 4 / 0
Было бы за что извиняться  ;)
Ну че - Гуру, мож тряхнете клавиатурой и поможете начинающему Джумлисту  8) Разобраться с базами.
*

ShadowXak

  • Завсегдатай
  • 1602
  • 162 / 6
  • no more programming
Аналогично 1.5. незнаю joomla! напиши в соответсвуюущую ветку - там гуров больше ;)

Проработка данной темы в чистой теории

дано site.com, ee.site.com uu.site.com
необходимо об еденить пользователей.

делаем 3 инсталяции соответственно
ВАЖНО в качестве источника данных устанавливаем 1 БД (test)
при этом в таблицы каждой инсталяции добавляем свой префикс

site.com - jos_,
ee.site.com ee_
uu.site.com uu_

так получили три разных сайта. лепим зверей одинаковых

за них у нас отвечают в основном

jos_users
jos_usertypes
jos_groups
jos_core_*

валим таблицы с префиксом
ee_ и uu_

меняем префикс
jos_ на допустим global_


дальше самое интересное надо в запросах подменить префикс

обявляем его в дефайнах

DEFINE('_GPR','global_');


дальше чеким database.php

в основном все запросы идут через него
ага вот она родимая
function setQuery( $sql, $offset = 0, $limit = 0, $prefix='#__' ) {
      $this->_sql = $this->replacePrefix( $sql, $prefix );
      $this->_limit = intval( $limit );
      $this->_offset = intval( $offset );


$this->replacePrefix( $sql, $prefix ); ОНО

пишем внутри обработчик (честно лень писать)
который чекит имена таблиц и лепит туда другой префикс

получаеться если формируеться запрос на
#__users
#__usertypes
#__groups
#__core_*

ядро автоматом обращаеться на

global_users
global_usertypes
global_groups
global_core_*

после этого во всех копиях распространяем
database.php

вроде все

Прошу оценить элегантность решения




*

..С...е...р...ы...й..

  • Захожу иногда
  • 51
  • 110 / 2
Из компонентов CB делает свою отдельную датабазу, может в нем есть такая функция, или плагин к нему?..  думаю лучше в эту сторону смотреть.
*

pedrosoft

  • Захожу иногда
  • 367
  • 113 / 7
Вопрос:
у меня есть три сайта: портал, магазин, каталог организаций! все на Joomla! версия 1.0! надо объединить регистрацию, но чтобы контент оставался на трех сайтах один! подскажите плиз как это воплотить в жизнь?




Ответ:

Для 1.5.7 это будет выглядеть примерно так:

1) Берём файл /components/com_user/controller.php

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

3) В самом конце перед строкой:
Код: php
$this->setRedirect('index.php', $message);

вставляем код
Код: php
$new_user_name                 = $user->get('username'); 
$new_user_email                 = $user->get('email');
$new_user_original_password     = $password;

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

3а) Если все три сайта в одной БД с разными префиксами тогда вставляем этот код для каждого дополнительного сайта:
Код: php
$db = & JFactory::getDBO(); 
$query = "INSERT INTO `ИМЯ_ТАБЛИЦИ_С_ПРЕФИКСОМ` ( ПОЛЯ ) VALUES ( ЗНАЧЕНИЯ );";
$db->setQuery( $query );
$db->query();

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

Для полноты решения необходимо ещё добавить предварительные проверки на отсутствие такого пользователя в БД дополнительных сайтов, но я дальше описанного не экспериментировал.


это решение с одного очень любимого мной форума поэтому ссылку на него давать не буду
Интернет Хостинг Центр: отличные цены, лучшее качество, расположение в дата-центре «Оверсан-Меркурий»
*

Niko

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
  • Каламбия пикчерз не представляет...
$query = "INSERT INTO `#__ИМЯ_ТАБЛИЦИ_БЕЗ_ПРЕФИКСА` ( ПОЛЯ ) VALUES ( ЗНАЧЕНИЯ );"

что пишется в этой строке?
*

Prediger

  • Захожу иногда
  • 65
  • 1 / 0
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Авторизация пользователей

Автор Вик2811

Ответов: 0
Просмотров: 754
Последний ответ 27.08.2019, 13:55:52
от Вик2811
Ошибка 502 Bad Gateway на нескольких страницах

Автор Elimelech

Ответов: 1
Просмотров: 1485
Последний ответ 30.06.2017, 22:36:18
от ProtectYourSite
Favicon в поиске яндекса исчезли сразу со всех сайтов

Автор veblik

Ответов: 5
Просмотров: 2195
Последний ответ 12.12.2015, 14:42:13
от veblik
Как скрыть модуль зарегистрированных пользователей Joomla 1.5.26 ?

Автор ShcherbaVv

Ответов: 0
Просмотров: 1277
Последний ответ 05.04.2015, 19:42:08
от ShcherbaVv
Лог входа пользователей в систему

Автор Vasja555

Ответов: 1
Просмотров: 1516
Последний ответ 04.03.2015, 22:18:18
от voland