From a8cc43a0ff1cf6297577fae8536408287518baf4 Mon Sep 17 00:00:00 2001
From: Andrew Dolgov <noreply@fakecake.org>
Date: Sun, 14 Feb 2021 15:31:03 +0300
Subject: [PATCH] move logout_user() to UserHelper

---
 classes/api.php            |  2 +-
 classes/handler/public.php |  2 +-
 classes/pref/users.php     | 11 -----------
 classes/userhelper.php     | 14 +++++++++++++-
 4 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/classes/api.php b/classes/api.php
index 6a919be64..9299c34ea 100755
--- a/classes/api.php
+++ b/classes/api.php
@@ -81,7 +81,7 @@ class API extends Handler {
 	}
 
 	function logout() {
-		Pref_Users::logout_user();
+		UserHelper::logout();
 		$this->wrap(self::STATUS_OK, array("status" => "OK"));
 	}
 
diff --git a/classes/handler/public.php b/classes/handler/public.php
index 481145606..79f3a9e6c 100755
--- a/classes/handler/public.php
+++ b/classes/handler/public.php
@@ -286,7 +286,7 @@ class Handler_Public extends Handler {
 
 	function logout() {
 		if (validate_csrf($_POST["csrf_token"])) {
-			Pref_Users::logout_user();
+			UserHelper::logout();
 			header("Location: index.php");
 		} else {
 			header("Content-Type: text/json");
diff --git a/classes/pref/users.php b/classes/pref/users.php
index 0454a1292..24d28e62a 100644
--- a/classes/pref/users.php
+++ b/classes/pref/users.php
@@ -418,15 +418,4 @@ class Pref_Users extends Handler_Protected {
 				return $default;
 		}
 
-	static function logout_user() {
-		if (session_status() === PHP_SESSION_ACTIVE)
-			session_destroy();
-
-		if (isset($_COOKIE[session_name()])) {
-		   setcookie(session_name(), '', time()-42000, '/');
-
-		}
-		session_commit();
-	}
-
 }
diff --git a/classes/userhelper.php b/classes/userhelper.php
index c9c4dd102..8eb97f5d0 100644
--- a/classes/userhelper.php
+++ b/classes/userhelper.php
@@ -105,7 +105,7 @@ class UserHelper {
 				}
 
 				if (empty($_SESSION["uid"])) {
-					Pref_Users::logout_user();
+					UserHelper::logout();
 
 					Handler_Public::render_login_form();
 					exit;
@@ -157,4 +157,16 @@ class UserHelper {
 
 		return false;
 	}
+
+	static function logout() {
+		if (session_status() === PHP_SESSION_ACTIVE)
+			session_destroy();
+
+		if (isset($_COOKIE[session_name()])) {
+		   setcookie(session_name(), '', time()-42000, '/');
+
+		}
+		session_commit();
+	}
+
 }
-- 
GitLab