78 lines
2.0 KiB
PHP
78 lines
2.0 KiB
PHP
<?php
|
|
if(!isset($connected) || !$connected)
|
|
{
|
|
echo "Session requires a database connection";
|
|
exit;
|
|
}
|
|
|
|
if(!isSession())
|
|
{
|
|
logout("You are not logged in");
|
|
}
|
|
else
|
|
{
|
|
$session_id = getSession();
|
|
$ip = $_SERVER['REMOTE_ADDR'];
|
|
|
|
$sql = "SELECT user.id AS uid, session.id AS sid, `time`, `ip`, `username`, `email`, `remember`FROM `session`, `user` WHERE session.user=user.id AND session.session='$session_id'";
|
|
$query = ExecQuery($mysqli, $sql);
|
|
|
|
if($query->num_rows<1){
|
|
logout("You are not logged in");
|
|
}
|
|
elseif($query->num_rows == 1){
|
|
|
|
$result = $query->fetch_assoc();
|
|
|
|
$userid = $result['uid'];
|
|
$remember = $result['remember'];
|
|
$username = $result['username'];
|
|
$email = $result['email'];
|
|
|
|
$sessionid = $result['sid'];
|
|
$session_time = $result['time'];
|
|
$session_time = date_create($session_time);
|
|
|
|
//Check if IP has changed
|
|
if($remember != 1 && $result['ip'] != $ip)
|
|
{
|
|
logout("Your IP address has changed, please login again");
|
|
}
|
|
|
|
//Load device
|
|
$sql = "SELECT device.id AS id, device.dev_id AS dev_id FROM `session`, `device` WHERE session.dev_id = device.id AND session.id=$sessionid";
|
|
$query = ExecQuery($mysqli, $sql);
|
|
|
|
if($query->num_rows < 1)
|
|
{
|
|
$deviceid = 0;
|
|
$device = "Not selected";
|
|
}
|
|
else
|
|
{
|
|
$result = $query->fetch_assoc();
|
|
$deviceid = $result['id'];
|
|
$device = $result['dev_id'];
|
|
}
|
|
|
|
$curr_time = date('Y-m-d H:i:s'); //, strtotime(date('Y-m-d H:i:s') .' +7 hour'));
|
|
$curr_time = date_create($curr_time);
|
|
|
|
$interval = date_diff($session_time, $curr_time, false);
|
|
$interval = $interval->format('%H:%I:%S');
|
|
|
|
if(strtotime($interval) < strtotime(SESSION_TIME) || $remember == 1){
|
|
|
|
$sql = "UPDATE `session` SET `time`=NOW() WHERE `id`='$sessionid'";
|
|
ExecQuery($mysqli, $sql);
|
|
$loggedin = true;
|
|
}
|
|
else{
|
|
logout("Your session has expired, please login again");
|
|
}
|
|
}
|
|
else{
|
|
logout("An error has occured");
|
|
}
|
|
}
|
|
?>
|