X-Git-Url: https://dev.renevier.net/?p=syj.git;a=blobdiff_plain;f=application%2Fcontrollers%2Fhelpers%2FSyjSession.php;h=06949f0c68d44537b6e1b5598b9d50491d8d5884;hp=11c369fb34fa7f5cf85c6fa085ad1f5ca4519316;hb=627f937d7241dc4b9311759fa446c3738d05f5a9;hpb=bd3de07b5ee90369741ef197230b4744f33eeda1 diff --git a/application/controllers/helpers/SyjSession.php b/application/controllers/helpers/SyjSession.php index 11c369f..06949f0 100644 --- a/application/controllers/helpers/SyjSession.php +++ b/application/controllers/helpers/SyjSession.php @@ -13,29 +13,20 @@ class Syj_Controller_Action_Helper_SyjSession extends Zend_Controller_Action_Hel throw new Zend_Exception(); } - $storage = Zend_Auth::getInstance()->getStorage(); - $storage->clear(); - $storage->write(array('user' => $user->id)); - Zend_Session::rememberMe(); // zend default expiration delay is 2 weeks. Ok, use that value + $storage = new Zend_Session_Namespace('userSettings'); + $storage->user = $user->id; + Zend_Session::rememberMe(); } static public function logout() { - Zend_Session::start(); - Zend_Session::destroy(); + $storage = new Zend_Session_Namespace('userSettings'); + unset($storage->user); + Zend_Session::rememberMe(); } static public function user() { - try { - $sessionStorage = Zend_Auth::getInstance()->getStorage(); - } catch(Exception $e) { - return null; - } - $sessionData = $sessionStorage->read(); - if ($sessionStorage->isEmpty()) { - return null; - } - - $id = $sessionData['user']; + $storage = new Zend_Session_Namespace('userSettings'); + $id = $storage->user; if (!isset($id)) { return null; } @@ -63,16 +54,9 @@ class Syj_Controller_Action_Helper_SyjSession extends Zend_Controller_Action_Hel $view = $viewRenderer->view; $request = $this->getRequest(); - $encodeduri = implode('/', array_map('urlencode', explode('/', $request->getRequestUri()))); + $encodeduri = $view->UriPath(true); $loginurl = $view->addParamToUrl($view->baseUrl() . '/' . 'login', 'redirect', $encodeduri); $translator = Zend_Registry::get('Zend_Translate'); - $lang = $request->getQuery('lang'); - if ($lang) { - $adapter = $translator->getAdapter(); - if ($adapter->isAvailable($lang)) { - $loginurl = $view->addParamToUrl($loginurl, 'lang', $lang); - } - } $this->getActionController()->getHelper('Redirector')->gotoURL($loginurl, array('prependBase' => false)); } }