tFF.msk.ru :: Sharing tFFed mind
Май 28, 2024, 12:36:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости: Пропал ребенок. Вся информация и фотографии здесь.
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Mambo - SMF integration  (Прочитано 12129 раз)
0 Пользователей и 1 Гость смотрят эту тему.
tFF
Administrator
Sr. Member
*****
Offline Offline

Сообщений: 422



WWW
« : Апрель 07, 2005, 10:25:46 »

для интеграции мамбы и смф существует два способа. в одном из них мною была найдена ошибка и пофиксена.
об этом я сообщил на форуме ребятам, написавшим пакет для интеграции.

хочу сказать сразу, что этот вариант пока не работает у меня так, как мне надо. а у кого работает?

в следующем сообщении приведу оригинал письма с того форума.
« Последнее редактирование: Апрель 07, 2005, 10:47:16 от tFF » Записан

So it goes...
tFF
Administrator
Sr. Member
*****
Offline Offline

Сообщений: 422



WWW
« Ответ #1 : Апрель 07, 2005, 10:26:49 »

Has anybody of you tried to get inside of the code to solve the prob?
look at /administrator/components/com_smf/
functions.smf.php
Код:
function isSMFInstalled()
{
global $database, $mosConfig_absolute_path, $mosConfig_db, $smf_prefix;
include_once( $mosConfig_absolute_path . '/administrator/components/com_smf/config.smf.php' );
$result = mysql_list_tables($mosConfig_db);
while ($row = mysql_fetch_row($result)) {
        if (substr($row[0],0,4) == $smf_prefix) {
      return true;
      }
    }
    return false;
}

And what do you think of it? Look here:
if (substr($row[0],0,4) == $smf_prefix) {

It's written here that prefix should be no longer than 4 symbols.
What's that? That's a glitch and a cosiquence of author is not trying to cover all the angles.

Here's a 5 minute hack for me i've made. It's not universal and doesn't prevent user from entering incorrect data (simply change the above mentioned line to this one shown below):
Код:
if ((strpos($row[0],$smf_prefix)!==false)&&(strpos($row[0],$smf_prefix)==0)) {

So, finally u should get this:
Код:
function isSMFInstalled()
{
global $database, $mosConfig_absolute_path, $mosConfig_db, $smf_prefix;
include_once( $mosConfig_absolute_path . '/administrator/components/com_smf/config.smf.php' );
$result = mysql_list_tables($mosConfig_db);
while ($row = mysql_fetch_row($result)) {
if ((strpos($row[0],$smf_prefix)!==false)&&(strpos($row[0],$smf_prefix)==0)) {
      return true;
      }
    }
    return false;
}

What has been changed:
1. here we check whether the prefix could be found in table's name
2. then if it is found we check whether the found string is at the very beginning of the name

Some side-effects here:
suppose i have prefix "msu_smf_"
so if i enter...
..."msu_smf_" - match => correct prefix
..."msu_smf" - match => component thinks the prefix is correct
..."msu_sdf" - no match => incorrect prefix

As u may see the hack doesn't prevent admin from making easy mistakes.
But it works. The purpose was to make one-line hack without any extra sub-routines.
« Последнее редактирование: Апрель 07, 2005, 10:33:39 от tFF » Записан

So it goes...
tFF
Administrator
Sr. Member
*****
Offline Offline

Сообщений: 422



WWW
« Ответ #2 : Апрель 08, 2005, 02:04:12 »

Грамотное решение по изменению отображения встроенного в мамбу форума. При этом пользователь сам выбирает, как ему просматривать форум, интегрированный в сайт (Full view/Menu view/Wide view)
Вот ссылка на тред с форума http://www.mambohacks.com/component/option,com_smf/Itemid,66/topic,64.0/expv,2/
Записан

So it goes...
tFF
Administrator
Sr. Member
*****
Offline Offline

Сообщений: 422



WWW
« Ответ #3 : Апрель 08, 2005, 02:25:34 »

Да. На сегодняшний момент я опробовал все два существующих способа интеграции форума в мамбу.

Оба этих решения вы найдете на Mamboforge (ищите "smf"): SMF Integration и SMF Bridge.

SMF Integration - праямой потомок SMF Bridge (SMFI сделан на основе SMFB).

В них обоих есть один глюк, который меня не устраивает (именно это я имел в виду, когда говорил, что интеграция "не работает у меня так, как надо").
Глюк заключается в том, что при входе зарегистрированного пользователя, в модуле мамбы "Who's online" появляется этот самый пользователь. Когда же этот пользователь выходит, то вроде бы все работает нормально и для форума и для мамбы, но этот счетчик "Who's online" все равно продолжает показывать, что пользователь в он-лайне.

Отлогинить пользователя через бэк-енд получится только из другого браузера (из того, которого вы логинились/отлогинивались в мамбе/форуме это не получится). Отсюда делаем вывод, что проблема тут с куками.

Мне эти геморрои не нужны.

Кроме того, не очень хорошо сделана поддержка многоязыкового форума. Модуль регистрации встраиваемый в мамбу большую часть текста берет из языковых файлов SMF!!! (а не мамбы  idiot2). Что ж, их право. Но вы получаете их все на английском языке, даже если мамба у вас на русском. А одно сообщение вообще надо править внутри модуля и вручную переводить с английского на русский.  Shocked  Зачем спрашивается так сделали? хз.

Правда, следовало бы отмтетить, что в настройках компонента SMFI есть закладка "Language", которую обещают реализовать в версии 2.0, пока же версия этого пакета - 1.2.0 final.

Кого же не волнует вышеперечисленное, то хочу сказать, что SMFI на порядок удобнее и автоматичнее, нежели SMFB. Работают они одинаково. Однако в поставке SMFB идут полезные модули, работоспособность которых я не проверял. Среди этих "полезных" модулей:
mod_related_topics.zip
mod_smf_online2.zip
mod_smf_RecentEvents.zip
mod_smf_RecentTopics.zip
mod_smf_topTopicsReplies.zip
mod_smf_whosOnline.zip
mod_smfRecentPosts.zip

Вот, думайте сами. Хочу попробовать, будут ли эти модули работать без установленного пакета интграции.

SMFI сделан ребятами с mambohacks, там же есть форум. Смотрите его. Там есть проблемы.

ЗЫ Сегодня вышла версия 1.2.0 final, в которую был включен мой хак префикса базы (см. в предыдущих сообщениях).

PPS Посмотреть проблему, описаную мной можете на http://hacks.armeniancollegeofcalcutta.com/
логин/пароль - test/test
Кстати, через некоторое время после логаута, юзер test перестает отображаться в "Who's on-line'... Надо понаблюдать и выявить закономерность. Если это так, то я, в принципе зафигачу себе эту интеграцию.
« Последнее редактирование: Апрель 08, 2005, 03:13:09 от tFF » Записан

So it goes...
tFF
Administrator
Sr. Member
*****
Offline Offline

Сообщений: 422



WWW
« Ответ #4 : Апрель 08, 2005, 03:09:02 »

Итак, возвращаемся к разговору о Mambo-SMF-Who's Online.

Итак, это все-таки не глюк и не куки.

Привожу переписку по треду на форуме Мамбохакс.ком:

Вопрос:
Цитировать
Mambo doesn't seem to be refreshing the list of users online. SMF registers 18 guests and users but Mambo's already at 219 and 109. Weird. I'm guessing this has something to do with the bridge not recognizing my SMF prefix? Any way I can remedy this?

Ответ:
Цитировать
You got the right prefix. It's just that the session id is kept in your mambo database longer.

Ответ:
Цитировать
Use this one SMF Online2

Пользователь сам уходит со счетчика "Who's Online" через некоторое время.
Значит, будем интегрироваться... Но осторожно.  Wink
« Последнее редактирование: Апрель 08, 2005, 03:12:15 от tFF » Записан

So it goes...
tFF
Administrator
Sr. Member
*****
Offline Offline

Сообщений: 422



WWW
« Ответ #5 : Апрель 08, 2005, 16:47:27 »

Нет.
От интеграции мамбы и форума я отказался окончательно сегодня.
Посмотрим, во что разовъется проект по интеграции.

Причина отказа в том, что у меня, залогинившись, пользователь не смог войти ни в один из разделов форума. А Internet Explorer после "залогинивания" вообще сказал, что не может загрузить страницу.

Короче, мне эти приключения не нужны. Wink

У кого заработает - скажите, плиз.
Записан

So it goes...
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

 ONLINECHANGE
Powered by MySQL Powered by PHP Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC Valid XHTML 1.0! Valid CSS!


Google visited last this page Январь 15, 2024, 15:11:44