HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/NVonken/mijneigenlied.com/wwwroot/Core/Domain/Session.php
<?php

	class Session extends BaseClass
	{
		////////////////
		// Properties //
		////////////////
		
		public $Id;
		public $Hash;
		public $UserId;
		public $IP;
		public $Time;
		
		public static $_primaryKey = array("Id");
		
		private static $_sessionClean = false;
		
		////////////////////
		// Public Methods //
		////////////////////
		public function __construct()
		{
			
			parent::__construct(get_class());
		}
		
		public static function Select($id)
		{
			return parent::Select($id);
		}
		
		public static function SelectByHash($hash)
		{
			return reset(parent::SelectObjects("SELECT * FROM Session WHERE Hash = '".$hash."' AND Time > '".( time() - (SESSION_LIFETIME) )."'"));
		}
		
		public function Insert()
		{
			parent::Insert($this);
		}
		
		public function Update()
		{
			parent::Update($this);
		}
		
		public function Delete()
		{
			parent::Delete();
		}
		
		public function Refresh()
		{
			parent::_db()->query("UPDATE Session SET Time = '".(time() + (SESSION_LIFETIME))."' WHERE Id = '".$this->Id."'");
		}
		
		public static function DeleteByHash($hash)
		{
			$db = new db();
			$db->query("DELETE FROM Session WHERE Hash = '".$hash."'");
		}
		
		public static function CleanSessions()
		{
			if(!Session::$_sessionClean)
			{		
				$db = new db();
				$db->query("DELETE FROM Session WHERE Time < ".(time() - (SESSION_LIFETIME)));
				Session::$_sessionClean = true;
			}
		}
	}

?>