mở
sources/boards.php
trong show_subforums($fid) function
tìm
CODE
foreach( $forums->forum_cache[ $fid ] as $id => $forum_data )
{
//-----------------------------------------
// Get all subforum stats
// and calculate
//-----------------------------------------
thêm vào trước đó
CODE
foreach ($forums->forum_cache[ $fid ] as $id => $fd)
{
$forumids[] = $fd['id'];
}
$forum_ids = implode(",", $forumids);
$cut_off = ($ibforums->vars['au_cutoff'] != "") ? $ibforums->vars['au_cutoff'] * 60 : 900;
$time = time() - $cut_off;
$DB->simple_construct(array('select' => 's.*, t.*', 'from' => "sessions s LEFT JOIN {$ibforums->vars['sql_tbl_prefix']}topics t ON (s.in_topic=t.tid)", 'where' => '(s.in_forum IN ('.$forum_ids.') OR t.forum_id IN ('.$forum_ids.')) AND s.running_time>'.$time.' AND s.in_error!=1', 'order' => 's.running_time DESC'));
$DB->simple_exec();
$cached = array();
$active = array('guests' => 0, 'members' => 0);
$rows = array(0 => array('running_time' => time(), 'member_id' => $ibforums->member['id']));
while ($r = $DB->fetch_row())
{
$rows[] = $r;
}
cũng trong function đó tìm
CODE
$temp_html .= $this->html->ForumRow( $forums->forums_format_lastinfo( $forums->forums_calc_children( $forum_data['id'], $forum_data ) ) );
thay lại bằng
CODE
$active = array('guests' => 0, 'members' => 0);
foreach ($rows as $i => $result)
{
if ($result['in_forum'] == $forum_data['id'] || $result['forum_id'] == $forum_data['id'])
{
if ($result['member_id'] == 0)
{
$active['guests']++;
}
else
{
if (empty($cached[$result['member_id']]))
{
$cached[$result['member_id']] = 1;
$active['members']++;
}
}
}
}
$active['total'] = ($active['members'] + $active['guests']);
if ($active['total'] > 0)
{
$active_members = str_replace("<#TOTAL#>", $active['total'], $ibforums->lang['active_members']);
$active_members = str_replace("<#MEMBERS#>", $active['members'], $active_members);
$active_members = str_replace("<#GUESTS#>", $active['guests'], $active_members);
}
else
{
$active_members = '';
}
$temp_html .= $this->html->ForumRow( $forums->forums_format_lastinfo( $forums->forums_calc_children( $forum_data['id'], $forum_data ) ), $active_members );
tìm tiếp trong process_all_cats() function
CODE
foreach( $forums->forum_cache['root'] as $id => $forum_data )
{
$cat_data = $forum_data;
thêm vào trước đó
CODE
foreach ($forums->forum_cache['root'] as $id => $fd)
{
$forumids[] = $fd['id'];
if (is_array($forums->forum_cache[$fd['id']]))
{
foreach ($forums->forum_cache[$fd['id']] as $id => $f_d)
{
$forumids[] = $f_d['id'];
}
}
}
$forum_ids = implode(",", $forumids);
$cut_off = ($ibforums->vars['au_cutoff'] != "") ? $ibforums->vars['au_cutoff'] * 60 : 900;
$time = time() - $cut_off;
$DB->simple_construct(array('select' => 's.*, t.*', 'from' => "sessions s LEFT JOIN {$ibforums->vars['sql_tbl_prefix']}topics t ON (s.in_topic=t.tid)", 'where' => '(s.in_forum IN ('.$forum_ids.') OR t.forum_id IN ('.$forum_ids.')) AND s.running_time>'.$time.' AND s.in_error!=1', 'order' => 's.running_time DESC'));
$DB->simple_exec();
$cached = array();
$active = array('guests' => 0, 'members' => 0);
$rows = array(0 => array('running_time' => time(), 'member_id' => $ibforums->member['id']));
while ($r = $DB->fetch_row())
{
$rows[] = $r;
}
cũng trong đó tìm
CODE
$temp_html .= $this->html->ForumRow( $forums->forums_format_lastinfo( $forums->forums_calc_children( $forum_data['id'], $forum_data ) ) );
thay băng
CODE
$active = array('guests' => 0, 'members' => 0);
foreach ($rows as $i => $result)
{
if ($result['in_forum'] == $forum_data['id'] || $result['forum_id'] == $forum_data['id'])
{
if ($result['member_id'] == 0)
{
$active['guests']++;
}
else
{
if (empty($cached[$result['member_id']]))
{
$cached[$result['member_id']] = 1;
$active['members']++;
}
}
}
}
$active['total'] = ($active['members'] + $active['guests']);
if ($active['total'] > 0)
{
$active_members = str_replace("<#TOTAL#>", $active['total'], $ibforums->lang['active_members']);
$active_members = str_replace("<#MEMBERS#>", $active['members'], $active_members);
$active_members = str_replace("<#GUESTS#>", $active['guests'], $active_members);
}
else
{
$active_members = '';
}
$temp_html .= $this->html->ForumRow( $forums->forums_format_lastinfo( $forums->forums_calc_children( $forum_data['id'], $forum_data ) ), $active_members );
mở lang/en/lang_boards.php
them vao
CODE
'active_members' => "<#TOTAL#> User(s) Active In This Forum: <#MEMBERS#> Members, <#GUESTS#> Guests",
nếu lang kiểu khác thì nhớ thay là
CODE
$lang['active_members'] = "<#TOTAL#> User(s) Active In This Forum: <#MEMBERS#> Members, <#GUESTS#> Guests";
giờ vô Admin CP: Skins & Templates: Skin Manager: Edit HTML: Board Index: ForumRow
Edit/Update the templates current data with the new data/edits below
CODE
Template Data Variables: $data,$active
trong cái khung thì thay lại bằng
CODE
<tr>
<td align="center" class="row2" width="1%">{$data['img_new_post']}</td>
<td class="row2">{$data['_queued_img']}<b><a href="{ipb.script_url}showforum={$data['id']}">{$data['name']}</a></b><br /><span class="forumdesc">{$data['description']}{$data['show_subforums']}<br /><i>{$data['moderator']}</i><br /><i>{$active}</i></span>{$data['_queued_info']}</td>
<td align="center" class="row1">{$data['topics']}</td>
<td align="center" class="row1">{$data['posts']}</td>
<td class="row1" nowrap="nowrap">{$data['last_unread']} <span>{$data['last_post']}<br /><b>{ipb.lang['in']}:</b> {$data['last_topic']}<br /><b>{ipb.lang['by']}:</b> {$data['last_poster']}</span></td>
</tr>