Ну, вам нужно было бы сделать AJAX-вызов для пользовательского модуля, где вы бы затем вызвали функцию php и вернули результат.
Так что в пользовательском модуле, который у вас уже есть, или создайте его другим способом:
function MODULENAME_menu() {
$items = array();
$items['user/logged_on'] = array(
'title' => 'Ajax logincheck',
'page callback' => 'MODULENAME_check_user_status',
'access callback' => TRUE,
'type' => MENU_CALLBACK
);
return $items
}
function MODULENAME_check_user_status($uid) {
// Do the lookup / checking
// something like:
if (user_is_logged_in()) {
echo '1';
else {
echo $result;
}
exit();
}
замените MODULENAME
на имя вашего модуля, затем сделайте aJax-вызов jQuery для /user/logged_on
.Который должен возвращать 1 или 0, чтобы сказать вам, если он все еще вошел в систему.
Однако я не уверен, что вы можете получить доступ к $ GLOBAL ['user'] через AJAX-вызов, но стоит попробовать.
РЕДАКТИРОВАТЬ: Пример функции вызова ajax будет выглядеть примерно так:
function checkUserStatus() {
$.ajax({
url: "/user/logged_on",
complete: validateUser
});
}
function validateUser(result) {
if (result) {
// User is logged in do what you need to do
}
}
и я предполагаю, что вы захотите вызвать checkUserStatus
сsetTimeout()
Метод.
Дайте мне знать, если вам нужно что-нибудь еще ...