function templates($option) { global $mainframe, $mtconf; $database =& JFactory::getDBO(); $templateBaseDir = JPath::clean($mtconf->getjconf('absolute_path') . DS . 'components' . DS . 'com_mtree' . DS . 'templates'); $rows = array(); // Read the template dir to find templates $templateDirs = JFolder::folders($templateBaseDir, '.'); $cur_template = $mtconf->get('template'); $rowid = 0; // Check that the directory contains an xml file foreach ($templateDirs as $templateDir) { if ($templateDir == 'index.html') { continue; } $dirName = JPath::clean($templateBaseDir . DS . $templateDir); $xmlFilesInDir = JFolder::files($dirName, '.xml'); foreach ($xmlFilesInDir as $xmlfile) { // Read the file to see if it's a valid template XML file $xmlDoc =& new DOMIT_Lite_Document(); $xmlDoc->resolveErrors(true); if (!$xmlDoc->loadXML($dirName . DS . $xmlfile, false, true)) { continue; } $element =& $xmlDoc->documentElement; if ($element->getTagName() != 'mosinstall' && $element->getTagName() != 'install') { continue; } if ($element->getAttribute('type') != 'template') { continue; } $row = new StdClass(); $row->id = $rowid; $row->directory = $templateDir; $element =& $xmlDoc->getElementsByPath('name', 1); $row->name = $element->getText(); $element =& $xmlDoc->getElementsByPath('creationDate', 1); $row->creationdate = $element ? $element->getText() : 'Unknown'; $element =& $xmlDoc->getElementsByPath('author', 1); $row->author = $element ? $element->getText() : 'Unknown'; $element =& $xmlDoc->getElementsByPath('copyright', 1); $row->copyright = $element ? $element->getText() : ''; $element =& $xmlDoc->getElementsByPath('authorEmail', 1); $row->authorEmail = $element ? $element->getText() : ''; $element =& $xmlDoc->getElementsByPath('authorUrl', 1); $row->authorUrl = $element ? $element->getText() : ''; $element =& $xmlDoc->getElementsByPath('version', 1); $row->version = $element ? $element->getText() : ''; $element =& $xmlDoc->getElementsByPath('description', 1); $row->description = $element ? $element->getText() : ''; // Get info from db if ($cur_template == $templateDir) { $row->default = 1; } else { $row->default = 0; } $row->checked_out = 0; $row->mosname = strtolower(str_replace(' ', '_', $row->name)); $rows[] = $row; $rowid++; } } HTML_mtree::list_templates($rows, $option); }