Mercurial > hg > rr-repo
diff modules/trigger/trigger.api.php @ 0:ff03f76ab3fe
initial version
author | danieleb <danielebarchiesi@me.com> |
---|---|
date | Wed, 21 Aug 2013 18:51:11 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/modules/trigger/trigger.api.php Wed Aug 21 18:51:11 2013 +0100 @@ -0,0 +1,78 @@ +<?php + +/** + * @file + * Hooks provided by the Trigger module. + */ + +/** + * @addtogroup hooks + * @{ + */ + +/** + * Declare triggers (events) for users to assign actions to. + * + * This hook is used by the trigger module to create a list of triggers (events) + * that users can assign actions to. Your module is responsible for detecting + * that the events have occurred, calling trigger_get_assigned_actions() to find + * out which actions the user has associated with your trigger, and then calling + * actions_do() to fire off the actions. + * + * @return + * A nested associative array. + * - The outermost key is the name of the module that is defining the triggers. + * This will be used to create a local task (tab) in the trigger module's + * user interface. A contrib module may supply a trigger for a core module by + * giving the core module's name as the key. For example, you could use the + * 'node' key to add a node-related trigger. + * - Within each module, each individual trigger is keyed by a hook name + * describing the particular trigger (this is not visible to the user, but + * can be used by your module for identification). + * - Each trigger is described by an associative array. Currently, the only + * key-value pair is 'label', which contains a translated human-readable + * description of the triggering event. + * For example, the trigger set for the 'node' module has 'node' as the + * outermost key and defines triggers for 'node_insert', 'node_update', + * 'node_delete' etc. that fire when a node is saved, updated, etc. + * + * @see hook_action_info() + * @see hook_trigger_info_alter() + */ +function hook_trigger_info() { + return array( + 'node' => array( + 'node_presave' => array( + 'label' => t('When either saving new content or updating existing content'), + ), + 'node_insert' => array( + 'label' => t('After saving new content'), + ), + 'node_update' => array( + 'label' => t('After saving updated content'), + ), + 'node_delete' => array( + 'label' => t('After deleting content'), + ), + 'node_view' => array( + 'label' => t('When content is viewed by an authenticated user'), + ), + ), + ); +} + +/** + * Alter triggers declared by hook_trigger_info(). + * + * @param $triggers + * Array of trigger information returned by hook_trigger_info() + * implementations. Modify this array in place. See hook_trigger_info() + * for information on what this might contain. + */ +function hook_trigger_info_alter(&$triggers) { + $triggers['node']['node_insert']['label'] = t('When content is saved'); +} + +/** + * @} End of "addtogroup hooks". + */