summaryrefslogtreecommitdiff
path: root/modules/menu/menu.api.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules/menu/menu.api.php')
-rw-r--r--modules/menu/menu.api.php74
1 files changed, 73 insertions, 1 deletions
diff --git a/modules/menu/menu.api.php b/modules/menu/menu.api.php
index 80cd58df4..599a4a124 100644
--- a/modules/menu/menu.api.php
+++ b/modules/menu/menu.api.php
@@ -291,7 +291,7 @@ function hook_translated_menu_link_alter(&$item, $map) {
}
}
- /**
+/**
* Inform modules that a menu link has been created.
*
* This hook is used to notify modules that menu items have been
@@ -358,5 +358,77 @@ function hook_menu_link_delete($link) {
}
/**
+ * Informs modules that a custom menu was created.
+ *
+ * This hook is used to notify modules that a custom menu has been created.
+ * Contributed modules may use the information to perform actions based on the
+ * information entered into the menu system.
+ *
+ * @param $menu
+ * An array representing a custom menu:
+ * - menu_name: The unique name of the custom menu.
+ * - title: The human readable menu title.
+ * - description: The custom menu description.
+ *
+ * @see hook_menu_update()
+ * @see hook_menu_delete()
+ */
+function hook_menu_insert($menu) {
+ // For example, we track available menus in a variable.
+ $my_menus = variable_get('my_module_menus', array());
+ $my_menus[$menu['menu_name']] = $menu['menu_name'];
+ variable_set('my_module_menus', $my_menus);
+}
+
+/**
+ * Informs modules that a custom menu was updated.
+ *
+ * This hook is used to notify modules that a custom menu has been updated.
+ * Contributed modules may use the information to perform actions based on the
+ * information entered into the menu system.
+ *
+ * @param $menu
+ * An array representing a custom menu:
+ * - menu_name: The unique name of the custom menu.
+ * - title: The human readable menu title.
+ * - description: The custom menu description.
+ * - old_name: The current 'menu_name'. Note that internal menu names cannot
+ * be changed after initial creation.
+ *
+ * @see hook_menu_insert()
+ * @see hook_menu_delete()
+ */
+function hook_menu_update($menu) {
+ // For example, we track available menus in a variable.
+ $my_menus = variable_get('my_module_menus', array());
+ $my_menus[$menu['menu_name']] = $menu['menu_name'];
+ variable_set('my_module_menus', $my_menus);
+}
+
+/**
+ * Informs modules that a custom menu was deleted.
+ *
+ * This hook is used to notify modules that a custom menu along with all links
+ * contained in it (if any) has been deleted. Contributed modules may use the
+ * information to perform actions based on the information entered into the menu
+ * system.
+ *
+ * @param $link
+ * An array representing a custom menu:
+ * - menu_name: The unique name of the custom menu.
+ * - title: The human readable menu title.
+ * - description: The custom menu description.
+ *
+ * @see hook_menu_insert()
+ * @see hook_menu_update()
+ */
+function hook_menu_delete($menu) {
+ // Delete the record from our variable.
+ $my_menus = variable_get('my_module_menus', array());
+ unset($my_menus[$menu['menu_name']]);
+ variable_set('my_module_menus', $my_menus);
+}
+
+/**
* @} End of "addtogroup hooks".
*/