Project

General

Profile

Paste
Download (2.52 KB) Statistics
| Branch: | Revision:

root / drupal7 / modules / menu / menu.api.php @ 27e02aed

1
<?php
2

    
3
/**
4
 * @file
5
 * Hooks provided by the Menu module.
6
 */
7

    
8
/**
9
 * @addtogroup hooks
10
 * @{
11
 */
12

    
13
/**
14
 * Respond to a custom menu creation.
15
 *
16
 * This hook is used to notify modules that a custom menu has been created.
17
 * Contributed modules may use the information to perform actions based on the
18
 * information entered into the menu system.
19
 *
20
 * @param $menu
21
 *   An array representing a custom menu:
22
 *   - menu_name: The unique name of the custom menu.
23
 *   - title: The human readable menu title.
24
 *   - description: The custom menu description.
25
 *
26
 * @see hook_menu_update()
27
 * @see hook_menu_delete()
28
 */
29
function hook_menu_insert($menu) {
30
  // For example, we track available menus in a variable.
31
  $my_menus = variable_get('my_module_menus', array());
32
  $my_menus[$menu['menu_name']] = $menu['menu_name'];
33
  variable_set('my_module_menus', $my_menus);
34
}
35

    
36
/**
37
 * Respond to a custom menu update.
38
 *
39
 * This hook is used to notify modules that a custom menu has been updated.
40
 * Contributed modules may use the information to perform actions based on the
41
 * information entered into the menu system.
42
 *
43
 * @param $menu
44
 *   An array representing a custom menu:
45
 *   - menu_name: The unique name of the custom menu.
46
 *   - title: The human readable menu title.
47
 *   - description: The custom menu description.
48
 *   - old_name: The current 'menu_name'. Note that internal menu names cannot
49
 *     be changed after initial creation.
50
 *
51
 * @see hook_menu_insert()
52
 * @see hook_menu_delete()
53
 */
54
function hook_menu_update($menu) {
55
  // For example, we track available menus in a variable.
56
  $my_menus = variable_get('my_module_menus', array());
57
  $my_menus[$menu['menu_name']] = $menu['menu_name'];
58
  variable_set('my_module_menus', $my_menus);
59
}
60

    
61
/**
62
 * Respond to a custom menu deletion.
63
 *
64
 * This hook is used to notify modules that a custom menu along with all links
65
 * contained in it (if any) has been deleted. Contributed modules may use the
66
 * information to perform actions based on the information entered into the menu
67
 * system.
68
 *
69
 * @param $menu
70
 *   An array representing a custom menu:
71
 *   - menu_name: The unique name of the custom menu.
72
 *   - title: The human readable menu title.
73
 *   - description: The custom menu description.
74
 *
75
 * @see hook_menu_insert()
76
 * @see hook_menu_update()
77
 */
78
function hook_menu_delete($menu) {
79
  // Delete the record from our variable.
80
  $my_menus = variable_get('my_module_menus', array());
81
  unset($my_menus[$menu['menu_name']]);
82
  variable_set('my_module_menus', $my_menus);
83
}
84

    
85
/**
86
 * @} End of "addtogroup hooks".
87
 */