diff modules/menu/menu.api.php @ 0:ff03f76ab3fe

initial version
author danieleb <danielebarchiesi@me.com>
date Wed, 21 Aug 2013 18:51:11 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/menu/menu.api.php	Wed Aug 21 18:51:11 2013 +0100
@@ -0,0 +1,87 @@
+<?php
+
+/**
+ * @file
+ * Hooks provided by the Menu module.
+ */
+
+/**
+ * @addtogroup hooks
+ * @{
+ */
+
+/**
+ * Respond to a custom menu creation.
+ *
+ * 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);
+}
+
+/**
+ * Respond to a custom menu update.
+ *
+ * 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);
+}
+
+/**
+ * Respond to a custom menu deletion.
+ *
+ * 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 $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_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".
+ */