Здравствуйте.
1.У меня вот такой вопрос. Я поменяла "время на линии "на 300 сек, но даже если человек выйдет из форума, его статус будет продолжать оставаться Online до тех по пока эти 300 сек не истекут. Как можно исправить код так, чтобы сразу после того как человек выходил из форума его статус менялся бы на Offline?
Я не знаю php, но мне кажется, что если можно было бы поставить условие вроде “если (if) пользователь на линии ('session_logged_in')” где-то в следующем районе, то это могло бы сработать
Код: Выделить всё
// Start add - Online/Offline/Hidden Mod
if ($row['user_session_time'] >= (time()-$board_config['online_time']))
{
if ($row['user_allow_viewonline'])
{
$online_status_img = '<a href="' . append_sid("viewonline.$phpEx") . '"><img src="' . $images['icon_online'] . '" alt="' . sprintf($lang['is_online'], $username) . '" title="' . sprintf($lang['is_online'], $username) . '" /></a>';
$online_status = '<strong><a href="' . append_sid("viewonline.$phpEx") . '" title="' . sprintf($lang['is_online'], $username) . '"' . $online_color . '>' . $lang['Online'] . '</a></strong>';
}
else if ($userdata['user_level'] == ADMIN || $userdata['user_id'] == $user_id)
{
$online_status_img = '<a href="' . append_sid("viewonline.$phpEx") . '"><img src="' . $images['icon_hidden'] . '" alt="' . sprintf($lang['is_hidden'], $username) . '" title="' . sprintf($lang['is_hidden'], $username) . '" /></a>';
$online_status = '<strong><em><a href="' . append_sid("viewonline.$phpEx") . '" title="' . sprintf($lang['is_hidden'], $username) . '"' . $hidden_color . '>' . $lang['Hidden'] . '</a></em></strong>';
}
else
{
$online_status_img = '<img src="' . $images['icon_offline'] . '" alt="' . sprintf($lang['is_offline'], $username) . '" title="' . sprintf($lang['is_offline'], $username) . '" />';
$online_status = '<span title="' . sprintf($lang['is_offline'], $username) . '"' . $offline_color . '><strong>' . $lang['Offline'] . '</strong></span>';
}
}
else
{
$online_status_img = '<img src="' . $images['icon_offline'] . '" alt="' . sprintf($lang['is_offline'], $username) . '" title="' . sprintf($lang['is_offline'], $username) . '" />';
$online_status = '<span title="' . sprintf($lang['is_offline'], $username) . '"' . $offline_color . '><strong>' . $lang['Offline'] . '</strong></span>';
}
// End add - Online/Offline/Hidden Mod
данный кусок кода взят из той части кода, который должен быть добавлен в файл memberlist.php
Вот весь код, который нужно добавить в файл memberlist.php
Код: Выделить всё
#
#-----[ OPEN ]------------------------------------------
#
memberlist.php
#
#-----[ FIND ]------------------------------------------
#
'L_POSTS' => $lang['Posts'],
#
#-----[ AFTER, ADD ]------------------------------------------
#
// Start add - Online/Offline/Hidden Mod
'L_ONLINE_STATUS' => $lang['Online_status'],
// End add - Online/Offline/Hidden Mod
#
#-----[ FIND ]------------------------------------------
#
$sql = "SELECT username
#
#-----[ IN-LINE FIND ]------------------------------------------
#
user_avatar_type, user_allowavatar
#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#
, user_allow_viewonline, user_session_time
#
#-----[ FIND ]------------------------------------------
#
$search = '<a href="' . $temp_url . '">' . $lang['Search_user_posts'] . '</a>';
#
#-----[ AFTER, ADD ]------------------------------------------
#
// Start add - Online/Offline/Hidden Mod
if ($row['user_session_time'] >= (time()-$board_config['online_time']))
{
if ($row['user_allow_viewonline'])
{
$online_status_img = '<a href="' . append_sid("viewonline.$phpEx") . '"><img src="' . $images['icon_online'] . '" alt="' . sprintf($lang['is_online'], $username) . '" title="' . sprintf($lang['is_online'], $username) . '" /></a>';
$online_status = '<strong><a href="' . append_sid("viewonline.$phpEx") . '" title="' . sprintf($lang['is_online'], $username) . '"' . $online_color . '>' . $lang['Online'] . '</a></strong>';
}
else if ($userdata['user_level'] == ADMIN || $userdata['user_id'] == $user_id)
{
$online_status_img = '<a href="' . append_sid("viewonline.$phpEx") . '"><img src="' . $images['icon_hidden'] . '" alt="' . sprintf($lang['is_hidden'], $username) . '" title="' . sprintf($lang['is_hidden'], $username) . '" /></a>';
$online_status = '<strong><em><a href="' . append_sid("viewonline.$phpEx") . '" title="' . sprintf($lang['is_hidden'], $username) . '"' . $hidden_color . '>' . $lang['Hidden'] . '</a></em></strong>';
}
else
{
$online_status_img = '<img src="' . $images['icon_offline'] . '" alt="' . sprintf($lang['is_offline'], $username) . '" title="' . sprintf($lang['is_offline'], $username) . '" />';
$online_status = '<span title="' . sprintf($lang['is_offline'], $username) . '"' . $offline_color . '><strong>' . $lang['Offline'] . '</strong></span>';
}
}
else
{
$online_status_img = '<img src="' . $images['icon_offline'] . '" alt="' . sprintf($lang['is_offline'], $username) . '" title="' . sprintf($lang['is_offline'], $username) . '" />';
$online_status = '<span title="' . sprintf($lang['is_offline'], $username) . '"' . $offline_color . '><strong>' . $lang['Offline'] . '</strong></span>';
}
// End add - Online/Offline/Hidden Mod
#
#-----[ FIND ]------------------------------------------
#
'YIM' => $yim,
#
#-----[ AFTER, ADD ]------------------------------------------
#
// Start add - Online/Offline/Hidden Mod
'ONLINE_STATUS_IMG' => $online_status_img,
'ONLINE_STATUS' => $online_status,
// End add - Online/Offline/Hidden Mod
2.Здесь раньше задавался вопрос про то, что в личных сообщениях возле имени получателя стоит статус получателя. Для тех, кто так и не нашел выход из положения вот, какие изменения я сделала в файле templates/subSilver/privmsgs_read_body.tpl
Код: Выделить всё
<tr>
<td class="row2"><span class="genmed">{L_FROM}:</span></td>
<td width="100%" class="row2" colspan="2"><span class="genmed">{MESSAGE_FROM}</span><span class="gensmall">{POSTER_FROM_ONLINE_STATUS}</span></td>
</tr>
<tr>
<td class="row2"><span class="genmed">{L_TO}:</span></td>
<td width="100%" class="row2" colspan="2"> <span class="genmed">{MESSAGE_TO}</span> </td>
</tr>
Если отправитель в данный момент находится на линии, то его статус ( Online) будет привязан к станице Who is online.