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