17 import(
'lib.pkp.pages.management.ManagementHandler');
24 parent::__construct();
26 array(ROLE_ID_SITE_ADMIN),
46 parent::workflow($args, $request);
57 parent::distribution($args, $request);
60 $context = $request->getContext();
61 $router = $request->getRouter();
62 $dispatcher = $request->getDispatcher();
64 $apiUrl = $dispatcher->url($request, ROUTE_API, $context->getPath(),
'contexts/' . $context->getId());
65 $lockssUrl = $router->url($request, $context->getPath(),
'gateway',
'lockss');
66 $clockssUrl = $router->url($request, $context->getPath(),
'gateway',
'clockss');
68 $supportedFormLocales = $context->getSupportedFormLocales();
70 $locales = array_map(
function($localeKey) use ($localeNames) {
71 return [
'key' => $localeKey,
'label' => $localeNames[$localeKey]];
72 }, $supportedFormLocales);
74 $accessForm = new \APP\components\forms\context\AccessForm($apiUrl, $locales, $context);
75 $archivingLockssForm = new \APP\components\forms\context\ArchivingLockssForm($apiUrl, $locales, $context, $lockssUrl, $clockssUrl);
82 $archivePnForm = new \PKP\components\forms\FormComponent(
'archivePn',
'PUT',
'dummy',
'dummy', $supportedFormLocales);
83 $archivePnForm->addPage([
85 'submitButton' =>
null,
89 'pageId' =>
'default',
94 $pnEnablePluginUrl = $dispatcher->url($request, ROUTE_COMPONENT,
null,
'grid.settings.plugins.SettingsPluginGridHandler',
'enable',
null, array(
'plugin' =>
'plnplugin',
'category' =>
'generic'));
95 $pnDisablePluginUrl = $dispatcher->url($request, ROUTE_COMPONENT,
null,
'grid.settings.plugins.SettingsPluginGridHandler',
'disable',
null, array(
'plugin' =>
'plnplugin',
'category' =>
'generic'));
96 $pnSettingsUrl = $dispatcher->url($request, ROUTE_COMPONENT,
null,
'grid.settings.plugins.SettingsPluginGridHandler',
'manage',
null, array(
'verb' =>
'settings',
'plugin' =>
'plnplugin',
'category' =>
'generic'));
99 'label' => __(
'manager.setup.plnPluginArchiving'),
100 'description' => __(
'manager.setup.plnDescription'),
101 'terms' => __(
'manager.setup.plnSettingsDescription'),
105 'label' => __(
'manager.setup.plnPluginEnable'),
108 'value' => (
bool) $plnPlugin,
109 'enablePluginUrl' => $pnEnablePluginUrl,
110 'disablePluginUrl' => $pnDisablePluginUrl,
111 'settingsUrl' => $pnSettingsUrl,
112 'csrfToken' => $request->getSession()->getCSRFToken(),
113 'groupId' =>
'default',
114 'enablePluginSuccess' => __(
'common.pluginEnabled', [
'pluginName' => __(
'manager.setup.plnPluginArchiving')]),
115 'disablePluginSuccess' => __(
'common.pluginDisabled', [
'pluginName' => __(
'manager.setup.plnPluginArchiving')]),
118 $archivePnForm->addField(
new \
PKP\components\forms\
FieldHTML(
'pn', [
119 'label' => __(
'manager.setup.plnPluginArchiving'),
120 'description' => __(
'manager.setup.plnPluginNotInstalled'),
121 'groupId' =>
'default',
126 $components = $templateMgr->getState(
'components');
127 $components[$accessForm->id] = $accessForm->getConfig();
128 $components[$archivingLockssForm->id] = $archivingLockssForm->getConfig();
129 $components[$archivePnForm->id] = $archivePnForm->getConfig();
130 $templateMgr->setState([
'components' => $components]);
134 $templateMgr = $args[1];
136 $output .= $templateMgr->fetch(
'management/additionalDistributionTabs.tpl');
140 $templateMgr->display(
'management/distribution.tpl');