function displayArchiveForm(&$form, &$templateMgr) { $this->import('OAIHarvester'); parent::displayArchiveForm($form, $templateMgr); $templateMgr->assign('oaiIndexMethods', array(OAI_INDEX_METHOD_LIST_RECORDS => __('plugins.harvesters.oai.archive.form.oaiIndexMethod.ListRecords'), OAI_INDEX_METHOD_LIST_IDENTIFIERS => __('plugins.harvesters.oai.archive.form.oaiIndexMethod.ListIdentifiers'))); // Build a list of supported metadata formats. $schemaDao = DAORegistry::getDAO('SchemaDAO'); $aliases =& $schemaDao->getSchemaAliases(); $plugins =& PluginRegistry::loadCategory('schemas'); $archive =& $form->_data['archive']; $oaiHarvester = new OAIHarvester($archive); $metadataFormats = $oaiHarvester->getMetadataFormats($form->getData('harvesterUrl'), $form->getData('isStatic')); $supportedFormats = array(); if (is_array($metadataFormats)) { foreach ($metadataFormats as $format) { if (isset($aliases[$format]) && isset($plugins[$aliases[$format]])) { $pluginName = $aliases[$format]; $plugin =& $plugins[$pluginName]; $supportedFormats[$pluginName] = $plugin->getSchemaDisplayName(); unset($plugin); } } } if ($archive) { $templateMgr->assign('metadataFormat', $archive->getSchemaPluginName()); } $templateMgr->assign('metadataFormats', $supportedFormats); }