admin_menu_source.inc 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. /**
  3. * @file
  4. * Menu callbacks for admin_menu_source module
  5. */
  6. function admin_menu_source_settings() {
  7. $roles = user_roles();
  8. $menus = menu_get_menus();
  9. $default_values = _admin_menu_source_get_settings();
  10. $form['#theme'] = 'admin_menu_source_settings_form';
  11. $form['admin_menu_source_settings'] = array(
  12. '#tree' => TRUE,
  13. '#title' => t('Menu source per role'),
  14. );
  15. foreach ($roles as $rid => $role) {
  16. $form['admin_menu_source_settings'][$rid]['role'] = array(
  17. '#markup' => $role
  18. );
  19. $form['admin_menu_source_settings'][$rid]['source'] = array(
  20. '#type' => 'select',
  21. '#options' => array('' => t('Default')) + $menus,
  22. '#default_value' => isset($default_values[$rid]['source']) ? $default_values[$rid]['source'] : '',
  23. );
  24. }
  25. // Add a custom submit handler.
  26. $form['#submit'][] = 'admin_menu_source_settings_submit';
  27. return system_settings_form($form);
  28. }
  29. function admin_menu_source_settings_submit() {
  30. // Flush admin_menu's cache.
  31. admin_menu_flush_caches();
  32. }