Mercurial > hg > rr-repo
diff sites/all/modules/admin_menu/admin_devel/admin_devel.module @ 4:ce11bbd8f642
added modules
author | danieleb <danielebarchiesi@me.com> |
---|---|
date | Thu, 19 Sep 2013 10:38:44 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sites/all/modules/admin_menu/admin_devel/admin_devel.module Thu Sep 19 10:38:44 2013 +0100 @@ -0,0 +1,33 @@ +<?php + +/** + * @file + * Administration and debugging functionality for developers and site builders. + */ + +/** + * Implements hook_form_FORMID_alter(). + */ +function admin_devel_form_admin_menu_theme_settings_alter(&$form, &$form_state) { + $form['actions']['wipe_rebuild'] = array( + '#type' => 'submit', + '#value' => t('Rebuild system links'), + '#submit' => array('admin_devel_form_admin_menu_theme_settings_alter_rebuild_submit'), + // @todo Not necessarily ready for mass-consumption yet. + '#access' => FALSE, + ); +} + +/** + * Form submit handler to wipe and rebuild all 'module' = 'system' menu links. + */ +function admin_devel_form_admin_menu_theme_settings_alter_rebuild_submit($form, &$form_state) { + // Delete all auto-generated menu links derived from menu router items. + db_delete('menu_links') + ->condition('module', 'system') + ->execute(); + // Rebuild menu links from current menu router items. + menu_rebuild(); + + drupal_set_message(t('System links derived from menu router paths have been rebuilt.')); +}