Joywork/ajax/set_online.php
2026-05-22 21:21:54 +03:00

66 lines
2.1 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
$setOnlineCall = 1;
require_once($_SERVER['DOCUMENT_ROOT']."/config.php");
require_once($_SERVER['DOCUMENT_ROOT']."/engine/functions.php");
if($_SESSION['id'])
{
setOnline();
$sql = "SELECT last_ip_check FROM online WHERE id_user = $_SESSION[id]";
$rez = mysql_query($sql);
if (mysql_num_rows($rez)) {
$online = mysql_fetch_assoc($rez);
$date_time = strtotime($online['last_ip_check']);
$date_time_with_hour = $date_time + 3600;
if ($date_time_with_hour < time()) {
$agency_id = User::getUserAgencyID($_SESSION['id']);
$sql_enable = "SELECT * FROM auth_enable_ip WHERE id_agency = {$agency_id}";
$q_enable = mysql_query($sql_enable);
//если есть строки в таблице, значит есть ограничение по IP
if (mysql_num_rows($q_enable) > 0) {
$ipEnabled = false;
while ($ip = mysql_fetch_assoc($q_enable)) {
if ($ip['ip'] == $_SERVER['REMOTE_ADDR']) {
$ipEnabled = true;
}
}
if (!$ipEnabled) {
//проверяем разрешение на фход с любого IP
$sql_select_permissions = "SELECT allow_any_ip FROM user_permissions WHERE user_id=$_SESSION[id]";
$permissions_result = mysql_query($sql_select_permissions);
if (mysql_num_rows($permissions_result) > 0) {
$r_u = mysql_fetch_assoc($permissions_result);
$allowAnyIp = $r_u["allow_any_ip"];
if ($allowAnyIp) {
$ipEnabled = true;
}
}
}
if (!$ipEnabled) {
$user = new User;
$user->quit("" , false);
exit;
}
}
$sql = "UPDATE online SET last_ip_check = NOW() WHERE id_user = $_SESSION[id]";
mysql_query($sql);
}
}
}
?>