Блок "кто в чате" (ElfChat) на главной странице формуа
1. В файле /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_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']}' >{$this->ipsclass->make_name_formatted($member['members_display_name'],$member['mgroup'])}</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 );2. в админке->внешний вид->Изменить HTML шаблоны (для всех стилей операцию повторить)->skin_boards->Добавить шаблон
Название шаблона chat_active
Входящие переменные $chat_active=""
Содержание шаблона:
<td class="formsubtitle" colspan="2">В Чате</td>
</tr>
<tr>
<td class="row1" width="1%"><{F_ACTIVE}></td>
<td class="row2">
{$chat_active}
</td>
</tr>Далее в шаблоне skin_boards->stats_header в самый конец шаблона вставляем:
<!-- CHAT_ACTIVE -->
Вот и все.
код основан на коде Theron
тестировалось на 2.3.3

19 комментариев
Рекомендуемые комментарии