File Manager
Upload
Current Directory: /home/lartcid/public_html/journal.lartc.id
[Back]
..
[Open]
Hapus
Rename
.htaccess
[Edit]
Hapus
Rename
.well-known
[Open]
Hapus
Rename
README.md
[Edit]
Hapus
Rename
api
[Open]
Hapus
Rename
cache
[Open]
Hapus
Rename
cgi-bin
[Open]
Hapus
Rename
classes
[Open]
Hapus
Rename
config.TEMPLATE.inc.php
[Edit]
Hapus
Rename
config.inc.php
[Edit]
Hapus
Rename
controllers
[Open]
Hapus
Rename
cypress.json
[Edit]
Hapus
Rename
dbscripts
[Open]
Hapus
Rename
docs
[Open]
Hapus
Rename
error_log
[Edit]
Hapus
Rename
favicon.ico
[Edit]
Hapus
Rename
index.php
[Edit]
Hapus
Rename
js
[Open]
Hapus
Rename
lib
[Open]
Hapus
Rename
locale
[Open]
Hapus
Rename
mini.php
[Edit]
Hapus
Rename
pages
[Open]
Hapus
Rename
php.ini
[Edit]
Hapus
Rename
plugins
[Open]
Hapus
Rename
public
[Open]
Hapus
Rename
registry
[Open]
Hapus
Rename
scheduledTaskLogs
[Open]
Hapus
Rename
schemas
[Open]
Hapus
Rename
styles
[Open]
Hapus
Rename
templates
[Open]
Hapus
Rename
tools
[Open]
Hapus
Rename
Edit File
<?php /** * @file classes/services/NavigationMenuService.inc.php * * Copyright (c) 2014-2021 Simon Fraser University * Copyright (c) 2000-2021 John Willinsky * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING. * * @class NavigationMenuService * @ingroup services * * @brief Helper class that encapsulates NavigationMenu business logic */ namespace APP\Services; /** types for all ojs default navigationMenuItems */ define('NMI_TYPE_SUBSCRIPTIONS', 'NMI_TYPE_SUBSCRIPTIONS'); define('NMI_TYPE_MY_SUBSCRIPTIONS', 'NMI_TYPE_MY_SUBSCRIPTIONS'); define('NMI_TYPE_CURRENT', 'NMI_TYPE_CURRENT'); define('NMI_TYPE_ARCHIVES', 'NMI_TYPE_ARCHIVES'); class NavigationMenuService extends \PKP\Services\PKPNavigationMenuService { /** * Initialize hooks for extending PKPSubmissionService */ public function __construct() { \HookRegistry::register('NavigationMenus::itemTypes', array($this, 'getMenuItemTypesCallback')); \HookRegistry::register('NavigationMenus::displaySettings', array($this, 'getDisplayStatusCallback')); } /** * Return all default navigationMenuItemTypes. * @param $hookName string * @param $args array of arguments passed */ public function getMenuItemTypesCallback($hookName, $args) { $types =& $args[0]; \AppLocale::requireComponents(LOCALE_COMPONENT_APP_COMMON, LOCALE_COMPONENT_PKP_USER, LOCALE_COMPONENT_APP_EDITOR); $ojsTypes = array( NMI_TYPE_CURRENT => array( 'title' => __('editor.issues.currentIssue'), 'description' => __('manager.navigationMenus.current.description'), ), NMI_TYPE_ARCHIVES => array( 'title' => __('navigation.archives'), 'description' => __('manager.navigationMenus.archives.description'), ), NMI_TYPE_SUBSCRIPTIONS => array( 'title' => __('navigation.subscriptions'), 'description' => __('manager.navigationMenus.subscriptions.description'), 'conditionalWarning' => __('manager.navigationMenus.subscriptions.conditionalWarning'), ), NMI_TYPE_MY_SUBSCRIPTIONS => array( 'title' => __('user.subscriptions.mySubscriptions'), 'description' => __('manager.navigationMenus.mySubscriptions.description'), 'conditionalWarning' => __('manager.navigationMenus.mySubscriptions.conditionalWarning'), ), ); $types = array_merge($types, $ojsTypes); } /** * Callback for display menu item functionallity * @param $hookName string * @param $args array of arguments passed */ function getDisplayStatusCallback($hookName, $args) { $navigationMenuItem =& $args[0]; $request = \Application::get()->getRequest(); $dispatcher = $request->getDispatcher(); $templateMgr = \TemplateManager::getManager(\Application::get()->getRequest()); $isUserLoggedIn = \Validation::isLoggedIn(); $isUserLoggedInAs = \Validation::isLoggedInAs(); $context = $request->getContext(); $this->transformNavMenuItemTitle($templateMgr, $navigationMenuItem); $menuItemType = $navigationMenuItem->getType(); // Conditionally hide some items switch ($menuItemType) { case NMI_TYPE_CURRENT: case NMI_TYPE_ARCHIVES: $navigationMenuItem->setIsDisplayed($context && $context->getData('publishingMode') != PUBLISHING_MODE_NONE); break; case NMI_TYPE_SUBSCRIPTIONS: if ($context) { $paymentManager = \Application::getPaymentManager($context); $navigationMenuItem->setIsDisplayed($context->getData('paymentsEnabled') && $paymentManager->isConfigured()); } break; case NMI_TYPE_MY_SUBSCRIPTIONS: if ($context) { $paymentManager = \Application::getPaymentManager($context); $navigationMenuItem->setIsDisplayed(\Validation::isLoggedIn() && $context->getData('paymentsEnabled') && $paymentManager->isConfigured() && $context->getData('publishingMode') == PUBLISHING_MODE_SUBSCRIPTION); } break; } if ($navigationMenuItem->getIsDisplayed()) { // Set the URL switch ($menuItemType) { case NMI_TYPE_CURRENT: $navigationMenuItem->setUrl($dispatcher->url( $request, ROUTE_PAGE, null, 'issue', 'current', null )); break; case NMI_TYPE_ARCHIVES: $navigationMenuItem->setUrl($dispatcher->url( $request, ROUTE_PAGE, null, 'issue', 'archive', null )); break; case NMI_TYPE_SUBSCRIPTIONS: $navigationMenuItem->setUrl($dispatcher->url( $request, ROUTE_PAGE, null, 'about', 'subscriptions', null )); break; case NMI_TYPE_MY_SUBSCRIPTIONS: $navigationMenuItem->setUrl($dispatcher->url( $request, ROUTE_PAGE, null, 'user', 'subscriptions', null )); break; } } } }
Simpan