summaryrefslogtreecommitdiff
path: root/php/session.php
diff options
context:
space:
mode:
Diffstat (limited to 'php/session.php')
-rwxr-xr-xphp/session.php19
1 files changed, 19 insertions, 0 deletions
diff --git a/php/session.php b/php/session.php
index acb2df3..6f2d714 100755
--- a/php/session.php
+++ b/php/session.php
@@ -84,6 +84,25 @@ function set_user_id(int $user_id): void {
$_SESSION['user_id'] = $user_id;
}
+function sign_out(): void {
+ if (!has_session()) {
+ return;
+ }
+
+ start_session();
+
+ $_SESSION = [];
+
+ $parameters = session_cookie(0);
+ $parameters['expires'] = time() - 3600;
+
+ unset($parameters['lifetime']);
+
+ setcookie(session_name(), '', $parameters);
+
+ session_destroy();
+}
+
function get_user_id(): ?int {
if (!has_session()) {
return null;