Перейти к контенту

[2.1.x]Объединение Flashchat и IPB 2.1.x


Рекомендуемые сообщения

первая ошибка не связана с этим модом, а про вторую я уже говорил - префикс таблиц флэшчата жестоко пробит flashchat_

замените его в файле, приложенном отдельно

Ссылка на комментарий
Поделиться на других сайтах

  • 4 недели спустя...
  • Ответы 68
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

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

//-----------------------------------------

// Showing who's chatting NEW?

// IPB3.0: To Do: move into components

//-----------------------------------------

нету её не хрена к сожелению :D что такое?

и еще у меня чат и форум расположены так

http://bla.ru/forum/

http://bla.ru/chat/

как мне прописать require_once("../chat/inc/config.srv.php");

если лежит flashchat_functions в сурсес/либ ?

 

PS: так нужно чтоб чат был интегрирован или нет?

Ссылка на комментарий
Поделиться на других сайтах

там не только надо включать инсталятор, но и править некоторые файлы руками

все по инструкции, вроде там сказано

не зависит, где лежит комплект чата, если сделать копию его конфиг файла и положить в корень форума

а файл из мода (flashchat_function.php) надо заменить на приложенный отдельно

я давно этот мод делал, если будет время поднастрою получше, но он рабочий

 

обновил инструкцию, теперь должно совпадать все

Ссылка на комментарий
Поделиться на других сайтах

да, он не работает с русскими именами

переделайте функцию Интеграция Flashchat и IPB 2.x на обратную и обрабатывайте имена при выводе

Ссылка на комментарий
Поделиться на других сайтах

порпробуте такой прием

найти в flashchat_functions.php (отдельном)

$member_list = implode(",\n", $data['members']);

добавить ниже

$member_list = iconv("UTF-8", "WINDOWS-1251", $member_list);

или (в случае не срабатывания)

$member_list = iconv("UTF-8", "CP-1251", $member_list);

 

iconv

(PHP 4 >= 4.0.5, PHP 5)

 

iconv -- Преобразовывает символы строки в другую кодировку

Ссылка на комментарий
Поделиться на других сайтах

Ну нету у меня

//-----------------------------------------

// Showing who's chatting NEW?

// IPB3.0: To Do: move into components

//-----------------------------------------

Нееееету

 

 

в инструкции написанно мол после успешного инстала у вас появится в боардс.пхп

		//-----------------------------------------
	// Showing who's chatting NEW?
	// IPB3.0: To Do: move into components
	//-----------------------------------------

	$this->ipsclass->vars['chat04_account_no'] = $this->ipsclass->vars['chat04_account_no'] ? $this->ipsclass->vars['chat04_account_no'] : $this->ipsclass->vars['chat_account_no'];
	$this->ipsclass->vars['chat04_who_on']	 = $this->ipsclass->vars['chat04_who_on']	 ? $this->ipsclass->vars['chat04_who_on']	 : $this->ipsclass->vars['chat_who_on'];

	if ( $this->ipsclass->vars['chat04_account_no'] and $this->ipsclass->vars['chat04_who_on'] )
	{
		require_once( ROOT_PATH.'sources/lib/func_chat.php' );

		$chat		   =  new func_chat();
		$chat->ipsclass =& $this->ipsclass;

		$chat->register_class( $this );

		$chat_html = $chat->get_online_list();

		$this->output = str_replace( "<!--IBF.WHOSCHATTING-->", $chat_html, $this->output );
	}

и вы замените на это

		//-----------------------------------------
	// Showing who's chatting In Flaschat?
	// Mod Copyright Brian X (acnest.com) and original creater, j-maxx.net
	//-----------------------------------------

  if ( $this->ipsclass->vars['flashchat_who_on'] )
  {
	 require_once( ROOT_PATH.'sources/lib/flashchat_functions.php'  );

	 $chat		   =  new flashchat_functions();
	 $chat->ipsclass =& $this->ipsclass;

	 $chat->register_class( $this );

	 $chat_html = $chat->get_flashchat_online_list();

	 $this->output = str_replace( "<!--IBF.WHOSCHATTING-->", $chat_html, $this->output );
  }

прально?

если до товы меня конечно простите но с какого такого файла туда запишется вышеприведенный код?)

они вроде бы все слишком малы чтоб хранить в себе код приведенный выше :D

Ссылка на комментарий
Поделиться на других сайтах

не замени в таком случае искомый код на нужный, а добавь нужный после

				//-----------------------------------------
			// Check for news forum.
			//-----------------------------------------

			if ( $this->ipsclass->forums->forum_by_id[ $this->ipsclass->vars['news_forum_id'] ]['last_id'] and $this->ipsclass->vars['index_news_link'] )
			{
					$t_html = $this->ipsclass->compiled_templates['skin_boards']->newslink( $this->news_forum_id, stripslashes($this->ipsclass->forums->forum_by_id[ $this->ipsclass->vars['news_forum_id'] ]['last_title']) ,
																																									 $this->ipsclass->forums->forum_by_id[ $this->ipsclass->vars['news_forum_id'] ]['last_id']);

					$this->output = str_replace( "<!-- IBF.NEWSLINK -->" , "$t_html" , $this->output );
			}

у меня например есть все:

		//-----------------------------------------
	// Check for news forum.
	//-----------------------------------------

	if ( $this->ipsclass->forums->forum_by_id[ $this->ipsclass->vars['news_forum_id'] ]['last_id'] and $this->ipsclass->vars['index_news_link'] )
	{
		$t_html = $this->ipsclass->compiled_templates['skin_boards']->newslink( $this->news_forum_id, stripslashes($this->ipsclass->forums->forum_by_id[ $this->ipsclass->vars['news_forum_id'] ]['last_title']) ,
																				 $this->ipsclass->forums->forum_by_id[ $this->ipsclass->vars['news_forum_id'] ]['last_id']);

		$this->output = str_replace( "<!-- IBF.NEWSLINK -->" , "$t_html" , $this->output );
	}

	//-----------------------------------------
	// Showing who's chatting NEW?
	// IPB3.0: To Do: move into components
	//-----------------------------------------

	$this->ipsclass->vars['chat04_account_no'] = $this->ipsclass->vars['chat04_account_no'] ? $this->ipsclass->vars['chat04_account_no'] : $this->ipsclass->vars['chat_account_no'];
	$this->ipsclass->vars['chat04_who_on']	 = $this->ipsclass->vars['chat04_who_on']	 ? $this->ipsclass->vars['chat04_who_on']	 : $this->ipsclass->vars['chat_who_on'];

	if ( $this->ipsclass->vars['chat04_account_no'] and $this->ipsclass->vars['chat04_who_on'] )
	{
		require_once( ROOT_PATH.'sources/lib/func_chat.php' );

		$chat		   =  new func_chat();
		$chat->ipsclass =& $this->ipsclass;

		$chat->register_class( $this );

		$chat_html = $chat->get_online_list();

		$this->output = str_replace( "<!--IBF.WHOSCHATTING-->", $chat_html, $this->output );
	}

	//-----------------------------------------
	// Print as normal
	//-----------------------------------------

	$this->ipsclass->print->add_output( $this->output );

	$cp = "";

	if ($this->ipsclass->vars['ips_cp_purchase'])
	{
		$cp = "";
	}

	$this->ipsclass->print->do_output( array( 'TITLE' => $this->ipsclass->vars['board_name'].$cp, 'JS' => 0, 'NAV' => $this->nav ) );

Ссылка на комментарий
Поделиться на других сайтах

Arhar у меня к тебе последний вопрос, все сделал, вставил код, и сразу все стало отображатся кроме ников, захожу в чат двумя никами админом и левым а стата серавно показывает 0 юзеров, что может быть?

кстати у меня FlashChat v 4.7.4

Ссылка на комментарий
Поделиться на других сайтах

Ээээммм... а что значит какая структура? как тебе сюда написать какая она, где смотреть? кстати я в форуме разработка модификаций вставил код

Вывод ников на форум

вот там же работает все... ники выводит... там такие же таблицы префиксы суфиксы???))))

посмотри плиз

Ссылка на комментарий
Поделиться на других сайтах

конечно работает, там же пол дистрибутива в начале файла инклюдится..

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

Ссылка на комментарий
Поделиться на других сайтах

аааа.... ну дак я так все переменные делал

щас тебе приведу все что мне выводилось, ты бы написал по русски

"поставь везде эчо")))))))

 

вобщем самое результативное что мне удалось трассировать это когда на самом верху страницы появлялись ObjectObject

либо 00 (это нумб выводил хотя в чате двое было)

либо аррайаррай (массив)

либо класскласс

вот еще такой вопрос у меня там есть UNIX_TIMESTAMP а у меня в базе есть поле updated в нем CURRENT_TIMESTAMP это так и должно быть?

Ссылка на комментарий
Поделиться на других сайтах

Arhar

поставил я версию чата FlashChat v 4.5.7

и серавно нефига он не выводит, ты скажи ты у себя этот мод юзал после того как интегрировал? давай я тебе этот чат дам и ты попробуй получится у тебя чтонить, к томуже наверное не обязательно чтоб и ипб стоял для проверки

Ссылка на комментарий
Поделиться на других сайтах

юзал, на www.ostracing.ru, потом там чат удалили, но писал тогда на версии 2.1.5 и все работало

может быть как-то связано с UNIX, о котором ты говорил

там всего 2 запроса к базе, неужели не можешь протестить, упростить запросы, потыкатся

у меня нет возможности тестить, потому что на локалхосте уже полный хлам, но хлам нужный

Ссылка на комментарий
Поделиться на других сайтах

Дружище в том то и дело что немогу, тоесть именно запросы не могу, я вот все это время этим и занимался, хочу тебя вот о чем попросить вот есть

 

$this->ipsclass->DB->query("SELECT COUNT(*) AS numb FROM {$GLOBALS['fc_config']['db']['pref']}connections WHERE userid IS NOT NULL AND UNIX_TIMESTAMP({$GLOBALS['fc_config']['db']['pref']}connections.updated) >= '".strtotime("-{$GLOBALS['fc_config']['autocloseAfter']} seconds")."'");
и
$this->ipsclass->DB->query("SELECT {$GLOBALS['fc_config']['db']['pref']}users.id, {$GLOBALS['fc_config']['db']['pref']}users.login FROM {$GLOBALS['fc_config']['db']['pref']}users,{$GLOBALS['fc_config']['db']['pref']}connections WHERE {$GLOBALS['fc_config']['db']['pref']}connections.userid IS NOT NULL and {$GLOBALS['fc_config']['db']['pref']}users.id={$GLOBALS['fc_config']['db']['pref']}connections.userid AND UNIX_TIMESTAMP({$GLOBALS['fc_config']['db']['pref']}connections.updated) >= '".strtotime("-{$GLOBALS['fc_config']['autocloseAfter']} seconds")."'");

 

как из этих запросов вырезать всю штуку со временем

 

IS NOT NULL AND UNIX_TIMESTAMP({$GLOBALS['fc_config']['db']['pref']}connections.updated) >= '".strtotime("-{$GLOBALS['fc_config']['autocloseAfter']} seconds")."

вот эту... чтоб он не чекал по времени а выводил всех хотябы этого добится

Ссылка на комментарий
Поделиться на других сайтах

$this->ipsclass->DB->query("SELECT COUNT(*) AS numb FROM {$GLOBALS['fc_config']['db']['pref']}connections WHERE userid IS NOT NULL");
и
$this->ipsclass->DB->query("SELECT {$GLOBALS['fc_config']['db']['pref']}users.id, {$GLOBALS['fc_config']['db']['pref']}users.login FROM {$GLOBALS['fc_config']['db']['pref']}users,{$GLOBALS['fc_config']['db']['pref']}connections WHERE {$GLOBALS['fc_config']['db']['pref']}connections.userid IS NOT NULL and {$GLOBALS['fc_config']['db']['pref']}users.id={$GLOBALS['fc_config']['db']['pref']}connections.userid");

попробуй так

Ссылка на комментарий
Поделиться на других сайтах


×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.