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/notification/NotificationManager.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 PKPNotificationManager * @ingroup notification * @see NotificationDAO * @see Notification * @brief Class for Notification Manager. */ import('lib.pkp.classes.notification.PKPNotificationManager'); class NotificationManager extends PKPNotificationManager { /* @var array Cache each user's most privileged role for each submission */ var $privilegedRoles; /** * Construct a URL for the notification based on its type and associated object * @param $request PKPRequest * @param $notification Notification * @return string */ function getNotificationUrl($request, $notification) { $router = $request->getRouter(); $dispatcher = $router->getDispatcher(); $contextDao = Application::getContextDAO(); $context = $contextDao->getById($notification->getContextId()); switch ($notification->getType()) { case NOTIFICATION_TYPE_PUBLISHED_ISSUE: return $dispatcher->url($request, ROUTE_PAGE, $context->getPath(), 'issue', 'current'); default: return parent::getNotificationUrl($request, $notification); } } /** * Construct the contents for the notification based on its type and associated object * @param $request PKPRequest * @param $notification Notification * @return string */ function getNotificationMessage($request, $notification) { // Allow hooks to override default behavior $message = null; HookRegistry::call('NotificationManager::getNotificationMessage', array(&$notification, &$message)); if($message) return $message; switch ($notification->getType()) { case NOTIFICATION_TYPE_PUBLISHED_ISSUE: return __('notification.type.issuePublished'); case NOTIFICATION_TYPE_BOOK_REQUESTED: return __('plugins.generic.booksForReview.notification.bookRequested'); case NOTIFICATION_TYPE_BOOK_CREATED: return __('plugins.generic.booksForReview.notification.bookCreated'); case NOTIFICATION_TYPE_BOOK_UPDATED: return __('plugins.generic.booksForReview.notification.bookUpdated'); case NOTIFICATION_TYPE_BOOK_DELETED: return __('plugins.generic.booksForReview.notification.bookDeleted'); case NOTIFICATION_TYPE_BOOK_MAILED: return __('plugins.generic.booksForReview.notification.bookMailed'); case NOTIFICATION_TYPE_BOOK_SETTINGS_SAVED: return __('plugins.generic.booksForReview.notification.settingsSaved'); case NOTIFICATION_TYPE_BOOK_SUBMISSION_ASSIGNED: return __('plugins.generic.booksForReview.notification.submissionAssigned'); case NOTIFICATION_TYPE_BOOK_AUTHOR_ASSIGNED: return __('plugins.generic.booksForReview.notification.authorAssigned'); case NOTIFICATION_TYPE_BOOK_AUTHOR_DENIED: return __('plugins.generic.booksForReview.notification.authorDenied'); case NOTIFICATION_TYPE_BOOK_AUTHOR_REMOVED: return __('plugins.generic.booksForReview.notification.authorRemoved'); default: return parent::getNotificationMessage($request, $notification); } } /** * Helper function to get an article title from a notification's associated object * @param $notification * @return string */ function _getArticleTitle($notification) { assert($notification->getAssocType() == ASSOC_TYPE_SUBMISSION); assert(is_numeric($notification->getAssocId())); $submissionDao = DAORegistry::getDAO('SubmissionDAO'); /* @var $submissionDao SubmissionDAO */ $article = $submissionDao->getById($notification->getAssocId()); if (!$article) return null; return $article->getLocalizedTitle(); } /** * get notification style class * @param $notification Notification * @return string */ function getStyleClass($notification) { switch ($notification->getType()) { case NOTIFICATION_TYPE_BOOK_REQUESTED: case NOTIFICATION_TYPE_BOOK_CREATED: case NOTIFICATION_TYPE_BOOK_UPDATED: case NOTIFICATION_TYPE_BOOK_DELETED: case NOTIFICATION_TYPE_BOOK_MAILED: case NOTIFICATION_TYPE_BOOK_SETTINGS_SAVED: case NOTIFICATION_TYPE_BOOK_SUBMISSION_ASSIGNED: case NOTIFICATION_TYPE_BOOK_AUTHOR_ASSIGNED: case NOTIFICATION_TYPE_BOOK_AUTHOR_DENIED: case NOTIFICATION_TYPE_BOOK_AUTHOR_REMOVED: return 'notifySuccess'; default: return parent::getStyleClass($notification); } } /** * Return a CSS class containing the icon of this notification type * @param $notification Notification * @return string */ function getIconClass($notification) { switch ($notification->getType()) { case NOTIFICATION_TYPE_PUBLISHED_ISSUE: return 'notifyIconPublished'; case NOTIFICATION_TYPE_NEW_ANNOUNCEMENT: return 'notifyIconNewAnnouncement'; case NOTIFICATION_TYPE_BOOK_REQUESTED: case NOTIFICATION_TYPE_BOOK_CREATED: case NOTIFICATION_TYPE_BOOK_UPDATED: case NOTIFICATION_TYPE_BOOK_DELETED: case NOTIFICATION_TYPE_BOOK_MAILED: case NOTIFICATION_TYPE_BOOK_SETTINGS_SAVED: case NOTIFICATION_TYPE_BOOK_SUBMISSION_ASSIGNED: case NOTIFICATION_TYPE_BOOK_AUTHOR_ASSIGNED: case NOTIFICATION_TYPE_BOOK_AUTHOR_DENIED: case NOTIFICATION_TYPE_BOOK_AUTHOR_REMOVED: return 'notifyIconSuccess'; default: return parent::getIconClass($notification); } } /** * @copydoc PKPNotificationManager::getMgrDelegate() */ protected function getMgrDelegate($notificationType, $assocType, $assocId) { switch ($notificationType) { case NOTIFICATION_TYPE_APPROVE_SUBMISSION: case NOTIFICATION_TYPE_VISIT_CATALOG: assert($assocType == ASSOC_TYPE_SUBMISSION && is_numeric($assocId)); import('classes.notification.managerDelegate.ApproveSubmissionNotificationManager'); return new ApproveSubmissionNotificationManager($notificationType); } // Otherwise, fall back on parent class return parent::getMgrDelegate($notificationType, $assocType, $assocId); } }
Simpan