vB_Api_Notification
extends vB_Api
in package
vB_Api_Notification
Tags
Table of Contents
Methods
- __serialize() : array<string|int, mixed>
- __sleep() : array<string|int, mixed>
- __unserialize() : void
- __wakeup() : void
- callNamed() : The
- Call the given api function by name with a named arguments list.
- checkApiState() : mixed
- This method checks whether the API method is enabled.
- clearCache() : mixed
- Clears all previously loaded API objects.
- deleteNotification() : mixed
- Deletes specified notificationds, but only if it's owned by the current user.
- dismissAllNotifications() : array<string|int, mixed>
- Updates all notifications owned by user and marks them as read (sets the lastreadtime to current time).
- dismissNotification() : array<string|int, mixed>
- Updates the specified notificationids to mark them as read, and returns a single "next" notification based on the filter parameters.
- fetchNotificationsForCurrentUser() : array<string|int, mixed>
- Return current user's notifications from DB.
- getApiClassName() : mixed
- instance() : vB_Api
- Returns an instance of the API object which translates exceptions to an array Use this method for API clients.
- instanceInternal() : vB_Api
- Returns an instance of the API object which doesn't handle exceptions This should only be used in other API objects, not for clients of the API
- map_vb4_input_to_vb5() : string
- Returns vb5 api method name.
- map_vb5_errors_to_vb4() : mixed
- Alters the error array in any way necessary to interface correctly with vb4.
- map_vb5_output_to_vb4() : mixed
- Alters the output array in any way necessary to interface correctly with vb4.
- undoUnsubscribe() : mixed
- unsubscribeFromNotification() : array<string|int, mixed>
- Unsubscribe from notifications sent by $sentbynodeid. Note, due to the timing & bulking of email notifications, it is currently nontrivial to map which email is for which specific notificationid, so we have to use sentbynodeid.
Methods
__serialize()
public
__serialize() : array<string|int, mixed>
Return values
array<string|int, mixed>__sleep()
public
__sleep() : array<string|int, mixed>
Return values
array<string|int, mixed>__unserialize()
public
__unserialize(array<string|int, mixed> $serialized) : void
Parameters
- $serialized : array<string|int, mixed>
__wakeup()
public
__wakeup() : void
callNamed()
Call the given api function by name with a named arguments list.
public
callNamed() : The
Used primarily to translate REST requests into API calls.
Return values
The —return of the method or an error if the method doesn't exist, or is static, a constructor or destructor, or otherwise shouldn't be callable as and API method. It is also an error if the value of a paramater is not provided and that parameter doesn't have a default value.
checkApiState()
This method checks whether the API method is enabled.
public
checkApiState(mixed $method) : mixed
For extensions check make sure $controller property is already set.
Parameters
- $method : mixed
clearCache()
Clears all previously loaded API objects.
public
static clearCache() : mixed
Intended for use in tests where the loading pattern can cause issues with objects that cache thier own data.
deleteNotification()
Deletes specified notificationds, but only if it's owned by the current user.
public
deleteNotification(int|array<string|int, int> $notificationids[, int $userid = false ]) : mixed
Use the library's deleteNotification() function to ignore ownership.
Parameters
- $notificationids : int|array<string|int, int>
-
Array of notificationids to delete.
- $userid : int = false
-
Optional. User who owns the specified notificationids. Currently not supported.
Tags
dismissAllNotifications()
Updates all notifications owned by user and marks them as read (sets the lastreadtime to current time).
public
dismissAllNotifications([int $userid = false ]) : array<string|int, mixed>
Parameters
- $userid : int = false
-
Optional user who owns the $readIds. Currently unused.
Tags
Return values
array<string|int, mixed> —Results data including the following type & keys:
- Int 'affected_rows' Number of rows affected by update query
dismissNotification()
Updates the specified notificationids to mark them as read, and returns a single "next" notification based on the filter parameters.
public
dismissNotification(int|array<string|int, int> $readIds[, int|array<string|int, int> $idsOnPage = array() ][, array<string|int, mixed> $filterParams = array() ][, bool $skipFetch = false ][, int $userid = false ]) : array<string|int, mixed>
Parameters
- $readIds : int|array<string|int, int>
-
Integer(s) notificationid(s) being dismissed.
- $idsOnPage : int|array<string|int, int> = array()
-
Notifications on the current page.
- $filterParams : array<string|int, mixed> = array()
-
@see vB_Library_Notification::fetchNotificationsForCurrentUser(), $data param. If empty or if $skipFetch is true, the function will skip fetching the "next" notification.
- $skipFetch : bool = false
-
Default false. If true or if $filterParams is empty, the function will skip fetching the "next" notification.
- $userid : int = false
-
Optional user who owns the $readIds. Currently unused.
Tags
Return values
array<string|int, mixed> —Results data including the following type & keys:
- String 'insertNotification' Rendered template HTML string for a notification row that should be inserted into the DOM
- Int 'affected_rows' Number of rows affected by update query
- String 'info' ''|'fetch_skipped'|'page_empty' If not empty string, indicates the reason API returned early.
- Int 'lastsenttime' Lastsenttime of the notification, to be used by the frontend code for sorting in the future.
fetchNotificationsForCurrentUser()
Return current user's notifications from DB.
public
fetchNotificationsForCurrentUser([array<string|int, mixed> $data = array() ]) : array<string|int, mixed>
Parameters
- $data : array<string|int, mixed> = array()
-
@see vB_Library_Notification::fetchNotificationsForCurrentUser()
Tags
Return values
array<string|int, mixed> —@see vB_Library_Notification::fetchNotificationsForCurrentUser()
getApiClassName()
public
static getApiClassName(mixed $controller) : mixed
Parameters
- $controller : mixed
instance()
Returns an instance of the API object which translates exceptions to an array Use this method for API clients.
public
static instance(string $controller[, bool $refresh_cache = false ]) : vB_Api
Parameters
- $controller : string
-
-- name of the API controller to load
- $refresh_cache : bool = false
-
-- true if we want to force the cache to update with a new api object primarily intended for testing
Return values
vB_ApiinstanceInternal()
Returns an instance of the API object which doesn't handle exceptions This should only be used in other API objects, not for clients of the API
public
static instanceInternal(string $controller[, bool $refresh_cache = false ]) : vB_Api
Parameters
- $controller : string
-
-- name of the API controller to load
- $refresh_cache : bool = false
-
-- true if we want to force the cache to update with a new api object primarily intended for testing
Return values
vB_Apimap_vb4_input_to_vb5()
Returns vb5 api method name.
public
static map_vb4_input_to_vb5(string $method, array<string|int, mixed> &$request) : string
May alter request array.
Parameters
- $method : string
-
-- vb4 method name
- $request : array<string|int, mixed>
-
-- $_REQUEST array for this api request
Return values
stringmap_vb5_errors_to_vb4()
Alters the error array in any way necessary to interface correctly with vb4.
public
static map_vb5_errors_to_vb4(string $method, array<string|int, mixed> &$data) : mixed
Parameters
- $method : string
-
-- vb4 method name
- $data : array<string|int, mixed>
-
-- error array from vb5
map_vb5_output_to_vb4()
Alters the output array in any way necessary to interface correctly with vb4.
public
static map_vb5_output_to_vb4(string $method, array<string|int, mixed> &$data) : mixed
Parameters
- $method : string
-
-- vb4 method name
- $data : array<string|int, mixed>
-
-- output array from vb5
undoUnsubscribe()
public
undoUnsubscribe(int $undoid) : mixed
Parameters
- $undoid : int
unsubscribeFromNotification()
Unsubscribe from notifications sent by $sentbynodeid. Note, due to the timing & bulking of email notifications, it is currently nontrivial to map which email is for which specific notificationid, so we have to use sentbynodeid.
public
unsubscribeFromNotification(int $sentbynodeid) : array<string|int, mixed>
Parameters
- $sentbynodeid : int
Return values
array<string|int, mixed> —['success' => bool, ...]