Elgg  Version 3.0
Functions | Variables
hooks.js File Reference

Go to the source code of this file.

Functions

elgg provide ('elgg.config.hooks')
 
 !function ()
 
elgg register_instant_hook ('init', 'system')
 

Variables

elgg trigger_hook
 Emits a synchronous hook, calling only synchronous handlers. More...
 
elgg register_instant_hook
 Registers a hook as an instant hook. More...
 
elgg is_instant_hook
 Is this hook registered as an instant hook? More...
 
elgg set_triggered_hook
 Records that a hook has been triggered. More...
 
elgg is_triggered_hook
 Has this hook been triggered yet? More...
 

Function Documentation

!function ( )

Registers a hook handler with the event system.

For best results, depend on the elgg/ready module, so plugins will have been booted.

The special keyword "all" can be used for either the name or the type or both and means to call that handler for all of those hooks.

Note that handlers registering for instant hooks will be executed immediately if the instant hook has been previously triggered.

Parameters
{String}name The hook name.
{String}type The hook type.
{Function}handler Handler to call: function(hook, type, params, value)
{Number}priority Priority to call the event handler
Returns
{Boolean}

Definition at line 9 of file hooks.js.

elgg provide ( 'elgg.config.hooks'  )
elgg register_instant_hook ( 'init ,
'system  
)

Variable Documentation

elgg is_instant_hook
Initial value:
= function(name, type) {
return elgg.is_in_object_array(elgg.config.instant_hooks, name, type);
}
$site name
var elgg
Definition: elgglib.js:4

Is this hook registered as an instant hook?

Parameters
{String}name The hook name.
{String}type The hook type.

Definition at line 169 of file hooks.js.

elgg is_triggered_hook
Initial value:
= function(name, type) {
return elgg.is_in_object_array(elgg.config.triggered_hooks, name, type);
}
$site name
var elgg
Definition: elgglib.js:4

Has this hook been triggered yet?

Parameters
{String}name The hook name.
{String}type The hook type.

Definition at line 189 of file hooks.js.

elgg register_instant_hook
Initial value:
= function(name, type) {
elgg.assertTypeOf('string', name);
elgg.assertTypeOf('string', type);
return elgg.push_to_object_array(elgg.config.instant_hooks, name, type);
}
$site name
var elgg
Definition: elgglib.js:4

Registers a hook as an instant hook.

After being trigger once, registration of a handler to an instant hook will cause the handle to be executed immediately.

Note
Instant hooks must be triggered without params or defaults. Any params or default passed will not be passed to handlers executed upon registration.
Parameters
{String}name The hook name.
{String}type The hook type.
Returns
{Number} integer

Definition at line 156 of file hooks.js.

elgg set_triggered_hook
Initial value:
= function(name, type) {
return elgg.push_to_object_array(elgg.config.triggered_hooks, name, type);
}
$site name
var elgg
Definition: elgglib.js:4

Records that a hook has been triggered.

Parameters
{String}name The hook name.
{String}type The hook type.

Definition at line 179 of file hooks.js.

elgg trigger_hook

Emits a synchronous hook, calling only synchronous handlers.

Loops through all registered hooks and calls the handler functions in order. Every handler function will always be called, regardless of the return value.

Warning
Handlers take the same 4 arguments in the same order as when calling this function. This is different from the PHP version!
Note
Instant hooks do not support params or values.

Hooks are called in priority order.

Parameters
{String}name The hook name.
{String}type The hook type.
{Object}params Optional parameters to pass to the handlers
{Object}value Initial value of the return. Can be modified by handlers
Returns
{*}

Definition at line 81 of file hooks.js.