Joywork/ajax/set_online.php

66 lines
2.1 KiB
PHP
Raw Permalink Normal View History

2026-05-22 20:21:54 +02:00
<?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);
}
}
}
?>