Mercurial > hg > rr-repo
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". + */