27 #require_once 'Zend/Session.php'; 33 #require_once 'Zend/Session/Abstract.php'; 81 if ($namespaceName !=
null) {
82 if (array_key_exists($namespaceName, self::$_singleInstances)) {
83 unset(self::$_singleInstances[$namespaceName]);
88 self::$_singleInstances = array();
102 public function __construct($namespace =
'Default', $singleInstance =
false)
104 if ($namespace ===
'') {
108 #require_once 'Zend/Session/Exception.php'; 112 if ($namespace[0] ==
"_") {
116 #require_once 'Zend/Session/Exception.php'; 120 if (preg_match(
'#(^[0-9])#i', $namespace[0])) {
124 #require_once 'Zend/Session/Exception.php'; 128 if (isset(self::$_singleInstances[$namespace])) {
132 #require_once 'Zend/Session/Exception.php'; 133 throw new Zend_Session_Exception(
"A session namespace object already exists for this namespace ('$namespace'), and no additional accessors (session namespace objects) for this namespace are permitted.");
136 if ($singleInstance ===
true) {
137 self::$_singleInstances[$namespace] =
true;
140 $this->_namespace = $namespace;
145 if (self::$_readable ===
false) {
149 #require_once 'Zend/Session/Exception.php'; 153 if (!isset($_SESSION[
'__ZF'])) {
158 if (parent::$_writable ===
true) {
159 if (isset($_SESSION[
'__ZF'][$namespace])) {
162 if (isset($_SESSION[
'__ZF'][$namespace][
'ENNH'])) {
163 $_SESSION[
'__ZF'][$namespace][
'ENNH']--;
165 if ($_SESSION[
'__ZF'][$namespace][
'ENNH'] === 0) {
166 if (isset($_SESSION[$namespace])) {
167 self::$_expiringData[$namespace] = $_SESSION[$namespace];
168 unset($_SESSION[$namespace]);
170 unset($_SESSION[
'__ZF'][$namespace]);
175 if (isset($_SESSION[
'__ZF'][$namespace][
'ENVNH'])) {
176 foreach ($_SESSION[
'__ZF'][$namespace][
'ENVNH'] as
$variable => $hops) {
177 $_SESSION[
'__ZF'][$namespace][
'ENVNH'][
$variable]--;
179 if ($_SESSION[
'__ZF'][$namespace][
'ENVNH'][
$variable] === 0) {
180 if (isset($_SESSION[$namespace][
$variable])) {
184 unset($_SESSION[
'__ZF'][$namespace][
'ENVNH'][
$variable]);
187 if(empty($_SESSION[
'__ZF'][$namespace][
'ENVNH'])) {
188 unset($_SESSION[
'__ZF'][$namespace][
'ENVNH']);
193 if (empty($_SESSION[
'__ZF'][$namespace])) {
194 unset($_SESSION[
'__ZF'][$namespace]);
197 if (empty($_SESSION[
'__ZF'])) {
198 unset($_SESSION[
'__ZF']);
212 return new ArrayObject(parent::_namespaceGetAll($this->_namespace));
234 unset(self::$_namespaceLocks[$this->_namespace]);
245 self::$_namespaceLocks = array();
256 return isset(self::$_namespaceLocks[$this->_namespace]);
267 return parent::_namespaceUnset($this->_namespace);
283 #require_once 'Zend/Session/Exception.php'; 287 return parent::_namespaceGet($this->_namespace,
$name);
301 if (isset(self::$_namespaceLocks[$this->_namespace])) {
305 #require_once 'Zend/Session/Exception.php'; 313 #require_once 'Zend/Session/Exception.php'; 317 if (parent::$_writable ===
false) {
321 #require_once 'Zend/Session/Exception.php'; 344 $arg_list = func_get_args();
346 return call_user_func_array($callback, $arg_list);
363 $arg_list = func_get_args();
365 $result = call_user_func_array($callback, $arg_list);
370 #require_once 'Zend/Session/Exception.php'; 390 #require_once 'Zend/Session/Exception.php'; 394 return parent::_namespaceIsset($this->_namespace,
$name);
410 #require_once 'Zend/Session/Exception.php'; 414 return parent::_namespaceUnset($this->_namespace,
$name);
429 if (parent::$_writable ===
false) {
433 #require_once 'Zend/Session/Exception.php'; 441 #require_once 'Zend/Session/Exception.php'; 445 if ($variables ===
null) {
452 if (is_string($variables)) {
453 $variables = array($variables);
477 if (parent::$_writable ===
false) {
481 #require_once 'Zend/Session/Exception.php'; 489 #require_once 'Zend/Session/Exception.php'; 493 if ($variables ===
null) {
496 if ($hopCountOnUsageOnly ===
false) {
504 if (is_string($variables)) {
505 $variables = array($variables);
510 if ($hopCountOnUsageOnly ===
false) {
setExpirationHops($hops, $variables=null, $hopCountOnUsageOnly=false)
__construct($namespace='Default', $singleInstance=false)
setExpirationSeconds($seconds, $variables=null)
static start($options=false)
static resetSingleInstance($namespaceName=null)
if(!isset($_GET['name'])) $name