Commit | Line | Data |
---|---|---|
7f254ad8 AE |
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 | */ |