| Server IP : 180.180.241.3 / Your IP : 216.73.216.35 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 : C:/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;
}
}