26

Re: подсветка статуса

я вставил всё то, что было предложенно вставить smile
с вашим вариантом всё работает, за что спасибо wink

Добавлено спустя     2 минуты   10 секунд:
да и ещё такой вопрос
как бы реализовать так, чтобы эта подсветка была везде, где упоминается ник, или везде надо будет таким образом прописать?

Поделиться

27

Re: подсветка статуса

видимо во вьювтопике по другому-ждём Славика)

Поделиться

28

Re: подсветка статуса

Я как то по своей наивности пытался писать ники с html тегами, в некоторых плагинах даже прокатило, но в оригинальном двиге не очень. Поэтому мне кажется что если хочется чтобы везде цвет менялся, придется везде код менять.

Во viewtopic.php есть:

     $result = $db->query('SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, p.has_attach, g.g_id, g.g_user_title, g.g_set_title, o.user_id AS is_online FROM '.$db->prefix.'posts AS p INNER JOIN '.$db->prefix.'users AS u ON u.id=p.poster_id INNER JOIN '.$db->prefix.'groups AS g ON g.g_id=u.group_id LEFT JOIN '.$db->prefix.'online AS o ON (o.user_id=u.id AND o.idle=0) WHERE p.topic_id='.$id.' ORDER BY p.id LIMIT '.$start_from.','.$pun_user['disp_posts'], false) or error('Unable to fetch post info', __FILE__, __LINE__, $db->error()); //Attachment Mod, changed the true to false...
while ($cur_post = $db->fetch_assoc($result))

Уверен что ваш $result не будет иметь ничего общего с моим, поэтому ищите тот $result, который находится над второй строчкой и добавить в запрос выборки u.g_id.
Дальше, у нас имеется строка:

                    <dt><strong><?php echo $username ?></strong></dt>

А с этим м уже знаем что делать, только вместо $pun_user_online['g_id'] используем $cur_post['g_id'].

P.S. Если что hcs меня поправит :-).

Сайт Slavik

Поделиться

29

Re: подсветка статуса

ым.. что-то тут ничисто smile
начнём по порядку:
1. $result практически идентичен, ничего кроме мода аттачей там нового нет
2. добавление u.g_id, вызывает ошибку, видимо надо что-то ещё добавить, как и в предыдущем случае
3. строка у нас имеется немного другого вида, но в общем-то это наверное роли не играет

Поделиться

30

Re: подсветка статуса

CR пишет:

2. добавление u.g_id, вызывает ошибку, видимо надо что-то ещё добавить, как и в предыдущем случае

Не g_id, а group_id AS g_id.

CR пишет:

3. строка у нас имеется немного другого вида, но в общем-то это наверное роли не играет

Наверное.

Сайт Slavik

Поделиться

31

Re: подсветка статуса

мерси smile всё работает

        if ($cur_post['g_id'] == PUN_ADMIN)
            $username = '<a href="javascript:pasteN(\''.pun_htmlspecialchars($cur_post['username']).'\');"><span class="admin">'.pun_htmlspecialchars($cur_post['username']).'</span></a>';
        else
        {
        if (!$pun_user['is_guest'])
            $username = '<a href="javascript:pasteN(\''.pun_htmlspecialchars($cur_post['username']).'\');">'.pun_htmlspecialchars($cur_post['username']).'</a>';
        else
            $username = '<a href="profile.php?id='.$cur_post['poster_id'].'">'.pun_htmlspecialchars($cur_post['username']).'</a>';
        }

Поделиться

32

Re: подсветка статуса

в мыслях возникло такое извращение smile
можно таким образом указать, чтобы подсвечивался указанный ник, или несколько?

Поделиться

33 (26.09.2007 05:07 отредактировано flashcat)

Re: подсветка статуса

Использовал метод Slavik а, получилось впринцыпе не плохо вот бы еще добавить модераторов туда же... это можно ???
Сорри за глупый вопрос я догадался надо добавить

// Fetch users online info and generate strings for output
    $num_guests = 0;
    $users = array();
    $result = $db->query('SELECT user_id,  group_id as g_id, ident FROM '.$db->prefix.'online LEFT JOIN '.$db->prefix.'users ON id=user_id WHERE idle=0 ORDER BY ident', true) or error('Unable to fetch online list', __FILE__, __LINE__, $db->error());

    while ($pun_user_online = $db->fetch_assoc($result))
    {
        if ($pun_user_online['user_id'] > 1)
        {
            if ($pun_user_online['g_id'] == PUN_MOD)
                $users[] = "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online['user_id'].'"><font color="blue">'.pun_htmlspecialchars($pun_user_online['ident']).'</font></a>';
                if ($pun_user_online['g_id'] == PUN_ADMIN)
                $users[] = "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online['user_id'].'"><font color="red">'.pun_htmlspecialchars($pun_user_online['ident']).'</font></a>';
            else
                $users[] = "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online['user_id'].'">'.pun_htmlspecialchars($pun_user_online['ident']).'</a>';
        }
        
        else
            ++$num_guests;
    }

Только вот заметил проблему теперь, модераторы показываются,
Пример:
Активны:Flashcat,Flashcat.
Вобщем 2 раза цветом и нет.
А вот можно ли сделать тоже самое, со строкой сегодня были?
Пример: Сегодня были::
    Flashcat,

Ото там все одним цветом тоже, а интересно знать были ли сегодня модераторы вообще. А искать в списке в 200 человек трудно а так видно сразу.

Сайт flashcat

Поделиться

34

Re: подсветка статуса

У тебя проблемы с вложенными if-else, чую что правильней будет вместо

if ($pun_user_online['g_id'] == PUN_ADMIN)

написать:

elseif ($pun_user_online['g_id'] == PUN_ADMIN)

Сайт hcs

Поделиться

35 (26.09.2007 06:12 отредактировано flashcat)

Re: подсветка статуса

Во работает, вроде нормально. Спасибо тебе.
А по поводу вот это подскажет кто нибудь?
Пример: Сегодня были::
    Flashcat, 123, итд.
Это вроде вот здесь

// utilisateurs en ligne aujourd'hui
    $date = getdate(time());
    $todaystamp = mktime(0,0,0, $date['mon'], $date['mday'], $date['year']);

    $result = $db->query('SELECT username, id, last_visit from '.$db->prefix.'users WHERE last_visit >= \''.$todaystamp.'\' ORDER by last_visit DESC') or error('Impossible de retrouver la liste des utilisateurs en ligne aujourd\'hui', __FILE__, __LINE__, $db->error());

    $users_today = array();
    while ($pun_user_online_today = $db->fetch_assoc($result))
        $users_today[] .=  "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online_today['id'].'" title="Derniиre visite de '.$pun_user_online_today['username'].' : '.format_time($pun_user_online_today['last_visit']).'">'.$pun_user_online_today['username'].'</a>';
        
    $num_users_today = count($users_today);

    echo "\t\t\t\t".'<dd>'.$lang_index['Users online'].': <strong>'.$num_users.'</strong></dd>'."\n\t\t\t\t".'<dd>'.$lang_index['Users today'].': <strong>'.$num_users_today.'</strong></dd>'."\n\t\t\t\t".'<dd>'.$lang_index['Guests online'].': <strong>'.$num_guests.'</strong></dd>'."\n\t\t\t".'</dl>'."\n";

Сайт flashcat

Поделиться