コード例 #1
0
 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);
 }