
Public Member Functions | |
| init ($namespace, $sessionName=null) | |
| getCookieDomain () | |
| getCookiePath () | |
| getCookieLifetime () | |
| useValidateRemoteAddr () | |
| useValidateHttpVia () | |
| useValidateHttpXForwardedFor () | |
| useValidateHttpUserAgent () | |
| getValidateHttpUserAgentSkip () | |
| getMessages ($clear=false) | |
| addException (Exception $exception, $alternativeText) | |
| addMessage (Mage_Core_Model_Message_Abstract $message) | |
| addError ($message) | |
| addWarning ($message) | |
| addNotice ($message) | |
| addSuccess ($message) | |
| addMessages ($messages) | |
| setSessionId ($id=null) | |
| getEncryptedSessionId () | |
| getSessionIdQueryParam () | |
| setSkipSessionIdFlag ($flag) | |
| getSkipSessionIdFlag () | |
| getSessionIdForHost ($urlHost) | |
| isValidForHost ($host) | |
| addHost ($host) | |
| getSessionHosts () | |
| getSessionSaveMethod () | |
| getSessionSavePath () | |
Public Attributes | |
| const | XML_PATH_COOKIE_DOMAIN = 'web/cookie/cookie_domain' |
| const | XML_PATH_COOKIE_PATH = 'web/cookie/cookie_path' |
| const | XML_PATH_COOKIE_LIFETIME = 'web/cookie/cookie_lifetime' |
| const | XML_NODE_SESSION_SAVE = 'global/session_save' |
| const | XML_NODE_SESSION_SAVE_PATH = 'global/session_save_path' |
| const | XML_PATH_USE_REMOTE_ADDR = 'web/session/use_remote_addr' |
| const | XML_PATH_USE_HTTP_VIA = 'web/session/use_http_via' |
| const | XML_PATH_USE_X_FORWARDED = 'web/session/use_http_x_forwarded_for' |
| const | XML_PATH_USE_USER_AGENT = 'web/session/use_http_user_agent' |
| const | XML_NODE_USET_AGENT_SKIP = 'global/session/validation/http_user_agent_skip' |
| const | XML_PATH_LOG_EXCEPTION_FILE = 'dev/log/exception_file' |
| const | SESSION_ID_QUERY_PARAM = 'SID' |
Protected Attributes | |
| $_skipSessionIdFlag = false | |
Static Protected Attributes | |
| static | $_urlHostCache = array() |
| static | $_encryptedSessionId |
Definition at line 35 of file Abstract.php.
| addError | ( | $ | message | ) |
Adding new error message
| string | $message |
Reimplemented in Mage_Newsletter_Model_Session.
Definition at line 248 of file Abstract.php.
00249 { 00250 $this->addMessage(Mage::getSingleton('core/message')->error($message)); 00251 return $this; 00252 }
| addException | ( | Exception $ | exception, | |
| $ | alternativeText | |||
| ) |
Not Mage exeption handling
| Exception | $exception | |
| string | $alternativeText |
Definition at line 216 of file Abstract.php.
00217 { 00218 // log exception to exceptions log 00219 $message = sprintf('Exception message: %s%sTrace: %s', 00220 $exception->getMessage(), 00221 "\n", 00222 $exception->getTraceAsString()); 00223 $file = Mage::getStoreConfig(self::XML_PATH_LOG_EXCEPTION_FILE); 00224 Mage::log($message, Zend_Log::DEBUG, $file); 00225 00226 $this->addMessage(Mage::getSingleton('core/message')->error($alternativeText)); 00227 return $this; 00228 }
| addHost | ( | $ | host | ) |
Add hostname to session
| string | $host |
Definition at line 436 of file Abstract.php.
00437 { 00438 if ($host === true) { 00439 if (!$host = Mage::app()->getFrontController()->getRequest()->getHttpHost()) { 00440 return $this; 00441 } 00442 } 00443 00444 if (!$host) { 00445 return $this; 00446 } 00447 00448 $hosts = $this->getSessionHosts(); 00449 $hosts[$host] = true; 00450 $this->setSessionHosts($hosts); 00451 return $this; 00452 }
| addMessage | ( | Mage_Core_Model_Message_Abstract $ | message | ) |
Adding new message to message collection
| Mage_Core_Model_Message_Abstract | $message |
Definition at line 236 of file Abstract.php.
00237 { 00238 $this->getMessages()->add($message); 00239 return $this; 00240 }
| addMessages | ( | $ | messages | ) |
Adding messages array to message collection
| array | $messages |
Definition at line 296 of file Abstract.php.
00297 { 00298 if (is_array($messages)) { 00299 foreach ($messages as $message) { 00300 $this->addMessage($message); 00301 } 00302 } 00303 return $this; 00304 }
| addNotice | ( | $ | message | ) |
Adding new nitice message
| string | $message |
Definition at line 272 of file Abstract.php.
00273 { 00274 $this->addMessage(Mage::getSingleton('core/message')->notice($message)); 00275 return $this; 00276 }
| addSuccess | ( | $ | message | ) |
Adding new success message
| string | $message |
Reimplemented in Mage_Newsletter_Model_Session.
Definition at line 284 of file Abstract.php.
00285 { 00286 $this->addMessage(Mage::getSingleton('core/message')->success($message)); 00287 return $this; 00288 }
| addWarning | ( | $ | message | ) |
Adding new warning message
| string | $message |
Definition at line 260 of file Abstract.php.
00261 { 00262 $this->addMessage(Mage::getSingleton('core/message')->warning($message)); 00263 return $this; 00264 }
| getCookieDomain | ( | ) |
Retrieve Cookie domain
Definition at line 93 of file Abstract.php.
00094 { 00095 return $this->getCookie()->getDomain(); 00096 }
| getCookieLifetime | ( | ) |
Retrieve cookie lifetime
Definition at line 113 of file Abstract.php.
00114 { 00115 return $this->getCookie()->getLifetime(); 00116 }
| getCookiePath | ( | ) |
Retrieve cookie path
Definition at line 103 of file Abstract.php.
00104 { 00105 return $this->getCookie()->getPath(); 00106 }
| getEncryptedSessionId | ( | ) |
Get ecrypted session identifuer No reason use crypt key for session id encryption we can use session identifier as is
Definition at line 338 of file Abstract.php.
00339 { 00340 if (!self::$_encryptedSessionId) { 00341 // $helper = Mage::helper('core'); 00342 // if (!$helper) { 00343 // return $this; 00344 // } 00345 // self::$_encryptedSessionId = $helper->encrypt($this->getSessionId()); 00346 self::$_encryptedSessionId = $this->getSessionId(); 00347 } 00348 return self::$_encryptedSessionId; 00349 }
| getMessages | ( | $ | clear = false |
) |
Retrieve messages from session
| bool | $clear |
Definition at line 195 of file Abstract.php.
00196 { 00197 if (!$this->getData('messages')) { 00198 $this->setMessages(Mage::getModel('core/message_collection')); 00199 } 00200 00201 if ($clear) { 00202 $messages = clone $this->getData('messages'); 00203 $this->getData('messages')->clear(); 00204 return $messages; 00205 } 00206 return $this->getData('messages'); 00207 }
| getSessionHosts | ( | ) |
Retrieve session hostnames
Definition at line 459 of file Abstract.php.
00460 { 00461 return $this->getData('session_hosts'); 00462 }
| getSessionIdForHost | ( | $ | urlHost | ) |
If the host was switched but session cookie won't recognize it - add session id to query
| string | $urlHost can be host or url |
Definition at line 388 of file Abstract.php.
00389 { 00390 if ($this->getSkipSessionIdFlag() === true) { 00391 return ''; 00392 } 00393 00394 if (!$httpHost = Mage::app()->getFrontController()->getRequest()->getHttpHost()) { 00395 return ''; 00396 } 00397 00398 $urlHostArr = explode('/', $urlHost, 4); 00399 if (!empty($urlHostArr[2])) { 00400 $urlHost = $urlHostArr[2]; 00401 } 00402 00403 if (!isset(self::$_urlHostCache[$urlHost])) { 00404 $urlHostArr = explode(':', $urlHost); 00405 $urlHost = $urlHostArr[0]; 00406 00407 if ($httpHost !== $urlHost && !$this->isValidForHost($urlHost)) { 00408 $sessionId = $this->getEncryptedSessionId(); 00409 } else { 00410 $sessionId = ''; 00411 } 00412 self::$_urlHostCache[$urlHost] = $sessionId; 00413 } 00414 return self::$_urlHostCache[$urlHost]; 00415 }
| getSessionIdQueryParam | ( | ) |
Definition at line 351 of file Abstract.php.
00352 { 00353 $_sessionName = $this->getSessionName(); 00354 if ($_sessionName && $queryParam = (string)Mage::getConfig()->getNode($_sessionName . '/session/query_param')) { 00355 return $queryParam; 00356 } 00357 return self::SESSION_ID_QUERY_PARAM; 00358 }
| getSessionSaveMethod | ( | ) |
Retrieve session save method
Reimplemented from Mage_Core_Model_Session_Abstract_Varien.
Definition at line 469 of file Abstract.php.
00470 { 00471 if (Mage::isInstalled() && $sessionSave = Mage::getConfig()->getNode(self::XML_NODE_SESSION_SAVE)) { 00472 return $sessionSave; 00473 } 00474 return parent::getSessionSaveMethod(); 00475 }
| getSessionSavePath | ( | ) |
Get sesssion save path
Reimplemented from Mage_Core_Model_Session_Abstract_Varien.
Definition at line 482 of file Abstract.php.
00483 { 00484 if (Mage::isInstalled() && $sessionSavePath = Mage::getConfig()->getNode(self::XML_NODE_SESSION_SAVE_PATH)) { 00485 return $sessionSavePath; 00486 } 00487 return parent::getSessionSavePath(); 00488 }
| getSkipSessionIdFlag | ( | ) |
| getValidateHttpUserAgentSkip | ( | ) |
Retrieve skip User Agent validation strings (Flash etc)
Reimplemented from Mage_Core_Model_Session_Abstract_Varien.
Definition at line 179 of file Abstract.php.
00180 { 00181 $userAgents = array(); 00182 $skip = Mage::getConfig()->getNode(self::XML_NODE_USET_AGENT_SKIP); 00183 foreach ($skip->children() as $userAgent) { 00184 $userAgents[] = (string)$userAgent; 00185 } 00186 return $userAgents; 00187 }
| init | ( | $ | namespace, | |
| $ | sessionName = null | |||
| ) |
Init session
| string | $namespace | |
| string | $sessionName |
Reimplemented from Mage_Core_Model_Session_Abstract_Varien.
Reimplemented in Mage_Api_Model_Session.
Definition at line 81 of file Abstract.php.
00082 { 00083 parent::init($namespace, $sessionName); 00084 $this->addHost(true); 00085 return $this; 00086 }
| isValidForHost | ( | $ | host | ) |
Check is valid session for hostname
| string | $host |
Definition at line 423 of file Abstract.php.
00424 { 00425 $hostArr = explode(':', $host); 00426 $hosts = $this->getSessionHosts(); 00427 return (!empty($hosts[$hostArr[0]])); 00428 }
| setSessionId | ( | $ | id = null |
) |
Specify session identifier
| string|null | $id |
No reason use crypt key for session
Reimplemented from Mage_Core_Model_Session_Abstract_Varien.
Reimplemented in Mage_Api_Model_Session.
Definition at line 312 of file Abstract.php.
00313 { 00314 if (is_null($id)) { 00315 $_queryParam = $this->getSessionIdQueryParam(); 00316 if (isset($_GET[$_queryParam])) { 00317 $id = $_GET[$_queryParam]; 00318 /** 00319 * No reason use crypt key for session 00320 */ 00321 // if ($tryId = Mage::helper('core')->decrypt($_GET[self::SESSION_ID_QUERY_PARAM])) { 00322 // $id = $tryId; 00323 // } 00324 } 00325 } 00326 00327 $this->addHost(true); 00328 return parent::setSessionId($id); 00329 }
| setSkipSessionIdFlag | ( | $ | flag | ) |
Set skip flag if need skip generating of _GET session_id_key param
| bool | $flag |
Definition at line 366 of file Abstract.php.
| useValidateHttpUserAgent | ( | ) |
Use HTTP_USER_AGENT in validator key
Reimplemented from Mage_Core_Model_Session_Abstract_Varien.
Definition at line 165 of file Abstract.php.
00166 { 00167 $use = Mage::getStoreConfig(self::XML_PATH_USE_USER_AGENT); 00168 if (is_null($use)) { 00169 return parent::useValidateHttpUserAgent(); 00170 } 00171 return (bool)$use; 00172 }
| useValidateHttpVia | ( | ) |
Use HTTP_VIA in validator key
Reimplemented from Mage_Core_Model_Session_Abstract_Varien.
Definition at line 137 of file Abstract.php.
00138 { 00139 $use = Mage::getStoreConfig(self::XML_PATH_USE_HTTP_VIA); 00140 if (is_null($use)) { 00141 return parent::useValidateHttpVia(); 00142 } 00143 return (bool)$use; 00144 }
| useValidateHttpXForwardedFor | ( | ) |
Use HTTP_X_FORWARDED_FOR in validator key
Reimplemented from Mage_Core_Model_Session_Abstract_Varien.
Definition at line 151 of file Abstract.php.
00152 { 00153 $use = Mage::getStoreConfig(self::XML_PATH_USE_X_FORWARDED); 00154 if (is_null($use)) { 00155 return parent::useValidateHttpXForwardedFor(); 00156 } 00157 return (bool)$use; 00158 }
| useValidateRemoteAddr | ( | ) |
Use REMOTE_ADDR in validator key
Reimplemented from Mage_Core_Model_Session_Abstract_Varien.
Definition at line 123 of file Abstract.php.
00124 { 00125 $use = Mage::getStoreConfig(self::XML_PATH_USE_REMOTE_ADDR); 00126 if (is_null($use)) { 00127 return parent::useValidateRemoteAddr(); 00128 } 00129 return (bool)$use; 00130 }
$_encryptedSessionId [static, protected] |
Definition at line 65 of file Abstract.php.
$_skipSessionIdFlag = false [protected] |
Definition at line 72 of file Abstract.php.
$_urlHostCache = array() [static, protected] |
Definition at line 58 of file Abstract.php.
| const SESSION_ID_QUERY_PARAM = 'SID' |
Definition at line 51 of file Abstract.php.
| const XML_NODE_SESSION_SAVE = 'global/session_save' |
Definition at line 40 of file Abstract.php.
| const XML_NODE_SESSION_SAVE_PATH = 'global/session_save_path' |
Definition at line 41 of file Abstract.php.
| const XML_NODE_USET_AGENT_SKIP = 'global/session/validation/http_user_agent_skip' |
Definition at line 48 of file Abstract.php.
| const XML_PATH_COOKIE_DOMAIN = 'web/cookie/cookie_domain' |
Definition at line 37 of file Abstract.php.
| const XML_PATH_COOKIE_LIFETIME = 'web/cookie/cookie_lifetime' |
Definition at line 39 of file Abstract.php.
| const XML_PATH_COOKIE_PATH = 'web/cookie/cookie_path' |
Definition at line 38 of file Abstract.php.
| const XML_PATH_LOG_EXCEPTION_FILE = 'dev/log/exception_file' |
Definition at line 49 of file Abstract.php.
| const XML_PATH_USE_HTTP_VIA = 'web/session/use_http_via' |
Definition at line 44 of file Abstract.php.
| const XML_PATH_USE_REMOTE_ADDR = 'web/session/use_remote_addr' |
Definition at line 43 of file Abstract.php.
| const XML_PATH_USE_USER_AGENT = 'web/session/use_http_user_agent' |
Definition at line 46 of file Abstract.php.
| const XML_PATH_USE_X_FORWARDED = 'web/session/use_http_x_forwarded_for' |
Definition at line 45 of file Abstract.php.
1.5.8