Open Monograph Press  3.3.0
NotificationManager.inc.php
1 <?php
2 
17 import('lib.pkp.classes.notification.PKPNotificationManager');
18 
20  //
21  // Public methods.
22  //
26  public function getNotificationTitle($notification) {
27  switch ($notification->getType()) {
28  case NOTIFICATION_TYPE_CONFIGURE_PAYMENT_METHOD:
29  return __('notification.type.configurePaymentMethod.title');
30  }
31  return parent::getNotificationTitle($notification);
32  }
33 
37  public function getIconClass($notification) {
38  switch ($notification->getType()) {
39  case NOTIFICATION_TYPE_REVIEWER_COMMENT:
40  return 'notifyIconNewComment';
41  }
42  return parent::getIconClass($notification);
43  }
44 
48  public function getStyleClass($notification) {
49  switch ($notification->getType()) {
50  case NOTIFICATION_TYPE_LAYOUT_ASSIGNMENT:
51  case NOTIFICATION_TYPE_INDEX_ASSIGNMENT:
52  case NOTIFICATION_TYPE_CONFIGURE_PAYMENT_METHOD:
53  return NOTIFICATION_STYLE_CLASS_WARNING;
54  }
55  return parent::getStyleClass($notification);
56  }
57 
61  public function isVisibleToAllUsers($notificationType, $assocType, $assocId) {
62  switch ($notificationType) {
63  case NOTIFICATION_TYPE_CONFIGURE_PAYMENT_METHOD:
64  return true;
65  default:
66  return parent::isVisibleToAllUsers($notificationType, $assocType, $assocId);
67  }
68  }
69 
73  protected function getMgrDelegate($notificationType, $assocType, $assocId) {
74  switch ($notificationType) {
75  case NOTIFICATION_TYPE_EDITOR_ASSIGNMENT_INTERNAL_REVIEW:
76  assert($assocType == ASSOC_TYPE_SUBMISSION && is_numeric($assocId));
77  import('lib.pkp.classes.notification.managerDelegate.EditorAssignmentNotificationManager');
78  return new EditorAssignmentNotificationManager($notificationType);
79  case NOTIFICATION_TYPE_EDITOR_DECISION_INTERNAL_REVIEW:
80  assert($assocType == ASSOC_TYPE_SUBMISSION && is_numeric($assocId));
81  import('lib.pkp.classes.notification.managerDelegate.EditorDecisionNotificationManager');
82  return new EditorDecisionNotificationManager($notificationType);
83  case NOTIFICATION_TYPE_PENDING_INTERNAL_REVISIONS:
84  assert($assocType == ASSOC_TYPE_SUBMISSION && is_numeric($assocId));
85  import('lib.pkp.classes.notification.managerDelegate.PendingRevisionsNotificationManager');
86  return new PendingRevisionsNotificationManager($notificationType);
87  case NOTIFICATION_TYPE_APPROVE_SUBMISSION:
88  case NOTIFICATION_TYPE_FORMAT_NEEDS_APPROVED_SUBMISSION:
89  case NOTIFICATION_TYPE_VISIT_CATALOG:
90  assert($assocType == ASSOC_TYPE_SUBMISSION && is_numeric($assocId));
91  import('classes.notification.managerDelegate.ApproveSubmissionNotificationManager');
92  return new ApproveSubmissionNotificationManager($notificationType);
93  }
94  // Otherwise, fall back on parent class
95  return parent::getMgrDelegate($notificationType, $assocType, $assocId);
96  }
97 }
98 
99 
NotificationManager\getMgrDelegate
getMgrDelegate($notificationType, $assocType, $assocId)
Definition: NotificationManager.inc.php:73
ApproveSubmissionNotificationManager
Notification manager delegate that handles notifications related with submission approval process.
Definition: ApproveSubmissionNotificationManager.inc.php:19
PKPNotificationManager
Class for Notification Manager.
Definition: PKPNotificationManager.inc.php:20
EditorDecisionNotificationManager
Editor decision notification types manager delegate.
Definition: EditorDecisionNotificationManager.inc.php:18
NotificationManager\getNotificationTitle
getNotificationTitle($notification)
Definition: NotificationManager.inc.php:26
EditorAssignmentNotificationManager
Editor assignment notification types manager delegate.
Definition: EditorAssignmentNotificationManager.inc.php:18
NotificationManager
Definition: NotificationManager.inc.php:19
NotificationManager\getStyleClass
getStyleClass($notification)
Definition: NotificationManager.inc.php:48
PendingRevisionsNotificationManager
Pending revision notification types manager delegate.
Definition: PendingRevisionsNotificationManager.inc.php:19
NotificationManager\isVisibleToAllUsers
isVisibleToAllUsers($notificationType, $assocType, $assocId)
Definition: NotificationManager.inc.php:61
NotificationManager\getIconClass
getIconClass($notification)
Definition: NotificationManager.inc.php:37