Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0 / 0 |
|
100.00% |
0 / 0 |
CRAP | |
100.00% |
0 / 0 |
|
| <?php | |
| /** | |
| * | |
| * This file is part of the phpBB Forum Software package. | |
| * | |
| * @copyright (c) phpBB Limited <https://www.phpbb.com> | |
| * @license GNU General Public License, version 2 (GPL-2.0) | |
| * | |
| * For full copyright and license information, please see | |
| * the docs/CREDITS.txt file. | |
| * | |
| */ | |
| namespace phpbb\notification\method; | |
| /** | |
| * Base notifications method interface | |
| */ | |
| interface method_interface | |
| { | |
| /** | |
| * Get notification method name | |
| * | |
| * @return string | |
| */ | |
| public function get_type(); | |
| /** | |
| * Is the method enable by default? | |
| * | |
| * @return bool | |
| */ | |
| public function is_enabled_by_default(); | |
| /** | |
| * Is this method available for the user? | |
| * This is checked on the notifications options | |
| */ | |
| public function is_available(); | |
| /** | |
| * Return the list of the users already notified | |
| * | |
| * @param int $notification_type_id Type of the notification | |
| * @param array $options | |
| * @return array User | |
| */ | |
| public function get_notified_users($notification_type_id, array $options); | |
| /** | |
| * Load the user's notifications | |
| * | |
| * @param array $options Optional options to control what notifications are loaded | |
| * notification_id Notification id to load (or array of notification ids) | |
| * user_id User id to load notifications for (Default: $user->data['user_id']) | |
| * order_by Order by (Default: notification_time) | |
| * order_dir Order direction (Default: DESC) | |
| * limit Number of notifications to load (Default: 5) | |
| * start Notifications offset (Default: 0) | |
| * all_unread Load all unread notifications? If set to true, count_unread is set to true (Default: false) | |
| * count_unread Count all unread notifications? (Default: false) | |
| * count_total Count all notifications? (Default: false) | |
| * @return array Array of information based on the request with keys: | |
| * 'notifications' array of notification type objects | |
| * 'unread_count' number of unread notifications the user has if count_unread is true in the options | |
| * 'total_count' number of notifications the user has if count_total is true in the options | |
| */ | |
| public function load_notifications(array $options = array()); | |
| /** | |
| * Add a notification to the queue | |
| * | |
| * @param \phpbb\notification\type\type_interface $notification | |
| */ | |
| public function add_to_queue(\phpbb\notification\type\type_interface $notification); | |
| /** | |
| * Parse the queue and notify the users | |
| */ | |
| public function notify(); | |
| /** | |
| * Update a notification | |
| * | |
| * @param \phpbb\notification\type\type_interface $notification Notification to update | |
| * @param array $data Data specific for this type that will be updated | |
| * @param array $options | |
| */ | |
| public function update_notification($notification, array $data, array $options); | |
| /** | |
| * Mark notifications read or unread | |
| * | |
| * @param bool|string $notification_type_id Type identifier of item types. False to mark read for all item types | |
| * @param bool|int|array $item_id Item id or array of item ids. False to mark read for all item ids | |
| * @param bool|int|array $user_id User id or array of user ids. False to mark read for all user ids | |
| * @param bool|int $time Time at which to mark all notifications prior to as read. False to mark all as read. (Default: False) | |
| * @param bool $mark_read Define if the notification as to be set to True or False. (Default: True) | |
| */ | |
| public function mark_notifications($notification_type_id, $item_id, $user_id, $time = false, $mark_read = true); | |
| /** | |
| * Mark notifications read or unread from a parent identifier | |
| * | |
| * @param string $notification_type_id Type identifier of item types | |
| * @param bool|int|array $item_parent_id Item parent id or array of item parent ids. False to mark read for all item parent ids | |
| * @param bool|int|array $user_id User id or array of user ids. False to mark read for all user ids | |
| * @param bool|int $time Time at which to mark all notifications prior to as read. False to mark all as read. (Default: False) | |
| * @param bool $mark_read Define if the notification as to be set to True or False. (Default: True) | |
| */ | |
| public function mark_notifications_by_parent($notification_type_id, $item_parent_id, $user_id, $time = false, $mark_read = true); | |
| /** | |
| * Mark notifications read or unread | |
| * | |
| * @param int $notification_id Notification id of notification ids. | |
| * @param bool|int $time Time at which to mark all notifications prior to as read. False to mark all as read. (Default: False) | |
| * @param bool $mark_read Define if the notification as to be set to True or False. (Default: True) | |
| */ | |
| public function mark_notifications_by_id($notification_id, $time = false, $mark_read = true); | |
| /** | |
| * Delete a notification | |
| * | |
| * @param string $notification_type_id Type identifier of item types | |
| * @param int|array $item_id Identifier within the type (or array of ids) | |
| * @param mixed $parent_id Parent identifier within the type (or array of ids), used in combination with item_id if specified (Default: false; not checked) | |
| * @param mixed $user_id User id (Default: false; not checked) | |
| */ | |
| public function delete_notifications($notification_type_id, $item_id, $parent_id = false, $user_id = false); | |
| /** | |
| * Delete all notifications older than a certain time | |
| * | |
| * @param int $timestamp Unix timestamp to delete all notifications that were created before | |
| * @param bool $only_read True (default) to only prune read notifications | |
| */ | |
| public function prune_notifications($timestamp, $only_read = true); | |
| /** | |
| * Purge all notifications of a certain type | |
| * | |
| * This should be called when an extension which has notification types | |
| * is purged so that all those notifications are removed | |
| * | |
| * @param string $notification_type_id Type identifier of the subscription | |
| */ | |
| public function purge_notifications($notification_type_id); | |
| } |