Блок "кто в чате" (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 комментариев
Рекомендуемые комментарии