Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Страницы 1
Доброй ночи!
В общем в вашей сборке есть мод отображающий список онлайн юзеров в теме..
"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
@Rookie, чтобы получить группы, нужно переписать функцию update_users_online так, чтобы кроме ника юзера в нем формировалась и его группа.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
@Rookie, чтобы получить группы, нужно переписать функцию update_users_online так, чтобы кроме ника юзера в нем формировалась и его группа.
Спасибо,что откликнулся!
"нужно переписать функцию update_users_online" это ясно,но можно ли не многого по подробнее пожалуйста...
Видимо еще и таблице online придется немного переделать?
Offline
Можешь изменить таблицу онлайн для содержания группы юзера в ней и записывать туда данные при обновлении пользователя.
Можешь в запрос в функции добавить обращение к таблице юзеров для получения группы конкретного пользователя.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
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,ибо у самого не получается
Можешь в запрос в функции добавить обращение к таблице юзеров для получения группы конкретного пользователя.
Offline
Страницы 1