17 import(
'classes.handler.Handler');
32 parent::initialize($request);
38 $templateMgr->assign(
'pageComponent',
'SettingsPage');
47 function authorize($request, &$args, $roleAssignments) {
48 import(
'lib.pkp.classes.security.authorization.ContextAccessPolicy');
50 return parent::authorize($request, $args, $roleAssignments);
59 $path = array_shift($args);
64 $this->
context($args, $request);
67 $this->
website($args, $request);
76 $this->
access($args, $request);
83 $request->getDispatcher()->handle404();
95 $context = $request->getContext();
96 $dispatcher = $request->getDispatcher();
98 $apiUrl = $dispatcher->url($request, ROUTE_API, $context->getPath(),
'contexts/' . $context->getId());
99 $publicFileApiUrl = $dispatcher->url($request, ROUTE_API, $context->getPath(),
'_uploadPublicFile');
101 $supportedFormLocales = $context->getSupportedFormLocales();
103 $locales = array_map(
function($localeKey) use ($localeNames) {
104 return [
'key' => $localeKey,
'label' => $localeNames[$localeKey]];
105 }, $supportedFormLocales);
110 $templateMgr->setState([
112 FORM_CONTACT => $contactForm->getConfig(),
113 FORM_MASTHEAD => $mastheadForm->getConfig(),
119 import(
'lib.pkp.classes.site.VersionCheck');
121 $templateMgr->assign(
'newVersionAvailable',
true);
122 $templateMgr->assign(
'latestVersion', $latestVersion);
124 $templateMgr->assign(
'currentVersion', $currentVersion->getVersionString());
128 $siteAdmins = $roleDao->getUsersByRoleId(ROLE_ID_SITE_ADMIN);
129 $templateMgr->assign(
'siteAdmin', $siteAdmins->next());
134 $templateMgr->assign(
'pageTitle', __(
'manager.setup'));
135 $templateMgr->display(
'management/context.tpl');
146 $context = $request->getContext();
147 $dispatcher = $request->getDispatcher();
148 $router = $request->getRouter();
150 $contextApiUrl = $dispatcher->url($request, ROUTE_API, $context->getPath(),
'contexts/' . $context->getId());
151 $themeApiUrl = $dispatcher->url($request, ROUTE_API, $context->getPath(),
'contexts/' . $context->getId() .
'/theme');
152 $temporaryFileApiUrl = $dispatcher->url($request, ROUTE_API, $context->getPath(),
'temporaryFiles');
153 $publicFileApiUrl = $dispatcher->url($request, ROUTE_API, $context->getPath(),
'_uploadPublicFile');
155 import(
'classes.file.PublicFileManager');
157 $baseUrl = $request->getBaseUrl() .
'/' . $publicFileManager->getContextFilesPath($context->getId());
159 $supportedFormLocales = $context->getSupportedFormLocales();
161 $locales = array_map(
function($localeKey) use ($localeNames) {
162 return [
'key' => $localeKey,
'label' => $localeNames[$localeKey]];
163 }, $supportedFormLocales);
165 $announcementSettingsForm = new \PKP\components\forms\context\PKPAnnouncementSettingsForm($contextApiUrl, $locales, $context);
166 $appearanceAdvancedForm = new \APP\components\forms\context\AppearanceAdvancedForm($contextApiUrl, $locales, $context, $baseUrl, $temporaryFileApiUrl, $publicFileApiUrl);
167 $appearanceSetupForm = new \APP\components\forms\context\AppearanceSetupForm($contextApiUrl, $locales, $context, $baseUrl, $temporaryFileApiUrl, $publicFileApiUrl);
168 $informationForm = new \PKP\components\forms\context\PKPInformationForm($contextApiUrl, $locales, $context, $publicFileApiUrl);
169 $listsForm = new \PKP\components\forms\context\PKPListsForm($contextApiUrl, $locales, $context);
170 $privacyForm = new \PKP\components\forms\context\PKPPrivacyForm($contextApiUrl, $locales, $context, $publicFileApiUrl);
171 $themeForm = new \PKP\components\forms\context\PKPThemeForm($themeApiUrl, $locales, $context);
172 $dateTimeForm = new \PKP\components\forms\context\PKPDateTimeForm($contextApiUrl, $locales, $context);
174 $templateMgr->setConstants([
175 'FORM_ANNOUNCEMENT_SETTINGS',
178 $templateMgr->setState([
180 FORM_ANNOUNCEMENT_SETTINGS => $announcementSettingsForm->getConfig(),
181 FORM_APPEARANCE_ADVANCED => $appearanceAdvancedForm->getConfig(),
182 FORM_APPEARANCE_SETUP => $appearanceSetupForm->getConfig(),
183 FORM_INFORMATION => $informationForm->getConfig(),
184 FORM_LISTS => $listsForm->getConfig(),
185 FORM_PRIVACY => $privacyForm->getConfig(),
186 FORM_THEME => $themeForm->getConfig(),
187 FORM_DATE_TIME => $dateTimeForm->getConfig(),
189 'announcementsNavLink' => [
190 'name' => __(
'announcement.announcements'),
191 'url' => $router->url($request,
null,
'management',
'settings',
'announcements'),
192 'isCurrent' =>
false,
196 $templateMgr->assign(
'pageTitle', __(
'manager.website.title'));
197 $templateMgr->display(
'management/website.tpl');
208 $context = $request->getContext();
209 $dispatcher = $request->getDispatcher();
211 $contextApiUrl = $dispatcher->url($request, ROUTE_API, $context->getPath(),
'contexts/' . $context->getId());
212 $emailTemplatesApiUrl = $dispatcher->url($request, ROUTE_API, $context->getPath(),
'emailTemplates');
215 LOCALE_COMPONENT_PKP_SUBMISSION,
216 LOCALE_COMPONENT_APP_SUBMISSION,
217 LOCALE_COMPONENT_PKP_EDITOR,
218 LOCALE_COMPONENT_APP_EDITOR,
219 LOCALE_COMPONENT_PKP_MANAGER,
220 LOCALE_COMPONENT_APP_MANAGER
223 $supportedFormLocales = $context->getSupportedFormLocales();
225 $locales = array_map(
function($localeKey) use ($localeNames) {
226 return [
'key' => $localeKey,
'label' => $localeNames[$localeKey]];
227 }, $supportedFormLocales);
229 $authorGuidelinesForm = new \PKP\components\forms\context\PKPAuthorGuidelinesForm($contextApiUrl, $locales, $context);
230 $metadataSettingsForm = new \APP\components\forms\context\MetadataSettingsForm($contextApiUrl, $context);
231 $disableSubmissionsForm = new \PKP\components\forms\context\PKPDisableSubmissionsForm($contextApiUrl, $locales, $context);
232 $emailSetupForm = new \PKP\components\forms\context\PKPEmailSetupForm($contextApiUrl, $locales, $context);
233 $reviewGuidanceForm = new \APP\components\forms\context\ReviewGuidanceForm($contextApiUrl, $locales, $context);
234 $reviewSetupForm = new \PKP\components\forms\context\PKPReviewSetupForm($contextApiUrl, $locales, $context);
236 $emailTemplatesListPanel = new \APP\components\listPanels\EmailTemplatesListPanel(
238 __(
'manager.emails.emailTemplates'),
241 'apiUrl' => $emailTemplatesApiUrl,
249 $templateMgr->setState([
251 FORM_AUTHOR_GUIDELINES => $authorGuidelinesForm->getConfig(),
252 FORM_METADATA_SETTINGS => $metadataSettingsForm->getConfig(),
253 FORM_DISABLE_SUBMISSIONS => $disableSubmissionsForm->getConfig(),
254 FORM_EMAIL_SETUP => $emailSetupForm->getConfig(),
255 FORM_REVIEW_GUIDANCE => $reviewGuidanceForm->getConfig(),
256 FORM_REVIEW_SETUP => $reviewSetupForm->getConfig(),
257 'emailTemplates' => $emailTemplatesListPanel->getConfig(),
260 $templateMgr->assign(
'pageTitle', __(
'manager.workflow.title'));
272 $context = $request->getContext();
273 $router = $request->getRouter();
274 $dispatcher = $request->getDispatcher();
276 $apiUrl = $dispatcher->url($request, ROUTE_API, $context->getPath(),
'contexts/' . $context->getId());
277 $sitemapUrl = $router->url($request, $context->getPath(),
'sitemap');
278 $paymentsUrl = $dispatcher->url($request, ROUTE_API, $context->getPath(),
'_payments');
280 $supportedFormLocales = $context->getSupportedFormLocales();
282 $locales = array_map(
function($localeKey) use ($localeNames) {
283 return [
'key' => $localeKey,
'label' => $localeNames[$localeKey]];
284 }, $supportedFormLocales);
286 $licenseForm = new \APP\components\forms\context\LicenseForm($apiUrl, $locales, $context);
287 $searchIndexingForm = new \PKP\components\forms\context\PKPSearchIndexingForm($apiUrl, $locales, $context, $sitemapUrl);
289 $paymentSettingsForm = new \PKP\components\forms\context\PKPPaymentSettingsForm($paymentsUrl, $locales, $context);
290 $templateMgr->setConstants([
291 'FORM_PAYMENT_SETTINGS',
294 $templateMgr->setState([
296 FORM_LICENSE => $licenseForm->getConfig(),
297 FORM_SEARCH_INDEXING => $searchIndexingForm->getConfig(),
298 FORM_PAYMENT_SETTINGS => $paymentSettingsForm->getConfig(),
300 'paymentsNavLink' => [
301 'name' => __(
'common.payments'),
302 'url' => $router->url($request,
null,
'payments'),
303 'isCurrent' =>
false,
306 $templateMgr->assign(
'pageTitle', __(
'manager.distribution.title'));
318 $apiUrl = $request->getDispatcher()->url($request, ROUTE_API, $request->getContext()->getPath(),
'announcements');
320 $supportedFormLocales = $request->getContext()->getSupportedFormLocales();
322 $locales = array_map(
function($localeKey) use ($localeNames) {
323 return [
'key' => $localeKey,
'label' => $localeNames[$localeKey]];
324 }, $supportedFormLocales);
326 $announcementForm = new \PKP\components\forms\announcement\PKPAnnouncementForm($apiUrl, $locales, $request->getContext());
329 'contextIds' => $request->getContext()->getId(),
332 $announcementsIterator =
Services::get(
'announcement')->getMany($getParams);
333 $itemsMax =
Services::get(
'announcement')->getMax($getParams);
335 foreach ($announcementsIterator as $announcement) {
336 $items[] =
Services::get(
'announcement')->getSummaryProperties($announcement, [
337 'request' => $request,
338 'announcementContext' => $request->getContext(),
342 $announcementsListPanel = new \PKP\components\listPanels\PKPAnnouncementsListPanel(
344 __(
'manager.setup.announcements'),
347 'form' => $announcementForm,
348 'getParams' => $getParams,
350 'itemsMax' => $itemsMax,
354 $templateMgr->setState([
356 $announcementsListPanel->id => $announcementsListPanel->getConfig(),
360 $templateMgr->assign([
361 'pageTitle' => __(
'manager.setup.announcements'),
364 $templateMgr->display(
'management/announcements.tpl');
375 $context = $request->getContext();
376 $dispatcher = $request->getDispatcher();
378 $apiUrl = $dispatcher->url($request, ROUTE_API, $context->getPath(),
'contexts/' . $context->getId());
380 $userAccessForm = new \APP\components\forms\context\UserAccessForm($apiUrl, $context);
382 $templateMgr->setState([
384 FORM_USER_ACCESS => $userAccessForm->getConfig(),
388 $templateMgr->assign(
'pageTitle', __(
'navigation.access'));
389 $templateMgr->display(
'management/access.tpl');