Домой Wp-Recall WP-Recall: Вопросы и ответы Онлайн при простое когда открыта вкладка сайта
6ответ(ов) в теме
Марат Исляев
не в сети 8 лет
На сайте с 02.11.2015
Участник
1
14:53

Добрый день!
Подскажите пожалуйста, каким образом через каждые 10 минут обновляется time_action? Не пойму закономерности. Иногда при открытой вкладке сайта, даже если действий нет, то это время обновляется, а иногда нет. Хочу это понять перед тем, как сделать пинги ajax запросом с интервалом 10 минут, чтобы быть всегда онлайн, если сайт открыт. Спасибо большое!

0
Андрей CS
не в сети 11 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16855
2
15:22

при открытой вкладке может обновляться только если идет переписка в ЛС, больше вариантов вроде нет.

0
Марат Исляев
не в сети 8 лет
На сайте с 02.11.2015
Участник
3
16:07

спасибо! значит надо мутить обновление тайм_экшн аяксом

0
Андрей CS
не в сети 11 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16855
4
16:35

для обновления используйте функцию rcl_update_timeaction_user();

1
Марат Исляев
не в сети 8 лет
На сайте с 02.11.2015
Участник
5
21:18

Весьма благодарен! это максимально облегчает задачу

0
Марат Исляев
не в сети 8 лет
На сайте с 02.11.2015
Участник
6
16:30

сделал вот так:
в common.js поместил следующий код

setInterval(function() { $.post("/ajaxping.php");  }, 540000); //пингуем сайт с интервалов в 9 минут

в созданном ajaxping.php разместил следующее (часть взята из rcl_update_timeaction_user();):
<?php
require( dirname(__FILE__) . '/wp-load.php' );
function rcl_update_timeaction_user_ajax(){
	global $wpdb, $user_ID;
    if(!$user_ID) return false;
	$time = current_time('mysql');
	$res = $wpdb->update(
					RCL_PREF.'user_action',
					array( 'time_action' => $time ),
					array( 'user' => $user_ID )
				);
}
rcl_update_timeaction_user_ajax();
?>

1
Тема закрыта. Публикация новых сообщений запрещена.