first commit
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @file classes/notification/INotificationInfoProvider.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 INotificationInfoProvider
|
||||
*
|
||||
* @ingroup notification
|
||||
*
|
||||
* @brief Interface to retrieve notification presentation information.
|
||||
*/
|
||||
|
||||
namespace PKP\notification;
|
||||
|
||||
use APP\notification\Notification;
|
||||
use PKP\core\PKPRequest;
|
||||
|
||||
define('NOTIFICATION_STYLE_CLASS_WARNING', 'notifyWarning');
|
||||
define('NOTIFICATION_STYLE_CLASS_INFORMATION', 'notifyInfo');
|
||||
define('NOTIFICATION_STYLE_CLASS_SUCCESS', 'notifySuccess');
|
||||
define('NOTIFICATION_STYLE_CLASS_ERROR', 'notifyError');
|
||||
define('NOTIFICATION_STYLE_CLASS_FORM_ERROR', 'notifyFormError');
|
||||
define('NOTIFICATION_STYLE_CLASS_FORBIDDEN', 'notifyForbidden');
|
||||
define('NOTIFICATION_STYLE_CLASS_HELP', 'notifyHelp');
|
||||
|
||||
interface INotificationInfoProvider
|
||||
{
|
||||
/**
|
||||
* Get a URL for the notification.
|
||||
*
|
||||
* @param PKPRequest $request
|
||||
* @param Notification $notification
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getNotificationUrl($request, $notification);
|
||||
|
||||
/**
|
||||
* Get the notification message. Only return translated locale
|
||||
* key strings.
|
||||
*
|
||||
* @param PKPRequest $request
|
||||
* @param Notification $notification
|
||||
*
|
||||
* @return string|array
|
||||
*/
|
||||
public function getNotificationMessage($request, $notification);
|
||||
|
||||
/**
|
||||
* Get the notification contents. Content is anything that's
|
||||
* more than text, like presenting link actions inside fetched
|
||||
* template files.
|
||||
*
|
||||
* @param PKPRequest $request
|
||||
* @param Notification $notification
|
||||
*
|
||||
* @return string|array
|
||||
*/
|
||||
public function getNotificationContents($request, $notification);
|
||||
|
||||
/**
|
||||
* Get the notification title.
|
||||
*
|
||||
* @param Notification $notification
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getNotificationTitle($notification);
|
||||
|
||||
/**
|
||||
* Get the notification style class.
|
||||
*
|
||||
* @param Notification $notification
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getStyleClass($notification);
|
||||
|
||||
/**
|
||||
* Get the notification icon class.
|
||||
*
|
||||
* @param Notification $notification
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getIconClass($notification);
|
||||
|
||||
/**
|
||||
* Whether any notification with the passed notification type
|
||||
* is visible to all users or not.
|
||||
*
|
||||
* @param int $notificationType
|
||||
* @param int $assocType Application::ASSOC_TYPE_...
|
||||
* @param int $assocId
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isVisibleToAllUsers($notificationType, $assocType, $assocId);
|
||||
}
|
||||
|
||||
if (!PKP_STRICT_MODE) {
|
||||
class_alias('\PKP\notification\INotificationInfoProvider', '\INotificationInfoProvider');
|
||||
}
|
||||
Reference in New Issue
Block a user