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);
173 $templateMgr->setConstants([
174 'FORM_ANNOUNCEMENT_SETTINGS',
177 $templateMgr->setState([
179 FORM_ANNOUNCEMENT_SETTINGS => $announcementSettingsForm->getConfig(),
180 FORM_APPEARANCE_ADVANCED => $appearanceAdvancedForm->getConfig(),
181 FORM_APPEARANCE_SETUP => $appearanceSetupForm->getConfig(),
182 FORM_INFORMATION => $informationForm->getConfig(),
183 FORM_LISTS => $listsForm->getConfig(),
184 FORM_PRIVACY => $privacyForm->getConfig(),
185 FORM_THEME => $themeForm->getConfig(),
187 'announcementsNavLink' => [
188 'name' => __(
'announcement.announcements'),
189 'url' => $router->url($request,
null,
'management',
'settings',
'announcements'),
190 'isCurrent' =>
false,
194 $templateMgr->assign(
'pageTitle', __(
'manager.website.title'));
195 $templateMgr->display(
'management/website.tpl');
206 $context = $request->getContext();
207 $dispatcher = $request->getDispatcher();
209 $contextApiUrl = $dispatcher->url($request, ROUTE_API, $context->getPath(),
'contexts/' . $context->getId());
210 $emailTemplatesApiUrl = $dispatcher->url($request, ROUTE_API, $context->getPath(),
'emailTemplates');
213 LOCALE_COMPONENT_PKP_SUBMISSION,
214 LOCALE_COMPONENT_APP_SUBMISSION,
215 LOCALE_COMPONENT_PKP_EDITOR,
216 LOCALE_COMPONENT_APP_EDITOR,
217 LOCALE_COMPONENT_PKP_MANAGER,
218 LOCALE_COMPONENT_APP_MANAGER
221 $supportedFormLocales = $context->getSupportedFormLocales();
223 $locales = array_map(
function($localeKey) use ($localeNames) {
224 return [
'key' => $localeKey,
'label' => $localeNames[$localeKey]];
225 }, $supportedFormLocales);
227 $authorGuidelinesForm = new \PKP\components\forms\context\PKPAuthorGuidelinesForm($contextApiUrl, $locales, $context);
228 $metadataSettingsForm = new \APP\components\forms\context\MetadataSettingsForm($contextApiUrl, $context);
229 $emailSetupForm = new \PKP\components\forms\context\PKPEmailSetupForm($contextApiUrl, $locales, $context);
230 $reviewGuidanceForm = new \APP\components\forms\context\ReviewGuidanceForm($contextApiUrl, $locales, $context);
231 $reviewSetupForm = new \PKP\components\forms\context\PKPReviewSetupForm($contextApiUrl, $locales, $context);
233 $emailTemplatesListPanel = new \APP\components\listPanels\EmailTemplatesListPanel(
235 __(
'manager.emails.emailTemplates'),
238 'apiUrl' => $emailTemplatesApiUrl,
246 $templateMgr->setState([
248 FORM_AUTHOR_GUIDELINES => $authorGuidelinesForm->getConfig(),
249 FORM_METADATA_SETTINGS => $metadataSettingsForm->getConfig(),
250 FORM_EMAIL_SETUP => $emailSetupForm->getConfig(),
251 FORM_REVIEW_GUIDANCE => $reviewGuidanceForm->getConfig(),
252 FORM_REVIEW_SETUP => $reviewSetupForm->getConfig(),
253 'emailTemplates' => $emailTemplatesListPanel->getConfig(),
256 $templateMgr->assign(
'pageTitle', __(
'manager.workflow.title'));
268 $context = $request->getContext();
269 $router = $request->getRouter();
270 $dispatcher = $request->getDispatcher();
272 $apiUrl = $dispatcher->url($request, ROUTE_API, $context->getPath(),
'contexts/' . $context->getId());
273 $sitemapUrl = $router->url($request, $context->getPath(),
'sitemap');
274 $paymentsUrl = $dispatcher->url($request, ROUTE_API, $context->getPath(),
'_payments');
276 $supportedFormLocales = $context->getSupportedFormLocales();
278 $locales = array_map(
function($localeKey) use ($localeNames) {
279 return [
'key' => $localeKey,
'label' => $localeNames[$localeKey]];
280 }, $supportedFormLocales);
282 $licenseForm = new \APP\components\forms\context\LicenseForm($apiUrl, $locales, $context);
283 $searchIndexingForm = new \PKP\components\forms\context\PKPSearchIndexingForm($apiUrl, $locales, $context, $sitemapUrl);
285 $paymentSettingsForm = new \PKP\components\forms\context\PKPPaymentSettingsForm($paymentsUrl, $locales, $context);
286 $templateMgr->setConstants([
287 'FORM_PAYMENT_SETTINGS',
290 $templateMgr->setState([
292 FORM_LICENSE => $licenseForm->getConfig(),
293 FORM_SEARCH_INDEXING => $searchIndexingForm->getConfig(),
294 FORM_PAYMENT_SETTINGS => $paymentSettingsForm->getConfig(),
296 'paymentsNavLink' => [
297 'name' => __(
'common.payments'),
298 'url' => $router->url($request,
null,
'payments'),
299 'isCurrent' =>
false,
302 $templateMgr->assign(
'pageTitle', __(
'manager.distribution.title'));
314 $apiUrl = $request->getDispatcher()->url($request, ROUTE_API, $request->getContext()->getPath(),
'announcements');
316 $supportedFormLocales = $request->getContext()->getSupportedFormLocales();
318 $locales = array_map(
function($localeKey) use ($localeNames) {
319 return [
'key' => $localeKey,
'label' => $localeNames[$localeKey]];
320 }, $supportedFormLocales);
322 $announcementForm = new \PKP\components\forms\announcement\PKPAnnouncementForm($apiUrl, $locales, $request->getContext());
325 'contextIds' => $request->getContext()->getId(),
328 $announcementsIterator =
Services::get(
'announcement')->getMany($getParams);
329 $itemsMax =
Services::get(
'announcement')->getMax($getParams);
331 foreach ($announcementsIterator as $announcement) {
332 $items[] =
Services::get(
'announcement')->getSummaryProperties($announcement, [
333 'request' => $request,
334 'announcementContext' => $request->getContext(),
338 $announcementsListPanel = new \PKP\components\listPanels\PKPAnnouncementsListPanel(
340 __(
'manager.setup.announcements'),
343 'form' => $announcementForm,
344 'getParams' => $getParams,
346 'itemsMax' => $itemsMax,
350 $templateMgr->setState([
352 $announcementsListPanel->id => $announcementsListPanel->getConfig(),
356 $templateMgr->assign([
357 'pageTitle' => __(
'manager.setup.announcements'),
360 $templateMgr->display(
'management/announcements.tpl');
371 $context = $request->getContext();
372 $dispatcher = $request->getDispatcher();
374 $apiUrl = $dispatcher->url($request, ROUTE_API, $context->getPath(),
'contexts/' . $context->getId());
376 $userAccessForm = new \APP\components\forms\context\UserAccessForm($apiUrl, $context);
378 $templateMgr->setState([
380 FORM_USER_ACCESS => $userAccessForm->getConfig(),
384 $templateMgr->assign(
'pageTitle', __(
'navigation.access'));
385 $templateMgr->display(
'management/access.tpl');