Примеры работы мода (скрины):
Для установки мода нужно произвести следующие изменения
Открываем файл include/fm.class.php и находим строки:
CODE:
if ($show === TRUE) {
$this->_MembersOutput = implode ( ' » ', $output);
unset($output);
}
return;
$this->_MembersOutput = implode ( ' » ', $output);
unset($output);
}
return;
И заменяем их на эти:
CODE:
if ($show === TRUE) {
$this->_MembersOutput = implode ( ' » ', $output);
unset($output);
}
return $onlinedata;
$this->_MembersOutput = implode ( ' » ', $output);
unset($output);
}
return $onlinedata;
Далее открываем файл topic.php и находим строку:
CODE:
if ($fm->exbb['karma'] === TRUE) { $fm->_LoadModuleLang('karma');}
И прямо под ней вставляем код:
CODE:
// Кто сейчас просматривает тему?
// Mod was written by yura3d for ExBB FM 1.0 Beta
$onlinedata = $fm->_OnlineLog($fm->LANG['TopicSee'].' <a href="topic.php?forum='.$forum_id.'&topic='.$topic_id.'"><b>'.$topic['name'].'</b></a> - <a href="forums.php?forum='.$forum_id.'"><b>'.$forumname.'</b></a>',$privateID);
$guests = $hiddens = $members = 0; $showonline = array(); $mems = "";
foreach ($onlinedata as $id => $online) {
eregi("forum=([[:alnum:]]+)&topic=([[:alnum:]]+)", $online['in'], $where);
if (($where[1] == $forum_id) and ($where[2] == $topic_id)) {
if (!$online['id']) $guests++;
else {
if (($fm->exbb['visiblemode']) and (!empty($online['v']))) $hiddens++;
else {
$members++;
$showonline[$online['id']] = array("n" => $online['n'], "st" => $online['st']);
}
}
}
}
foreach ($showonline as $id => $online) {
$class = "";
if (array_key_exists($id, $allforums[$forum_id]['moderator'])) $class = ' class="moder"';
if ($online['st'] == "ad") $class = ' class="admin"';
if ($online['st'] == "sm") $class = ' class="supmoder"';
$mems .= ' » <a href="profile.php?action=show&member='.$id.'"'.$class.'>'.$online['n'].'</a>';
}
$total = $guests + $members + $hiddens;
$hiddens = ($fm->exbb['visiblemode']) ? sprintf($fm->LANG['hiddens'], $hiddens) : "";
$showonline = sprintf($fm->LANG['topic_online'], $total, $guests, $members, $hiddens, $mems);
// Кто сейчас просматривает тему
// Mod was written by yura3d for ExBB FM 1.0 Beta
$onlinedata = $fm->_OnlineLog($fm->LANG['TopicSee'].' <a href="topic.php?forum='.$forum_id.'&topic='.$topic_id.'"><b>'.$topic['name'].'</b></a> - <a href="forums.php?forum='.$forum_id.'"><b>'.$forumname.'</b></a>',$privateID);
$guests = $hiddens = $members = 0; $showonline = array(); $mems = "";
foreach ($onlinedata as $id => $online) {
eregi("forum=([[:alnum:]]+)&topic=([[:alnum:]]+)", $online['in'], $where);
if (($where[1] == $forum_id) and ($where[2] == $topic_id)) {
if (!$online['id']) $guests++;
else {
if (($fm->exbb['visiblemode']) and (!empty($online['v']))) $hiddens++;
else {
$members++;
$showonline[$online['id']] = array("n" => $online['n'], "st" => $online['st']);
}
}
}
}
foreach ($showonline as $id => $online) {
$class = "";
if (array_key_exists($id, $allforums[$forum_id]['moderator'])) $class = ' class="moder"';
if ($online['st'] == "ad") $class = ' class="admin"';
if ($online['st'] == "sm") $class = ' class="supmoder"';
$mems .= ' » <a href="profile.php?action=show&member='.$id.'"'.$class.'>'.$online['n'].'</a>';
}
$total = $guests + $members + $hiddens;
$hiddens = ($fm->exbb['visiblemode']) ? sprintf($fm->LANG['hiddens'], $hiddens) : "";
$showonline = sprintf($fm->LANG['topic_online'], $total, $guests, $members, $hiddens, $mems);
// Кто сейчас просматривает тему
Открываем файл language/russian/lang_front_forums.php и вставляем в него строки:
CODE:
$this->LANG['hiddens'] = ', скрытых: %d';
$this->LANG['topic_online'] = 'Сейчас эту тему просматривают: %d (гостей: %d, зарегистрированных: %d%s)%s';
$this->LANG['topic_online'] = 'Сейчас эту тему просматривают: %d (гостей: %d, зарегистрированных: %d%s)%s';
Открываем файл templates/InvisionExBB/topic_body.tpl и находим строки:
CODE:
<tr>
<td>
{$topic_data}
</td>
</tr>
<tr>
<td class="postlinksbar" align="right"><strong>{$options}</strong></td>
</tr>
<td>
{$topic_data}
</td>
</tr>
<tr>
<td class="postlinksbar" align="right"><strong>{$options}</strong></td>
</tr>
И прямо под ними вставляем:
CODE:
<tr>
<td class="row2" style="padding:6px">{$showonline}</td>
</tr>
<td class="row2" style="padding:6px">{$showonline}</td>
</tr>
На этом всё, мод установлен. В отличие от более ранних реализаций данный мод корректно работает с приватными форумами, в нём была добавлена совместимость со скрытым режимом пребывания на форуме.
Вы также можете сделать вывод списка пользователей, просматривающих определённый раздел (или читающих тему в нём). Подробности здесь