Кто просматривает тему

G

Gemini_13

Гость
pilot, уже это реализовано. Обратись к _Xz_, он выше скрины своего мода показал.
 
G

Gemini_13

Гость
убираем со списка скрытых юзеров, но оставляем себя (независимо от статуса) и разреашем админу видеть всех
viewtopic.php
найти:
PHP:
    $sql = DB()->fetch_rowset("SELECT username, user_id, user_rank, curpage_topic_time
      FROM " . BB_USERS . "
      WHERE curpage_topic = $topic_id
      AND (curpage_topic_time > ".( TIMENOW - 300 ).")");
заменить на:
PHP:
    $sql = DB()->fetch_rowset("SELECT username, user_id, user_opt, user_rank, curpage_topic_time
      FROM " . BB_USERS . "
      WHERE curpage_topic = $topic_id
      AND (curpage_topic_time > ".( TIMENOW - 300 ).")");

найти:
PHP:
    foreach ($sql as $row)
    {
        $looking_list .= profile_url($row) .', ';
    }
заменить на:
PHP:
    foreach ($sql as $row)
    {
        if (!bf($row['user_opt'], 'user_opt', 'allow_viewonline') || IS_AM || $user_id = $row['user_id'])
        {
            $looking_list .= profile_url($row) .', ';
        }
    }
 
G

Gemini_13

Гость
А это в теории должно избавить от мертвых душ в темах... Говорю "в теории", ибо тестить особо некогда.
найти:
PHP:
DB()->query("UPDATE ". BB_USERS ." SET curpage_topic = $topic_id, curpage_topic_time = ". TIMENOW ." WHERE user_id = $user_id");
вставить до:
PHP:
        if ($post_id)
        {
            $topic = DB()->fetch_row("SELECT topic_id FROM bb_posts WHERE post_id = $post_id");
            $topic_id = $topic['topic_id'];
        }
Хотя этого все-равно мало, ибо надо фильтровать на скрытые топики.

------------------------------
UPDATE: Был косяк с перемнной тут. Чтобы не флудить, весь кусок
PHP:
$user_id = $userdata['user_id'];
if ($user_id > 0)
{
    $topic = $topic_id;
    if ($user_id)
    {
        if ($post_id)
        {
            $sql = "SELECT topic_id FROM bb_posts WHERE post_id = $post_id";
            if ($row = DB()->fetch_row($sql))
            {
                $topic = $row['topic_id'];
            }
            else
            {
                $topic = 0;
            }
        }
 
        DB()->query("UPDATE ". BB_USERS ." SET curpage_topic = $topic, curpage_topic_time = ". TIMENOW ." WHERE user_id = $user_id");
    }
   
    $sql = DB()->fetch_rowset("SELECT username, user_id, user_opt, user_rank, curpage_topic_time
      FROM " . BB_USERS . "
      WHERE curpage_topic = $topic
      AND (curpage_topic_time > ".( TIMENOW - 300 ).")");
 
    $looking_list = '';
    foreach ($sql as $row)
    {
        if (!bf($row['user_opt'], 'user_opt', 'allow_viewonline') || IS_AM || $user_id = $row['user_id'])
        {
            $looking_list .= profile_url($row) .', ';
        }
    }
    $looking_list = substr($looking_list,0,strlen($looking_list)-2);
   
    $template->assign_vars(array(
      'LOOKING_LIST' => $lang['WHOIS_LOOKING'] . '  ' . $looking_list,
    ));
}
 

fail

Пользователь
Подскажите так сделать ?
1.png
 
Сверху