function _getLayouts(&$list) { require_once JPATH_ADMINISTRATOR . '/components/com_javoice/views/customtmpl/tmpl/ilink.php'; $handler = new iLink('javoice', '', ''); $return = false; $path = JPATH_SITE . '/components/com_javoice/views'; if (JFolder::exists($path)) { $views = JFolder::folders($path); } else { return $return; } if (is_array($views) && count($views)) { //$this->addChild(new iLinkNode('Views', null, 'Select the view'), true); $return = true; foreach ($views as $k => $view) { if (strpos($view, '_') === false) { // Load view metadata if it exists $xmlpath = $path . '/' . $view . '/metadata.xml'; if (JFile::exists($xmlpath)) { $data = $handler->_getXML($xmlpath, 'view'); } else { $data = null; } //$url = 'url[option]=com_'.$this->_com.'&url[view]='.$view; if ($data) { if ($data->attributes('hidden') != 'true') { $m = $data->getElementByPath('message'); if ($m) { $message = $m->data(); } $list[$k]['folder'] = array($data->attributes('title'), $message, $view); $xmlpath = $path . '/' . $view . '/tmpl/metadata.xml'; if (JFile::exists($xmlpath)) { $list[$k]['nodes'] = $this->_getXML($xmlpath, 'layout'); } else { $list[$k]['nodes'] = null; } } } } } } return $list; }