From fc5480f9990a00b3884dfd65a735cae4c826097b Mon Sep 17 00:00:00 2001 From: Jared Hancock <jared@osticket.com> Date: Fri, 6 Feb 2015 17:23:22 -0600 Subject: [PATCH] session: Move cookie routines to session class --- include/class.ostsession.php | 17 +++++++++++++++++ include/class.usersession.php | 14 ++------------ logout.php | 6 +----- scp/logout.php | 6 +----- 4 files changed, 21 insertions(+), 22 deletions(-) diff --git a/include/class.ostsession.php b/include/class.ostsession.php index 94df679d2..b300f16ec 100644 --- a/include/class.ostsession.php +++ b/include/class.ostsession.php @@ -69,6 +69,23 @@ class osTicketSession { $this->destroy($oldId); } + static function destroyCookie() { + setcookie(session_name(), 'deleted', 1, + ini_get('session.cookie_path'), + ini_get('session.cookie_domain'), + ini_get('session.cookie_secure'), + ini_get('session.cookie_httponly')); + } + + static function renewCookie($baseTime=false, $window=false) { + setcookie(session_name(), session_id(), + ($baseTime ?: time()) + ($window ?: SESSION_TTL), + ini_get('session.cookie_path'), + ini_get('session.cookie_domain'), + ini_get('session.cookie_secure'), + ini_get('session.cookie_httponly')); + } + function open($save_path, $session_name){ return (true); } diff --git a/include/class.usersession.php b/include/class.usersession.php index 250f6c05f..9447c109f 100644 --- a/include/class.usersession.php +++ b/include/class.usersession.php @@ -143,12 +143,7 @@ class ClientSession extends EndUser { $this->token = $this->getSessionToken(); //TODO: separate expire time from hash?? - setcookie(session_name(), session_id(), - ($time ?: time()) + ($cfg->getClientTimeout() ?: 604800), - ini_get('session.cookie_path'), - ini_get('session.cookie_domain'), - ini_get('session.cookie_secure'), - ini_get('session.cookie_httponly')); + osTicketSession::renewCookie($time, $cfg->getClientSessionTimeout()); } function getSession() { @@ -195,12 +190,7 @@ class StaffSession extends Staff { $this->token=$this->getSessionToken(); - setcookie(session_name(), session_id(), - ($time ?: time()) + ($cfg->getStaffTimeout() ?: 604800), - ini_get('session.cookie_path'), - ini_get('session.cookie_domain'), - ini_get('session.cookie_secure'), - ini_get('session.cookie_httponly')); + osTicketSession::renewCookie($time, $cfg->getStaffSessionTimeout()); } function getSession() { diff --git a/logout.php b/logout.php index 11e0e11fb..9fb8037ac 100644 --- a/logout.php +++ b/logout.php @@ -19,11 +19,7 @@ require('client.inc.php'); if ($thisclient && $_GET['auth'] && $ost->validateLinkToken($_GET['auth'])) $thisclient->logOut(); -setcookie(session_name(), 'deleted', 1, - ini_get('session.cookie_path'), - ini_get('session.cookie_domain'), - ini_get('session.cookie_secure'), - ini_get('session.cookie_httponly')); +osTicketSession::destroyCookie(); Http::redirect('index.php'); ?> diff --git a/scp/logout.php b/scp/logout.php index f51d9ed8a..1007d985c 100644 --- a/scp/logout.php +++ b/scp/logout.php @@ -31,11 +31,7 @@ TicketLock::removeStaffLocks($thisstaff->getId()); session_unset(); session_destroy(); -setcookie(session_name(), 'deleted', 1, - ini_get('session.cookie_path'), - ini_get('session.cookie_domain'), - ini_get('session.cookie_secure'), - ini_get('session.cookie_httponly')); +osTicketSession::destroyCookie(); @header('Location: login.php'); require('login.php'); -- GitLab