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 );
}
?>