DOIPubIdExportPlugin::display PHP Méthode

display() public méthode

public display ( $args, $request )
    function display($args, $request)
    {
        parent::display($args, $request);
        $context = $request->getContext();
        switch (array_shift($args)) {
            case 'index':
            case '':
                // Check for configuration errors:
                $configurationErrors = array();
                // 1) missing DOI prefix
                $doiPrefix = $exportArticles = $exportIssues = null;
                $pubIdPlugins = PluginRegistry::loadCategory('pubIds', true);
                if (isset($pubIdPlugins['doipubidplugin'])) {
                    $doiPlugin = $pubIdPlugins['doipubidplugin'];
                    $doiPrefix = $doiPlugin->getSetting($context->getId(), $doiPlugin->getPrefixFieldName());
                    $exportArticles = $doiPlugin->getSetting($context->getId(), 'enableSubmissionDoi');
                    $exportIssues = $doiPlugin->getSetting($context->getId(), 'enableIssueDoi');
                    $exportRepresentations = $doiPlugin->getSetting($context->getId(), 'enableRepresentationDoi');
                }
                if (empty($doiPrefix)) {
                    $configurationErrors[] = DOI_EXPORT_CONFIG_ERROR_DOIPREFIX;
                }
                // 2) missing plugin settings
                $form = $this->_instantiateSettingsForm($context);
                foreach ($form->getFormFields() as $fieldName => $fieldType) {
                    if ($form->isOptional($fieldName)) {
                        continue;
                    }
                    $pluginSetting = $this->getSetting($context->getId(), $fieldName);
                    if (empty($pluginSetting)) {
                        $configurationErrors[] = DOI_EXPORT_CONFIG_ERROR_SETTINGS;
                        break;
                    }
                }
                // Add link actions
                $actions = $this->getExportActions($context);
                $actionNames = array_intersect_key($this->getExportActionNames(), array_flip($actions));
                import('lib.pkp.classes.linkAction.request.NullAction');
                $linkActions = array();
                foreach ($actionNames as $action => $actionName) {
                    $linkActions[] = new LinkAction($action, new NullAction(), $actionName);
                }
                $templateMgr = TemplateManager::getManager($request);
                $templateMgr->assign(array('plugin' => $this, 'actionNames' => $actionNames, 'configurationErrors' => $configurationErrors, 'exportArticles' => $exportArticles, 'exportIssues' => $exportIssues, 'exportRepresentations' => $exportRepresentations));
                $templateMgr->display($this->getTemplatePath() . 'index.tpl');
                break;
        }
    }

Usage Example

Exemple #1
0
 /**
  * @copydoc ImportExportPlugin::display()
  */
 function display($args, $request)
 {
     $context = $request->getContext();
     switch (current($args)) {
         case 'exportRepresentations':
             $selectedRepresentations = (array) $request->getUserVar('selectedRepresentations');
             if (!empty($selectedRepresentations)) {
                 $objects = $this->_getArticleGalleys($selectedRepresentations, $context);
                 $filter = 'galley=>medra-xml';
                 $tab = (string) $request->getUserVar('tab');
                 $objectsFileNamePart = 'galleys';
             }
             // Execute export action
             $this->executeExportAction($request, $objects, $filter, $tab, $objectsFileNamePart);
         default:
             parent::display($args, $request);
     }
 }