annotate 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
rev   line source
danielebarchiesi@0 1 <?php
danielebarchiesi@0 2
danielebarchiesi@0 3 /**
danielebarchiesi@0 4 * @file
danielebarchiesi@0 5 * Hooks provided by the Trigger module.
danielebarchiesi@0 6 */
danielebarchiesi@0 7
danielebarchiesi@0 8 /**
danielebarchiesi@0 9 * @addtogroup hooks
danielebarchiesi@0 10 * @{
danielebarchiesi@0 11 */
danielebarchiesi@0 12
danielebarchiesi@0 13 /**
danielebarchiesi@0 14 * Declare triggers (events) for users to assign actions to.
danielebarchiesi@0 15 *
danielebarchiesi@0 16 * This hook is used by the trigger module to create a list of triggers (events)
danielebarchiesi@0 17 * that users can assign actions to. Your module is responsible for detecting
danielebarchiesi@0 18 * that the events have occurred, calling trigger_get_assigned_actions() to find
danielebarchiesi@0 19 * out which actions the user has associated with your trigger, and then calling
danielebarchiesi@0 20 * actions_do() to fire off the actions.
danielebarchiesi@0 21 *
danielebarchiesi@0 22 * @return
danielebarchiesi@0 23 * A nested associative array.
danielebarchiesi@0 24 * - The outermost key is the name of the module that is defining the triggers.
danielebarchiesi@0 25 * This will be used to create a local task (tab) in the trigger module's
danielebarchiesi@0 26 * user interface. A contrib module may supply a trigger for a core module by
danielebarchiesi@0 27 * giving the core module's name as the key. For example, you could use the
danielebarchiesi@0 28 * 'node' key to add a node-related trigger.
danielebarchiesi@0 29 * - Within each module, each individual trigger is keyed by a hook name
danielebarchiesi@0 30 * describing the particular trigger (this is not visible to the user, but
danielebarchiesi@0 31 * can be used by your module for identification).
danielebarchiesi@0 32 * - Each trigger is described by an associative array. Currently, the only
danielebarchiesi@0 33 * key-value pair is 'label', which contains a translated human-readable
danielebarchiesi@0 34 * description of the triggering event.
danielebarchiesi@0 35 * For example, the trigger set for the 'node' module has 'node' as the
danielebarchiesi@0 36 * outermost key and defines triggers for 'node_insert', 'node_update',
danielebarchiesi@0 37 * 'node_delete' etc. that fire when a node is saved, updated, etc.
danielebarchiesi@0 38 *
danielebarchiesi@0 39 * @see hook_action_info()
danielebarchiesi@0 40 * @see hook_trigger_info_alter()
danielebarchiesi@0 41 */
danielebarchiesi@0 42 function hook_trigger_info() {
danielebarchiesi@0 43 return array(
danielebarchiesi@0 44 'node' => array(
danielebarchiesi@0 45 'node_presave' => array(
danielebarchiesi@0 46 'label' => t('When either saving new content or updating existing content'),
danielebarchiesi@0 47 ),
danielebarchiesi@0 48 'node_insert' => array(
danielebarchiesi@0 49 'label' => t('After saving new content'),
danielebarchiesi@0 50 ),
danielebarchiesi@0 51 'node_update' => array(
danielebarchiesi@0 52 'label' => t('After saving updated content'),
danielebarchiesi@0 53 ),
danielebarchiesi@0 54 'node_delete' => array(
danielebarchiesi@0 55 'label' => t('After deleting content'),
danielebarchiesi@0 56 ),
danielebarchiesi@0 57 'node_view' => array(
danielebarchiesi@0 58 'label' => t('When content is viewed by an authenticated user'),
danielebarchiesi@0 59 ),
danielebarchiesi@0 60 ),
danielebarchiesi@0 61 );
danielebarchiesi@0 62 }
danielebarchiesi@0 63
danielebarchiesi@0 64 /**
danielebarchiesi@0 65 * Alter triggers declared by hook_trigger_info().
danielebarchiesi@0 66 *
danielebarchiesi@0 67 * @param $triggers
danielebarchiesi@0 68 * Array of trigger information returned by hook_trigger_info()
danielebarchiesi@0 69 * implementations. Modify this array in place. See hook_trigger_info()
danielebarchiesi@0 70 * for information on what this might contain.
danielebarchiesi@0 71 */
danielebarchiesi@0 72 function hook_trigger_info_alter(&$triggers) {
danielebarchiesi@0 73 $triggers['node']['node_insert']['label'] = t('When content is saved');
danielebarchiesi@0 74 }
danielebarchiesi@0 75
danielebarchiesi@0 76 /**
danielebarchiesi@0 77 * @} End of "addtogroup hooks".
danielebarchiesi@0 78 */