diff options
author | cflip <36554078+cflip@users.noreply.github.com> | 2021-04-23 18:43:12 -0600 |
---|---|---|
committer | cflip <36554078+cflip@users.noreply.github.com> | 2021-04-23 18:43:12 -0600 |
commit | 6c9369ad85f2fb3dc61234b54db7e7079cdc0c4e (patch) | |
tree | 0275f6627930f6edff72b0ebba7813b746d3c228 /includes/Session.php | |
parent | f469e37a0a5d90350a6abd6a0c7b92b019f377e1 (diff) |
Refactoring part 1
Diffstat (limited to 'includes/Session.php')
-rw-r--r-- | includes/Session.php | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/includes/Session.php b/includes/Session.php new file mode 100644 index 0000000..d97e7c5 --- /dev/null +++ b/includes/Session.php @@ -0,0 +1,52 @@ +<?php + +class Session +{ + private static $instance = null; + + private function __construct() + { + session_start(); + } + + public static function get(): ?Session + { + session_start(); + + if (self::$instance == null) { + self::$instance = new Session(); + } + + return self::$instance; + } + + public function sign_in() + { + $_SESSION['signed_in'] = true; + } + + public function is_signed_in() + { + return isset($_SESSION['signed_in']); + } + + public function get_current_user() + { + include_once 'db_inc.php'; + + // There is no current user + if (!$this->is_signed_in()) { + return null; + } + + $result = new User(); + + if (isset($_SESSION['user_id'])) { + $result->get_by_id($_GET['id'], $dbc); + } else { + $result = null; + } + + return $result; + } +}
\ No newline at end of file |