private $karma;\r
private $templates;\r
private $members;\r
+ private $skins;\r
\r
/**\r
* cachedInfo to avoid repeated SQL queries (see pidInstalled/pluginInstalled/getPidFromName)\r
$this->blogs = array();\r
$this->plugins = array();\r
$this->karma = array();\r
+ $this->templates = array();\r
+ $this->skins = array();\r
$this->parserPrefs = array();\r
$this->cachedInfo = array();\r
return;\r
*/\r
public function &getBlog($blogid)\r
{\r
- $blog =& $this->blogs[$blogid];\r
- \r
- if ( !$blog )\r
+ if ( !array_key_exists($blogid, $this->blogs) )\r
{\r
- // load class if needed\r
$this->_loadClass('BLOG','BLOG.php');\r
- // load blog object\r
- $blog = new Blog($blogid);\r
- $this->blogs[$blogid] =& $blog;\r
+ $this->blogs[$blogid] = new Blog($blogid);\r
}\r
- return $blog;\r
+ return $this->blogs[$blogid];\r
}\r
\r
/**\r
*/\r
public function &getTemplate($templateName)\r
{\r
- $template =& $this->templates[$templateName];\r
- \r
- if ( !$template )\r
+ if ( !array_key_exists($templateName, $this->templates) )\r
{\r
- $template = Template::read($templateName);\r
- $this->templates[$templateName] =& $template;\r
+ $this->_loadClass('Template','TEMPLATE.php');\r
+ $this->templates[$templateName] =& Template::read($templateName);\r
}\r
- return $template;\r
+ return $this->templates[$templateName];\r
}\r
\r
/**\r
*/\r
public function &getKarma($itemid)\r
{\r
- $karma =& $this->karma[$itemid];\r
- \r
- if ( !$karma )\r
+ if ( !array_key_exists($itemid, $this->karma) )\r
{\r
- // load class if needed\r
- $this->_loadClass('KARMA','KARMA.php');\r
- // create KARMA object\r
- $karma = new Karma($itemid);\r
- $this->karma[$itemid] =& $karma;\r
+ $this->_loadClass('Karma','KARMA.php');\r
+ $this->karma[$itemid] = new Karma($itemid);\r
}\r
- return $karma;\r
+ return $this->karma[$itemid];\r
}\r
\r
/**\r
*/\r
public function &getMember($memberid)\r
{\r
- $mem =& $this->members[$memberid];\r
- \r
- if ( !$mem )\r
+ if ( !array_key_exists($memberid, $this->members) )\r
{\r
- // load class if needed\r
- $this->_loadClass('MEMBER','MEMBER.php');\r
- // create MEMBER object\r
- $mem =& Member::createFromID($memberid);\r
- $this->members[$memberid] =& $mem;\r
+ $this->_loadClass('Member','MEMBER.php');\r
+ $this->members[$memberid] =& Member::createFromID($memberid);;\r
}\r
- return $mem;\r
+ return $this->members[$memberid];\r
+ }\r
+ \r
+ /**\r
+ * \r
+ */\r
+ public function &getSkin($skinid, $action_class='', $event_identifier='')\r
+ {\r
+ if ( !array_key_exists($skinid, $this->skins) )\r
+ {\r
+ $this->_loadClass('Skin', 'SKIN.php');\r
+ $this->skins[$skinid] = new Skin($skinid, $action_class, $event_identifier);\r
+ }\r
+ \r
+ return $this->skins[$skinid];\r
}\r
\r
/**\r
*/\r
private function _loadClass($name, $filename)\r
{\r
+ global $DIR_LIBS;\r
+ \r
if ( !class_exists($name) )\r
{\r
- global $DIR_LIBS;\r
- include($DIR_LIBS . $filename);\r
+ include($DIR_LIBS . $filename);\r
}\r
return;\r
}\r