From 3b102b390369b1a4c54a532aa227d4df3664cdf8 Mon Sep 17 00:00:00 2001 From: AntonyAntonio Date: Tue, 20 Jun 2017 15:52:16 -0300 Subject: [PATCH] Guillermo - Issue #12 -Backend --- server/controllers/system/get-settings.php | 4 ++-- server/controllers/system/init-settings.php | 2 +- server/libs/Controller.php | 1 + server/models/Session.php | 13 +++++++++---- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/server/controllers/system/get-settings.php b/server/controllers/system/get-settings.php index 253d1ef5..9ade4956 100755 --- a/server/controllers/system/get-settings.php +++ b/server/controllers/system/get-settings.php @@ -53,7 +53,7 @@ class GetSettingsController extends Controller { 'departments' => Department::getDepartmentNames(), 'supportedLanguages' => Language::getSupportedLanguages(), 'allowedLanguages' => Language::getAllowedLanguages(), - 'store-prefix' => Setting::getSetting('store-prefix') + 'session-prefix' => Setting::getSetting('session-prefix') ]; } else { $settingsList = [ @@ -70,7 +70,7 @@ class GetSettingsController extends Controller { 'supportedLanguages' => Language::getSupportedLanguages(), 'allowedLanguages' => Language::getAllowedLanguages(), 'user-system-enabled' => Setting::getSetting('user-system-enabled')->getValue() * 1, - 'store-prefix' => Setting::getSetting('store-prefix') + 'session-prefix' => Setting::getSetting('session-prefix') ]; } } diff --git a/server/controllers/system/init-settings.php b/server/controllers/system/init-settings.php index f615dfd2..6a68ed9d 100755 --- a/server/controllers/system/init-settings.php +++ b/server/controllers/system/init-settings.php @@ -79,7 +79,7 @@ class InitSettingsController extends Controller { 'file-gap' => Hashing::generateRandomPrime(1000000, 9999999), 'file-first-number' => Hashing::generateRandomNumber(1000000, 9999999), 'file-quantity' => 0, - 'store-prefix' => 'opensupports-'.Hashing::generateRandomToken().'_' + 'session-prefix' => 'opensupports-'.Hashing::generateRandomToken().'_' ]); } diff --git a/server/libs/Controller.php b/server/libs/Controller.php index 2412af24..04c38f20 100755 --- a/server/libs/Controller.php +++ b/server/libs/Controller.php @@ -14,6 +14,7 @@ abstract class Controller { public function getHandler() { return function () { try { + Session::getInstance()->setSessionPrefix(Setting::getSetting('session-prefix')->getValue()); $this->validate(); $this->handler(); } catch (\Exception $exception) { diff --git a/server/models/Session.php b/server/models/Session.php index bd5e987e..d5268a20 100755 --- a/server/models/Session.php +++ b/server/models/Session.php @@ -2,7 +2,8 @@ class Session { static $instance = null; - + private $sessionPrefix = ''; + private function __construct() { $this->initSession(); } @@ -65,14 +66,14 @@ class Session { } public function store($key, $value) { - $_SESSION[$key] = $value; + $_SESSION[$this->sessionPrefix . $key] = $value; } private function getStoredData($key) { $storedValue = null; - if (array_key_exists($key, $_SESSION)) { - $storedValue = $_SESSION[$key]; + if (array_key_exists($this->sessionPrefix . $key, $_SESSION)) { + $storedValue = $_SESSION[$this->sessionPrefix . $key]; } return $storedValue; @@ -81,4 +82,8 @@ class Session { public function isLoggedWithId($userId) { return ($this->getStoredData('userId') === $userId); } + + public function setSessionPrefix($prefix) { + $this->sessionPrefix = $prefix; + } } \ No newline at end of file