root / drupal7 / modules / menu / menu.api.php @ 76597ebf
1 | 85ad3d82 | Assos Assos | <?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 | */ |