Активные пользователи

N

NewLife

Гость
#1
Автор: Bustra
Описание: выводит на главную активных пользователей в виде аватарок.
Время установки: 1 минута.

index.php
PHP:
if($bb_cfg['activ_user'])
{
    $activ_user = DB()->fetch_rowset("SELECT * FROM bb_users WHERE user_id !=-1  AND user_posts >= 2 LIMIT 10");
    foreach($activ_user as $row)
    {
        $template->assign_block_vars('activ_user', array(
            'AVA' => get_avatar($row['user_avatar'], $row['user_avatar_type'], !bf($row['user_opt'], 'user_opt', 'allow_avatar'),36, 36),
            'POSTS' => $row['user_posts'],
            'USER_ID'    => $row['user_id'],
        ));
    }
}
page_header.tpl
Код:
<!-- IF $bb_cfg['activ_user'] -->
<h3>Активные пользователи</h3>
    <div class="top_users">
<!-- BEGIN activ_user -->
        <span>
            <a class="top_users_img" href="profile.php?mode=viewprofile&amp;u={activ_user.USER_ID}" title="количество сообщений {activ_user.POSTS}">{activ_user.AVA}</a>
        </span>
<!-- END activ_user -->
    </div>
<!-- ENDIF -->
config.php
$bb_cfg['activ_user'] = true;


123.jpg
 

Exile

Администратор
#6
Вот только сразу же меняем:
PHP:
if (!activ_user  = CACHE('bb_cache')->get(activ_user))
На:
PHP:
if (!activ_user  = CACHE('bb_cache')->get('activ_user'))
И не задаем глупые вопросы почему не работает / валится с ошибкой.
 

Lynx

Пользователь
#8
PHP:
if($bb_cfg['activ_user'])
{
if (!$activ_user = CACHE('bb_cache')->get('activ_user'))
{
$activ_user  = DB()->fetch_rowset(" SELECT * FROM bb_users WHERE user_id !=-1 AND user_posts >= 2 LIMIT 10 ");
CACHE('bb_cache')->set('activ_user', $sql, 300);
}
    foreach($activ_user as $row)
    {
        $template->assign_block_vars('activ_user', array(
            'AVA' => get_avatar($row['user_avatar'], $row['user_avatar_type'], !bf($row['user_opt'], 'user_opt', 'allow_avatar'),36, 36),
            'POSTS' => $row['user_posts'],
            'USER_ID'    => $row['user_id'],
        ));
    }
}

Мод выводит не активных юзеров, а... даже не пойму по какому принципу... Выводятся пользователи, которые очень давно не заходили на трекер, не оставили ни одного сообщения, ничего не раздают, но те, которые ежедневно заходят на трекер, пишут сообщения, качают и раздают, в этом списке не появляются. Выводится также и бот... :confused:
 

druid

Пользователь
#9
PHP:
$activ_user  = DB()->fetch_rowset(" SELECT * FROM bb_users WHERE user_id !=-1 AND user_posts >= 2 LIMIT 10 ");
заменить на
PHP:
$activ_user  = DB()->fetch_rowset(" SELECT user_id,user_posts,user_avatar,user_avatar_type,user_opt FROM bb_users WHERE user_id NOT IN (' " . EXCLUDED_USERS_CSV . " ')  ORDER BY user_posts DESC LIMIT 10 ");
 
Сверху