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

[2.3.x]ElfChat v4.0.4 demo vesrion


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

ChUsr теперь статус по другому: %и твой статус...

 

Endy в теме поддержки для ElfChat на какой-то странице видел решение - поищи.

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

  • Ответы 126
  • Создана
  • Последний ответ

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

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

Загружено фотографий

ChUsr теперь статус по другому: %и твой статус...

Есть еще каки-нибудь комманды?

 

И Elfet, подскажите пожалуйста хотябы какие файлы подключить к файлу mod_elfchat.php чтобы все что в нем есть срабатывало отдельно, вызыяваясь с адресной строки напрямую через http://domain.com/forum/modules/mod_elfchat.php а не через automodule

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

Elfet спасибо за хороший чат! возможно через месяц приобрету полную версию, если проблем с функционированием чата не возникнет.

 

у меня вопрос: форум стоит на московском сервере, в чате отображается московское время около сообщений, однако, 90% форумчан находятся далеко не в москве, и часовой пояс у них совсем другой. Как прибавить к времени сообщения 4 часа?

 

По хорошему, это должна быть настройка в админке...

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

Endy в теме поддержки для ElfChat на какой-то странице видел решение - поищи.

Так вот же, я нашёл.

"Кто в чате" на главной странице (Theron) Копирую его пост.

 

В файле sources/action_public/boards.php находим

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

	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 NEW?
	// IPB3.0: To Do: move into components
	//-----------------------------------------
	global $DB, $std, $ibforums;

	$this->ipsclass->DB->query("SELECT COUNT(*) AS count FROM elfchat_online");

	$cactive = $this->ipsclass->DB->fetch_row();
	$chat_active = "<I>Никого</I>";

	if ( $cactive > 0 )
	{	
		$this->ipsclass->DB->query("SELECT * FROM elfchat_online");
		 while ( $member = $this->ipsclass->DB->fetch_row() )
					{
						$groups = $this->ipsclass->cache['group_cache'][ $member['mgroup'] ];   
							$data['members'][ $member['id'] ] = "<a href='{$this->ipsclass->base_url}act=Profile&MID={$member['mid']}' >{$this->ipsclass->cache['group_cache'][$member['mgroup']]['prefix']}{$member['mname']}{$this->ipsclass->cache['group_cache'][$member['mgroup']]['suffix']}</a>";
							$chat_active = implode(",\n", $data['members']);  
					}


	}



		$this->output = str_replace( "<!-- CHAT_ACTIVE -->" , $this->ipsclass->compiled_templates['skin_boards']->chat_active($chat_active) , $this->output );

 

 

в файле cache/skin_cache/cacheid_2/skin_boards.php находим

 

//===========================================================================
// <ips:stats_header:desc:>
//===========================================================================

 

вставляем выше

 

//===========================================================================
// <ips:ChatActive:desc:>
//===========================================================================
function chat_active($chat_active="") {
$IPBHTML = "";
//--starthtml--//


$IPBHTML .= <<<EOF
<tr>
					<td class="formsubtitle" colspan="2">В Чате</td>
			</tr>
			<tr>
					<td class="row1" width="1%"><{F_ACTIVE}></td>
					<td class="row2">

							 {$chat_active}

					</td>
			</tr>

EOF;

//--endhtml--//
return $IPBHTML;
}

 

в том-же файле ищем

<tr>
					<td class="catend" colspan="2"><!-- no content --></td>

 

добавляем выше

<!-- CHAT_ACTIVE -->

 

 

Я всё это сделал. Появилась ошибка:

Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in /www/02/volod.net/forum/sources/action_public/boards.php on line 215

 

Дальше, в этом сообщении было предложено исправление.

 

У кого не поставились дополнения Theron'а, откройте через админку стиль чата main и добавьте туда код из skin_elfchat.php, который идёт после $IPBHTML .= <<<EOF и до EOF;

 

Но, я так понимаю, что оно не подойдёт для этой версии чата?

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

Чуть подкорректировать надо :D

 

#kender да, возможно сделаю такое дополнение к чату. Однако всё же мне больше нравится отображать время сервера.

 

 

Alexey Kang, чем всё же тебе через модуль не нравится?

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

Alexey Kang, чем всё же тебе через модуль не нравится?

просто форум открыт только для определенной группы.

Изменено пользователем Alexey Kang
Ссылка на комментарий
Поделиться на других сайтах

Только определенная группа сможет заходит в чат.

С этим та я разберусь, а вот как заставить файл работать вне automodule, с этим неразбериха :D

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

Спасибо за подсказку. Но всё равно не работает.

Появляется ошибка:

Fatal error: Call to undefined method ipsclass::make_name_formatted() in /www/02/volod.net/forum/sources/action_public/boards.php on line 200

 

У меня эта часть кода в /sources/action_public/boards.php немного отличается. Может быть проблема из за этого? Ниже часть кода, которую надо заменить.

 

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

// 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 NEW?
	// IPB3.0: To Do: move into components
	//-----------------------------------------
	global $DB, $std, $ibforums;

	$this->ipsclass->DB->query("SELECT COUNT(*) AS count FROM elfchat_users");

	$cactive = $this->ipsclass->DB->fetch_row();
	$chat_active = "<I>Никого</I>";

	if ( $cactive > 0 )
	{	
		$this->ipsclass->DB->query("SELECT ibf_members.id,ibf_members.mgroup,ibf_members.members_display_name from ibf_members inner join elfchat_users on ibf_members.id=elfchat_users.det");
		 while ( $member = $this->ipsclass->DB->fetch_row() )
					{

						$groups = $this->ipsclass->cache['group_cache'][ $member['mgroup'] ];   
							$data['members'][ $member['id'] ] = "<a href='{$this->ipsclass->base_url}showuser={$member['id']}' >{$member['members_display_name']}</a>";
							$chat_active = implode(",\n", $data['members']);  
					}


	}



		$this->output = str_replace( "<!-- CHAT_ACTIVE -->" , $this->ipsclass->compiled_templates['skin_boards']->chat_active($chat_active) , $this->output );

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

Напиши так:

 

Спасибо! Теперь работает.

 

Только вместо отбражаемого имени пользователя в статистике виден его логин. :D

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

Теперь всё идеально. Рекомендую этот чат!

Правда у меня один пользователь всё жалуется, что сообщения не видны. Скорее всего у него что-то с настройками браузера. Может у него выключены скрипты или куки .. или что-то ещё. Что может повлиять на работу чата?

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

Может много что повлиять ;)

Да я понимаю :D Просто это обычный пользователь, который использует все настройки браузера по умолчанию. И вот только у него не работает чат. Он может войти в чат, может писать сообщения, которые будут видны всем остальным, но сам не видит сообщений. Видит только время, когда оно было отправлено.

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

Время от времени появляется ошибка:

Line: 385
Char: 1
Error: JsHttpRequest: JavaScript code generated by backend is invalid!
Code: 0
URL: http://domain.com/chat/chat.php

Как исправить?

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

juae в другую папку устан. чат и не заменил пути в module_elfchat.php в ELFCHAT_PATH
Не понял :D

 

 

define( 'ELFCHAT_PATH' , "forum/chat/" );

define( 'ELFCHAT_LOCATION', "forum/chat/chat.php");

 

Что здесь неверно?

И что, никто не подскажет чайнику ;)
Ссылка на комментарий
Поделиться на других сайтах


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

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

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