functions-filter.php
Filter functions used by zenphoto
The filter/plugin API is located in this file, which allows for creating filters and hooking functions, and methods. The functions or methods will be run when the filter is called.
Any of the syntaxes explained in the PHP documentation for the 'callback' type are valid.
This API is heavily inspired by the plugin API used in WordPress.
Tags
Table of Contents
- zp_register_filter() : mixed
- Registers a filtering function Filtering functions are used to post process zenphoto elements or to trigger functions when a filter occur
- zp_filter_unique_id() : string
- Build Unique ID for storage and retrieval.
- zp_apply_filter() : mixed
- Performs a filtering operation on a zenphoto element or event.
- zp_remove_filter() : bool
- Removes a function from a specified filter hook.
- zp_has_filter() : int|bool
- Check if any filter has been registered for a hook.
- get_filterScript() : string
- returns a list of scripts that have attached to the hook
- zp_filter_slot() : mixed
- Returns the position of the function in the hook queue
Functions
zp_register_filter()
Registers a filtering function Filtering functions are used to post process zenphoto elements or to trigger functions when a filter occur
zp_register_filter(string $hook, callable $function_name[, int $priority = NULL ]) : mixed
Typical use:
zp_register_filter('some_hook', 'function_handler_for_hook');
global array $_zp_filters Storage for all of the filters
Parameters
- $hook : string
-
the name of the zenphoto element to be filtered
- $function_name : callable
-
the name of the function that is to be called.
- $priority : int = NULL
-
optional. Used to specify the order in which the functions associated with a particular action are executed (default=5, higher=earlier execution, and functions with the same priority are executed in the order in which they were added to the filter)
Return values
mixed —zp_filter_unique_id()
Build Unique ID for storage and retrieval.
zp_filter_unique_id(string $hook, string|array<string|int, mixed> $function, int|bool $priority) : string
Simply using a function name is not enough, as several functions can have the same name when they are enclosed in classes.
global array $_zp_filters storage for all of the filters
Parameters
- $hook : string
-
hook to which the function is attached
- $function : string|array<string|int, mixed>
-
used for creating unique id
- $priority : int|bool
-
used in counting how many hooks were applied. If === false and $function is an object reference, we return the unique id only if it already has one, false otherwise.
Return values
string —unique ID for usage as array key
zp_apply_filter()
Performs a filtering operation on a zenphoto element or event.
zp_apply_filter(string $hook[, mixed $value = '' ]) : mixed
This function is called for each zenphoto element which supports plugin filtering. It is called after any zenphoto specific actions are completed and before the element is used.
Typical use:
1) Modify a variable if a function is attached to hook 'zp_hook'
$zp_var = "default value";
$zp_var = zp_apply_filter( 'zp_hook', $zp_var );
2) Trigger functions is attached to event 'zp_event'
zp_apply_filter( 'zp_event' );
Returns an element which may have been filtered by a filter.
global array $_zp_filters storage for all of the filters
Parameters
- $hook : string
-
the name of the zenphoto element
- $value : mixed = ''
-
the value of the element before filtering
Return values
mixed —zp_remove_filter()
Removes a function from a specified filter hook.
zp_remove_filter(string $hook, callable $function_to_remove[, int $priority = NULL ][, int $accepted_args = 1 ]) : bool
This function removes a function attached to a specified filter hook. This method can be used to remove default functions attached to a specific filter hook and possibly replace them with a substitute.
To be removed the $function_to_remove and $priority arguments must match when the hook was added.
global array $_zp_filters storage for all of the filters
Parameters
- $hook : string
-
The filter hook to which the function to be removed is hooked.
- $function_to_remove : callable
-
The name of the function which should be removed.
- $priority : int = NULL
-
optional. The priority of the function. If not supplied we will get it from zp_has_filter
- $accepted_args : int = 1
-
optional. The number of arguments the function accpets (default: 1).
Return values
bool —Whether the function was registered as a filter before it was removed.
zp_has_filter()
Check if any filter has been registered for a hook.
zp_has_filter(string $hook[, callable $function_to_check = false ]) : int|bool
global array $_zp_filters storage for all of the filters
Parameters
- $hook : string
-
The name of the filter hook.
- $function_to_check : callable = false
-
optional. If specified, return the priority of that function on this hook or false if not attached.
Return values
int|bool —Optionally returns the priority on that hook for the specified function.
get_filterScript()
returns a list of scripts that have attached to the hook
get_filterScript(string $hook) : string
Parameters
- $hook : string
Return values
string —zp_filter_slot()
Returns the position of the function in the hook queue
zp_filter_slot( $hook, $function) : mixed