diff options
Diffstat (limited to 'phpBB/phpbb/notification/method/method_interface.php')
| -rw-r--r-- | phpBB/phpbb/notification/method/method_interface.php | 104 | 
1 files changed, 104 insertions, 0 deletions
| diff --git a/phpBB/phpbb/notification/method/method_interface.php b/phpBB/phpbb/notification/method/method_interface.php index 76b0de179c..c2e4940485 100644 --- a/phpBB/phpbb/notification/method/method_interface.php +++ b/phpBB/phpbb/notification/method/method_interface.php @@ -26,12 +26,48 @@ interface method_interface  	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 @@ -42,4 +78,72 @@ interface method_interface  	* 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);  } | 
