summaryrefslogtreecommitdiffstats
path: root/inc/session.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/session.inc.php')
-rw-r--r--inc/session.inc.php43
1 files changed, 21 insertions, 22 deletions
diff --git a/inc/session.inc.php b/inc/session.inc.php
index 17e3184..f89d87e 100644
--- a/inc/session.inc.php
+++ b/inc/session.inc.php
@@ -3,13 +3,13 @@
class Session
{
- private static $sid = false;
- private static $data = false;
- private static $needUpdate = true;
+ private static ?string $sid = null;
+ private static ?array $data = null;
+ private static bool $needUpdate = true;
- private static function generateSessionId()
+ private static function generateSessionId(): void
{
- if (self::$sid !== false)
+ if (self::$sid !== null)
Util::traceError('Error: Asked to generate session id when already set.');
self::$sid = sha1(
mt_rand(0, 65535)
@@ -24,13 +24,13 @@ class Session
);
}
- public static function create()
+ public static function create(): void
{
self::generateSessionId();
self::$data = array();
}
- public static function load()
+ public static function load(): bool
{
// Try to load session id from cookie
if (!self::loadSessionId()) return false;
@@ -46,7 +46,7 @@ class Session
return self::get('uid');
}
- public static function setUid($value)
+ public static function setUid($value): void
{
if (strlen($value) < 5)
Util::traceError('Invalid user id: ' . $value);
@@ -60,7 +60,7 @@ class Session
return false;
}
- public static function set($key, $value)
+ public static function set(string $key, $value): void
{
if (!is_array(self::$data))
Util::traceError('Tried to set session data with no active session');
@@ -70,9 +70,9 @@ class Session
self::$needUpdate = true;
}
- private static function loadSessionId()
+ private static function loadSessionId(): bool
{
- if (self::$sid !== false)
+ if (self::$sid !== null)
Util::traceError('Error: Asked to load session id when already set.');
if (empty($_COOKIE['sid']))
return false;
@@ -83,18 +83,18 @@ class Session
return true;
}
- public static function delete()
+ public static function delete(): void
{
- if (self::$sid === false) return;
+ if (self::$sid === null) return;
Database::exec('DELETE FROM websession WHERE sid = :sid', array('sid' => self::$sid));
setcookie('sid', '', time() - CONFIG_SESSION_TIMEOUT, null, null, !empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off', true);
- self::$sid = false;
- self::$data = false;
+ self::$sid = null;
+ self::$data = null;
}
- public static function save()
+ public static function save(): void
{
- if (self::$sid === false || self::$data === false || !self::$needUpdate)
+ if (self::$sid === null || self::$data === null || !self::$needUpdate)
return;
$data = json_encode(self::$data);
$ret = Database::exec('INSERT INTO websession (sid, dateline, data) '
@@ -108,9 +108,9 @@ class Session
Util::traceError('Error: Could not set Cookie for Client (headers already sent)');
}
- public static function readSessionData()
+ public static function readSessionData(): bool
{
- if (self::$sid === false || self::$data !== false)
+ if (self::$sid === null || self::$data !== null)
Util::traceError('Tried to readSessionData on an active session!');
$data = Database::queryFirst('SELECT dateline, data FROM websession WHERE sid = :sid LIMIT 1', array('sid' => self::$sid));
if ($data === false) {
@@ -121,9 +121,8 @@ class Session
return false;
}
self::$needUpdate = ($data['dateline'] + 3600 < time());
- self::$data = @json_decode($data['data'], true);
- if (!is_array(self::$data))
- self::$data = array();
+ $data = @json_decode($data['data'], true);
+ self::$data = is_array($data) ? $data : [];
return true;
}