Server IP : 180.180.241.3 / Your IP : 216.73.216.252 Web Server : Microsoft-IIS/7.5 System : Windows NT NETWORK-NHRC 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 User : IUSR ( 0) PHP Version : 5.3.28 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /AppServ/www/news/components/com_jevents/libraries/ |
Upload File : |
<?php /** * JEvents Component for Joomla 1.5.x * * @version $Id: registry.php 1400 2009-03-30 08:45:17Z geraint $ * @package JEvents * @copyright Copyright (C) 2008-2009 GWE Systems Ltd, 2006-2008 JEvents Project Group * @license GNU/GPLv2, see http://www.gnu.org/licenses/gpl-2.0.html * @link http://www.jevents.net */ // no direct access defined( '_JEXEC' ) or die( 'Restricted access' ); class JevRegistry extends JRegistry { function &getInstance($id, $namespace = 'default') { static $instances; if (!isset ($instances)) { $instances = array (); } if (empty ($instances[$id])) { $instances[$id] = new JevRegistry($namespace); } return $instances[$id]; } function setReference($regpath, & $value) { // Explode the registry path into an array $nodes = explode('.', $regpath); // Get the namespace $count = count($nodes); if ($count < 2) { $namespace = $this->_defaultNameSpace; } else { $namespace = array_shift($nodes); $count--; } if (!isset($this->_registry[$namespace])) { $this->makeNameSpace($namespace); } $ns = & $this->_registry[$namespace]['data']; $pathNodes = $count - 1; if ($pathNodes < 0) { $pathNodes = 0; } for ($i = 0; $i < $pathNodes; $i ++) { // If any node along the registry path does not exist, create it if (!isset($ns->$nodes[$i])) { $ns->$nodes[$i] = new stdClass(); } $ns =& $ns->$nodes[$i]; } // Get the old value if exists so we can return it $ns->$nodes[$i] =& $value; return $ns->$nodes[$i]; } function & getReference($regpath, $default=null) { $result = $default; // Explode the registry path into an array if ($nodes = explode('.', $regpath)) { // Get the namespace //$namespace = array_shift($nodes); $count = count($nodes); if ($count < 2) { $namespace = $this->_defaultNameSpace; $nodes[1] = $nodes[0]; } else { $namespace = $nodes[0]; } if (isset($this->_registry[$namespace])) { $ns = & $this->_registry[$namespace]['data']; $pathNodes = $count - 1; //for ($i = 0; $i < $pathNodes; $i ++) { for ($i = 1; $i < $pathNodes; $i ++) { if((isset($ns->$nodes[$i]))) $ns =& $ns->$nodes[$i]; } if(isset($ns->$nodes[$i])) { $result = $ns->$nodes[$i]; } } } return $result; } }