From 6c9369ad85f2fb3dc61234b54db7e7079cdc0c4e Mon Sep 17 00:00:00 2001 From: cflip <36554078+cflip@users.noreply.github.com> Date: Fri, 23 Apr 2021 18:43:12 -0600 Subject: Refactoring part 1 --- includes/Session.php | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 includes/Session.php (limited to 'includes/Session.php') 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 @@ +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 -- cgit v1.2.3 From 7c3f2e348c015ea93563d866f89ec8cea9159ea0 Mon Sep 17 00:00:00 2001 From: cflip <36554078+cflip@users.noreply.github.com> Date: Sat, 24 Apr 2021 09:40:20 -0600 Subject: Refactoring part 2 Starting to move some functionality such as the session and database connection into singleton classes to manage them. Functions for modifying posts and threads are being put in one place as well. --- includes/Session.php | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'includes/Session.php') diff --git a/includes/Session.php b/includes/Session.php index d97e7c5..7e17527 100644 --- a/includes/Session.php +++ b/includes/Session.php @@ -9,10 +9,8 @@ class Session session_start(); } - public static function get(): ?Session + public static function get() { - session_start(); - if (self::$instance == null) { self::$instance = new Session(); } @@ -25,7 +23,7 @@ class Session $_SESSION['signed_in'] = true; } - public function is_signed_in() + public function is_signed_in(): bool { return isset($_SESSION['signed_in']); } @@ -42,7 +40,7 @@ class Session $result = new User(); if (isset($_SESSION['user_id'])) { - $result->get_by_id($_GET['id'], $dbc); + $result->get_by_id($_SESSION['user_id']); } else { $result = null; } -- cgit v1.2.3 From 2098bf444afadcf0363d89b4cc1dca5d2213d754 Mon Sep 17 00:00:00 2001 From: cflip <36554078+cflip@users.noreply.github.com> Date: Sat, 24 Apr 2021 19:40:50 -0600 Subject: Remove all uses of db_inc.php This method of importing the database login every time wasn't very good. Now everything uses the new Database singleton class. --- includes/Session.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'includes/Session.php') diff --git a/includes/Session.php b/includes/Session.php index 7e17527..a9c1dc7 100644 --- a/includes/Session.php +++ b/includes/Session.php @@ -18,9 +18,11 @@ class Session return self::$instance; } - public function sign_in() + public function sign_in(User $user) { $_SESSION['signed_in'] = true; + $_SESSION['user_id'] = $user->id; + $_SESSION['user_name'] = $user->name; } public function is_signed_in(): bool @@ -30,8 +32,6 @@ class Session public function get_current_user() { - include_once 'db_inc.php'; - // There is no current user if (!$this->is_signed_in()) { return null; -- cgit v1.2.3 From 08561be92bbfafe149b758634f3df4d00ee310de Mon Sep 17 00:00:00 2001 From: cflip <36554078+cflip@users.noreply.github.com> Date: Sun, 25 Apr 2021 09:13:44 -0600 Subject: Only start session if it hasn't already been started --- includes/Session.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'includes/Session.php') diff --git a/includes/Session.php b/includes/Session.php index a9c1dc7..967b11b 100644 --- a/includes/Session.php +++ b/includes/Session.php @@ -6,7 +6,8 @@ class Session private function __construct() { - session_start(); + if (session_status() == PHP_SESSION_NONE) + session_start(); } public static function get() -- cgit v1.2.3 From 2d5cf9448edb1eb6785c1532ccb031b0ba0d1ef0 Mon Sep 17 00:00:00 2001 From: cflip <36554078+cflip@users.noreply.github.com> Date: Sun, 25 Apr 2021 17:43:37 -0600 Subject: Remove old signout_inc.php file --- includes/Session.php | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'includes/Session.php') diff --git a/includes/Session.php b/includes/Session.php index 967b11b..7951d70 100644 --- a/includes/Session.php +++ b/includes/Session.php @@ -26,6 +26,12 @@ class Session $_SESSION['user_name'] = $user->name; } + public function sign_out() + { + session_unset(); + session_destroy(); + } + public function is_signed_in(): bool { return isset($_SESSION['signed_in']); -- cgit v1.2.3