acl_check( 'administration', 'install', 'users', $my->usertype, $element . 's', 'all' ) ) { mosRedirect( 'index2.php', _NOT_AUTH ); } require_once( $mainframe->getPath( 'installer_html', 'component' ) ); HTML_installer::showInstallForm( 'Install new Component', $option, 'component', '', dirname(__FILE__) ); ?>
setQuery( $query ); $rows = $database->loadObjectList(); // Read the component dir to find components $componentBaseDir = mosPathName( $mosConfig_absolute_path . '/administrator/components' ); $componentDirs = mosReadDirectory( $componentBaseDir ); $n = count( $rows ); for ($i = 0; $i < $n; $i++) { $row =& $rows[$i]; $dirName = $componentBaseDir . $row->option; $xmlFilesInDir = mosReadDirectory( $dirName, '.xml$' ); foreach ($xmlFilesInDir as $xmlfile) { // Read the file to see if it's a valid component XML file $xmlDoc = new DOMIT_Lite_Document(); $xmlDoc->resolveErrors( true ); if (!$xmlDoc->loadXML( $dirName . '/' . $xmlfile, false, true )) { continue; } $root = &$xmlDoc->documentElement; if ($root->getTagName() != 'mosinstall') { continue; } if ($root->getAttribute( "type" ) != "component") { continue; } $element = &$root->getElementsByPath('creationDate', 1); $row->creationdate = $element ? $element->getText() : 'Unknown'; $element = &$root->getElementsByPath('author', 1); $row->author = $element ? $element->getText() : 'Unknown'; $element = &$root->getElementsByPath('copyright', 1); $row->copyright = $element ? $element->getText() : ''; $element = &$root->getElementsByPath('authorEmail', 1); $row->authorEmail = $element ? $element->getText() : ''; $element = &$root->getElementsByPath('authorUrl', 1); $row->authorUrl = $element ? $element->getText() : ''; $element = &$root->getElementsByPath('version', 1); $row->version = $element ? $element->getText() : ''; $row->mosname = strtolower( str_replace( " ", "_", $row->name ) ); } } HTML_component::showInstalledComponents( $rows, $option ); } ?>