dolibarr 21.0.0-beta
HookManager Class Reference

Class to manage hooks. More...

Public Member Functions

 __construct ($db)
 Constructor.
 
 initHooks ($arraycontext)
 Init array $this->hooks with instantiated action controllers.
 
 executeHooks ($method, $parameters=array(), &$object=null, &$action='')
 Execute hooks (if they were initialized) for the given method.
 

Public Attributes

 $hooks = array()
 array<string,array<string,null|string|CommonHookActions>> Array with instantiated classes
 
 $hooksSorted = array()
 array<string,array<string,null|string|CommonHookActions>> Array with instantiated classes sorted by hook priority
 

Detailed Description

Class to manage hooks.

Definition at line 31 of file hookmanager.class.php.

Constructor & Destructor Documentation

◆ __construct()

HookManager::__construct ( $db)

Constructor.

Parameters
DoliDB$dbDatabase handler
Returns
void

Definition at line 89 of file hookmanager.class.php.

Member Function Documentation

◆ executeHooks()

HookManager::executeHooks ( $method,
$parameters = array(),
& $object = null,
& $action = '' )

Execute hooks (if they were initialized) for the given method.

Parameters
string$methodName of method hooked ('doActions', 'printSearchForm', 'showInputField', ...)
array<string,mixed>$parameters Array of parameters
object$objectObject to use hooks on
string$actionAction code on calling page ('create', 'edit', 'view', 'add', 'update', 'delete'...)
Returns
int<-1,1> For 'addreplace' hooks (doActions, formConfirm, formObjectOptions, pdf_xxx,...): Return 0 if we want to keep standard actions, >0 if we want to stop/replace standard actions, <0 if KO. Things to print are returned into ->resprints and set into ->resPrint. Things to return are returned into ->results by hook and set into ->resArray for caller. For 'output' hooks (printLeftBlock, formAddObjectLine, formBuilddocOptions, ...): Return 0 if we want to keep standard actions, >0 uf we want to stop/replace standard actions (at least one > 0 and replacement will be done), <0 if KO. Things to print are returned into ->resprints and set into ->resPrint. Things to return are returned into ->results by hook and set into ->resArray for caller. All types can also return some values into an array ->results that will be merged into this->resArray for caller. $this->error or this->errors are also defined by class called by this function if error.

Definition at line 198 of file hookmanager.class.php.

References $context, $object, dol_syslog(), and getDolGlobalInt().

◆ initHooks()

HookManager::initHooks ( $arraycontext)

Init array $this->hooks with instantiated action controllers.

First, a hook is declared by a module by adding a constant MAIN_MODULE_MYMODULENAME_HOOKS with value 'nameofcontext1:nameofcontext2:...' into $this->const of module descriptor file. This makes $conf->hooks_modules loaded with an entry ('modulename'=>array(nameofcontext1,nameofcontext2,...)) When initHooks function is called, with initHooks(list_of_contexts), an array $this->hooks is defined with instance of controller class found into file /mymodule/class/actions_mymodule.class.php (if module has declared the context as a managed context). Then when a hook executeHooks('aMethod'...) is called, the method aMethod found into class will be executed.

Parameters
string[]$arraycontextArray list of context hooks to activate. For example: 'thirdpartycard' (for hook methods into page card thirdparty), 'thirdpartydao' (for hook methods into Societe), ...
Returns
int<0,1> 0 or 1

Definition at line 106 of file hookmanager.class.php.

References $conf, $context, $hooks, dol_include_once(), and dol_syslog().


The documentation for this class was generated from the following file: