Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2012-02-21 01:26:07

Rookie
Участник
Зарегистрирован: 2011-03-23
Сообщений: 53

Вопрос к Visman'у

Доброй ночи!

В общем в вашей сборке есть мод отображающий список онлайн юзеров в теме..

"42. (rev.42) Добавил свой мод Кто сейчас в этой теме."

В работе мода отлавливается в детали - id юзера и логин юзера (username),что даёт в итоге

<a href="profile.php?=id">username</a>

Так вот,как мне добавить к этим данным еще и вывод номера группы (g_id),чтоб было примерно так:

<a href="profile.php?=id2" alt="g_id1">Admin</a>
<a href="profile.php?=id3" alt="g_id2">Moder</a>
<a href="profile.php?=id4" alt="g_id4">User</a>

Думаю понятно изложил суть просьбы,помогите пожалуйста..

Спасибо большое.

Редактировался Rookie (2012-02-21 01:28:27)

Offline

#2 2012-02-21 05:50:25

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Вопрос к Visman'у

@Rookie, чтобы получить группы, нужно переписать функцию update_users_online так, чтобы кроме ника юзера в нем формировалась и его группа.

Offline

#3 2012-02-21 09:31:32

Rookie
Участник
Зарегистрирован: 2011-03-23
Сообщений: 53

Re: Вопрос к Visman'у

Visman пишет:

@Rookie, чтобы получить группы, нужно переписать функцию update_users_online так, чтобы кроме ника юзера в нем формировалась и его группа.

Спасибо,что откликнулся!

"нужно переписать функцию update_users_online" это ясно,но можно ли не многого по подробнее пожалуйста...

Видимо еще и таблице online придется немного переделать?

Offline

#4 2012-02-21 10:36:12

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Вопрос к Visman'у

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

Offline

#5 2012-02-21 12:46:49

Rookie
Участник
Зарегистрирован: 2011-03-23
Сообщений: 53

Re: Вопрос к Visman'у

function update_users_online($tid = 0, &$witt_us = array())
{
    global $db, $pun_config, $online_users, $online_guests, $online_search;

    $now = time();

    $kol = 0;
    $flag = false;

    // Fetch all online list entries that are older than "o_timeout_online"
    $result = $db->query('SELECT * FROM '.$db->prefix.'online') or error('Unable to fetch old entries from online list', __FILE__, __LINE__, $db->error());
    while ($cur_user = $db->fetch_assoc($result))
    {
        if ($cur_user['logged'] < ($now-$pun_config['o_timeout_online']))
        {
            // If the entry is a guest, delete it
            if ($cur_user['user_id'] == '1')
                $db->query('DELETE FROM '.$db->prefix.'online WHERE ident=\''.$db->escape($cur_user['ident']).'\'') or error('Unable to delete from online list', __FILE__, __LINE__, $db->error());
            else
            {
                // If the entry is older than "o_timeout_visit", update last_visit for the user in question, then delete him/her from the online list
                if ($cur_user['logged'] < ($now-$pun_config['o_timeout_visit']))
                {
                    $db->query('UPDATE '.$db->prefix.'users SET last_visit='.$cur_user['logged'].' WHERE id='.$cur_user['user_id']) or error('Unable to update user visit data', __FILE__, __LINE__, $db->error());
                    $db->query('DELETE FROM '.$db->prefix.'online WHERE user_id='.$cur_user['user_id']) or error('Unable to delete from online list', __FILE__, __LINE__, $db->error());
                }
                else if ($cur_user['idle'] == '0')
                {
                    $db->query('UPDATE '.$db->prefix.'online SET idle=1 WHERE user_id='.$cur_user['user_id']) or error('Unable to insert into online list', __FILE__, __LINE__, $db->error());
                    $online_search.= ',\''.$db->escape($cur_user['ident']).'\'';
                }
            }
        }
        else
        {
            $kol++;
            $online_search.= ',\''.$db->escape($cur_user['ident']).'\'';
            if ($cur_user['user_id'] == '1')
                $online_guests[] = $cur_user['ident'];
            else
                $online_users[$cur_user['user_id']] = $cur_user['ident'];


            if ($tid > 0 && !empty($cur_user['witt_data']))
            {
                $witt_ar = unserialize($cur_user['witt_data']);
                if (isset($witt_ar[$tid]) && $witt_ar[$tid] > $now - WITT_ENABLE)
                {
                    if ($cur_user['user_id'] == 1)
                        $witt_us[1][] = $cur_user['ident'];
                    else
                        $witt_us[$cur_user['user_id']] = $cur_user['ident'];
                }
            }
        }
    }

Изменения делать в этой функции??

Подскажи пожалуйста,как реализовать задуманное по твоей идее #2,ибо у самого не получается sad

Можешь в запрос в функции добавить обращение к таблице юзеров для получения группы конкретного пользователя.

Offline

Подвал доски

Под управлением FluxBB. Хостинг Hostens