File: trigger.api.php

package info (click to toggle)
drupal7 7.14-2%2Bdeb7u12
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 24,516 kB
  • sloc: php: 42,979; pascal: 39,064; sh: 1,622; xml: 441; makefile: 14; sql: 1
file content (78 lines) | stat: -rw-r--r-- 2,685 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
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".
 */