18 import(
'classes.search.ArticleSearch');
19 import(
'classes.file.PublicFileManager');
20 import(
'lib.pkp.classes.template.PKPTemplateManager');
28 parent::initialize($request);
32 'brandImage' =>
'templates/images/ojs_brand.png',
35 if (!defined(
'SESSION_DISABLE_INIT')) {
42 $context = $request->getContext();
43 $site = $request->getSite();
46 $siteFilesDir = $request->getBaseUrl() .
'/' . $publicFileManager->getSiteFilesPath();
47 $this->assign(
'sitePublicFilesDir', $siteFilesDir);
48 $this->assign(
'publicFilesDir', $siteFilesDir);
50 if ($site->getData(
'styleSheet')) {
53 $request->getBaseUrl() .
'/' . $publicFileManager->getSiteFilesPath() .
'/' . $site->getData(
'styleSheet')[
'uploadName'],
54 [
'priority' => STYLE_SEQUENCE_LATE]
57 if (isset($context)) {
59 'currentJournal' => $context,
60 'siteTitle' => $context->getLocalizedName(),
61 'publicFilesDir' => $request->getBaseUrl() .
'/' . $publicFileManager->getContextFilesPath($context->getId()),
62 'primaryLocale' => $context->getPrimaryLocale(),
63 'supportedLocales' => $context->getSupportedLocaleNames(),
64 'displayPageHeaderTitle' => $context->getLocalizedPageHeaderTitle(),
65 'displayPageHeaderLogo' => $context->getLocalizedPageHeaderLogo(),
66 'displayPageHeaderLogoAltText' => $context->getLocalizedData(
'pageHeaderLogoImageAltText'),
67 'numPageLinks' => $context->getData(
'numPageLinks'),
68 'itemsPerPage' => $context->getData(
'itemsPerPage'),
69 'enableAnnouncements' => $context->getData(
'enableAnnouncements'),
70 'disableUserReg' => $context->getData(
'disableUserReg'),
71 'pageFooter' => $context->getLocalizedData(
'pageFooter'),
76 $contexts = $contextDao->getAll(
true)->toArray();
77 $contextsForRegistration = [];
78 foreach($contexts as $context) {
79 if (!$context->getData(
'disableUserReg')) {
80 $contextsForRegistration[] = $context;
85 'contexts' => $contextsForRegistration,
86 'disableUserReg' => empty($contextsForRegistration),
87 'displayPageHeaderTitle' => $site->getLocalizedPageHeaderTitle(),
88 'displayPageHeaderLogo' => $site->getLocalizedData(
'pageHeaderTitleImage'),
89 'siteTitle' => $site->getLocalizedTitle(),
90 'primaryLocale' => $site->getPrimaryLocale(),
91 'supportedLocales' => $site->getSupportedLocaleNames(),
92 'pageFooter' => $site->getLocalizedData(
'pageFooter'),
103 parent::setupBackendPage();
106 if (defined(
'SESSION_DISABLE_INIT')
107 || !$request->getContext()
108 || !$request->getUser()) {
112 $router = $request->getRouter();
113 $handler = $router->getHandler();
114 $userRoles = (array) $handler->getAuthorizedContextObject(ASSOC_TYPE_USER_ROLES);
116 $menu = (array) $this->
getState(
'menu');
119 if (in_array(ROLE_ID_MANAGER, $userRoles)) {
121 'name' => __(
'editor.navigation.issues'),
122 'url' => $router->url($request,
null,
'manageIssues'),
123 'isCurrent' => $request->getRequestedPage() ===
'manageIssues',
126 $index = array_search(
'submissions', array_keys($menu));
127 if ($index ===
false || count($menu) <= ($index + 1)) {
128 $menu[
'issues'] = $issuesLink;
130 $menu = array_slice($menu, 0, $index + 1,
true) +
131 [
'issues' => $issuesLink] +
132 array_slice($menu, $index + 1,
null,
true);
137 if ($request->getContext()->getData(
'paymentsEnabled') && array_intersect([ROLE_ID_SITE_ADMIN, ROLE_ID_MANAGER, ROLE_ID_SUBSCRIPTION_MANAGER], $userRoles)) {
139 'name' => __(
'common.payments'),
140 'url' => $router->url($request,
null,
'payments'),
141 'isCurrent' => $request->getRequestedPage() ===
'payments',
144 $index = array_search(
'settings', array_keys($menu));
145 if ($index ===
false || count($menu) === $index) {
146 $menu[
'payments'] = $paymentsLink;
148 $menu = array_slice($menu, 0, $index,
true) +
149 [
'payments' => $paymentsLink] +
150 array_slice($menu, $index,
null,
true);