Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Общие вопросы » Статус пользователя

Статус пользователя


     Общие вопросы, Общие вопросы по PHP    4261

вопрос
Всем привет, подскажите пожалуйста как правильно вывести статус пользователя?

При использовании этого хака статус пользователя на сайте почти всегда ofline :(

Ответил: Sander


Дата последнего посещения в dle обновляется раз в 4 часа.

16 комментариев

ПафНутиЙ
Админ

ПафНутиЙ - -

ждите выхода 9.6 и ничего не придётся править ))

Каков вопрос - таков и ответ. Просто помните об этом.

promax
Юзер

promax - -

А вы где это прописали ?

прописано ли у вас в index.php :

$fuser_status = '';
$timer = 2;
$fuser_status = ((time() + ($config['date_adjust']*60)) < ($member_id['lastdate'] + ($timer*60))) ? $request_online=false : $request_online=true;

if ( $is_logged AND $request_online ) $db->query("UPDATE " . USERPREFIX . "_users SET lastdate = '".time()."' WHERE user_id = '$member_id[user_id]'");

pavel31
Юзер

pavel31 - -

ПафНутиЙ,
Это я знаю, но во первых долго наверное ждать придётся и во вторрых обновлятся надо будет

Mr. Hyde
Юзер

Mr. Hyde - -

2 недели. Но у вас будет нормальная реализация.

pavel31
Юзер

pavel31 - -

promax,
Этот код

// статус пользователя
$timer = 1;
$dtime_1 = (time() + ($config['date_adjust'] * 60) - ($timer * 60));
$dtime_2 = (time() + ($config['date_adjust'] * 60) + ($timer * 60));
if ($row['lastdate'] > $dtime_1 and $row['lastdate'] set('{stat}', '<img align="absmiddle" src="&#123;THEME}/images/icons/online.png" alt="" /> <font color="#00B700">Онлайн</font>');
else
$tpl->set('{stat}', '<img align="absmiddle" src="&#123;THEME}/images/icons/offline.png" alt="" /> <font color="#ADADAD">Не в сети</font>');
// статус пользователя

я прописла в файле profile.php

В index.php ничего не прописывал

promax
Юзер

promax - -

pavel31, ну вот пропишите !

pavel31
Юзер

pavel31 - -

Нет, все равно не работает recourse

promax
Юзер

promax - -

$fuser_status = '';
$timer = 2;
$dtime_1 = (time() + ($config['date_adjust'] * 60) - ($timer * 60));
$dtime_2 = (time() + ($config['date_adjust'] * 60) + ($timer * 60));
if( $row['lastdate'] > $dtime_1 AND $row['lastdate']< $dtime_2 )$tpl-> set('{stat}', '<img align="absmiddle" src="&#123;THEME}/images/icons/online.png" alt="" /> <font color="#00B700">Онлайн</font>');
else
$tpl->set('{stat}', '<img align="absmiddle" src="&#123;THEME}/images/icons/offline.png" alt="" /> <font color="#ADADAD">Не в сети</font>');


а если так

Heon
Юзер

Heon - -

Только ошибку исправь
 {THEME}
перед вставкой..

pavel31
Юзер

pavel31 - -

Heon,
{THEME} это мелочь :) с таким кодом

$fuser_status = '';
$timer = 2;
$fuser_status = ((time() + ($config['date_adjust']*60)) < ($member_id['lastdate'] + ($timer*60))) ? $request_online=false : $request_online=true;
if ( $is_logged AND $request_online ) $db->query("UPDATE " . USERPREFIX . "_users SET lastdate = '".time()."' WHERE user_id = '$member_id[user_id]'");
$tpl->set('{stat}', $fuser_status);

у всех пользовтелей статус 1 хоть онлайн хоть оффлайн.

promax
Юзер

promax - -

pavel31

в index.php :

после
$tpl->set ( '{speedbar}', $tpl->result['speedbar'] );


вставить

$fuser_status = '';
$timer = 2;
$fuser_status = ((time() + ($config['date_adjust']*60)) < ($member_id['lastdate'] + ($timer*60))) ? $request_online=false : $request_online=true;

if ( $is_logged AND $request_online ) $db->query("UPDATE " . USERPREFIX . "_users SET lastdate = '".time()."' WHERE user_id = '$member_id[user_id]'");


в profile.php :

После:

$tpl->load_template( 'userinfo.tpl' );
while ( $row = $db->get_row( $sql_result ) ) {
$user_found = TRUE;


вставить

$fuser_status = '';
$timer = 2;
$dtime_1 = ( time() + ($config['date_adjust']*60) - ($timer*60) );
$dtime_2 = ( time() + ($config['date_adjust']*60) + ($timer*60) );
if( $row['lastdate'] > $dtime_1 AND $row['lastdate'] < $dtime_2 ) $tpl->set('{stat}',  " онлайн"); else $tpl->set('{stat}', "оффлайн");


Все должно работать !

pavel31
Юзер

pavel31 - -

Нет recourse Ладно буду ждать новую версия движка. Всем ответившим большое спасибо.

Sander
PHP-developer

Sander - -

Не забвайте о том, что дата последнего посещения в dle обновляется раз в 4 часа

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

promax
Юзер

promax - -

у меня она меньше 2 минут обновляется

pavel31
Юзер

pavel31 - -

Sander,
Мне не нужна дата последнего посещения, мне нужен статус пользователя онлайн / офлайн

promax
Юзер

promax - -

pavel31 если ты посмотришь код , то увидишь что статус зависит от даты последнего посещения !

Похожие вопросы

наверх