? .dashboard.module.swp Index: dashboard.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/dashboard/dashboard.module,v retrieving revision 1.17 diff -u -F^f -r1.17 dashboard.module --- dashboard.module 10 Apr 2009 23:29:13 -0000 1.17 +++ dashboard.module 11 Apr 2009 02:06:27 -0000 @@ -10,52 +10,7 @@ function dashboard_menu() { } } - return array( - 'dashboard' => array( - 'title callback' => 'dashboard_page_title', - 'page callback' => 'dashboard_page', - 'access arguments' => array('access user dashboard'), - 'type' => MENU_CALLBACK, - 'file' => 'dashboard.page.inc', - ), - 'dashboard/%dashboard_user_page' => array( - 'title callback' => 'dashboard_page_title', - 'page callback' => 'dashboard_page', - 'page arguments' => array(1), - 'access arguments' => array('access user dashboard'), - 'type' => MENU_CALLBACK, - 'file' => 'dashboard.page.inc', - ), - 'dashboard/%dashboard_user_page/reorder-pages' => array( - 'page callback' => 'dashboard_page_reorder', - 'access callback' => 'dashboard_valid_token', - 'access arguments' => array(1), - 'type' => MENU_CALLBACK, - 'file' => 'dashboard.page.inc', - ), - 'dashboard/%dashboard_user_page/reorder-gadgets' => array( - 'page callback' => 'dashboard_gadget_reorder', - 'page arguments' => array(1), - 'access callback' => 'dashboard_valid_token', - 'access arguments' => array(1), - 'type' => MENU_CALLBACK, - 'file' => 'dashboard.page.inc', - ), - 'dashboard/%dashboard_user_page/remove-gadget' => array( - 'page callback' => 'dashboard_gadget_remove', - 'access callback' => 'dashboard_valid_token', - 'access arguments' => array(1), - 'type' => MENU_CALLBACK, - 'file' => 'dashboard.page.inc', - ), - 'dashboard/%dashboard_user_page/rename' => array( - 'page callback' => 'dashboard_page_rename', - 'page arguments' => array(1), - 'access arguments' => array('access user dashboard'), - 'type' => MENU_CALLBACK, - 'file' => 'dashboard.page.inc', - ), - + $items = array( 'admin/settings/dashboard' => array( 'title' => t('Dashboard'), 'page callback' => 'drupal_get_form', @@ -65,6 +20,65 @@ function dashboard_menu() { 'file' => 'dashboard.admin.inc', ), ); + + foreach (module_invoke_all('dashboard') as $type => $info) { + $items += array( + $info['path'] => array( + 'title callback' => 'dashboard_page_title', + 'page callback' => 'dashboard_page', + 'access arguments' => array('access user dashboard'), + 'type' => MENU_CALLBACK, + 'file' => 'dashboard.page.inc', + ), + $info['path'] .'/%dashboard_user_page' => array( + 'title callback' => 'dashboard_page_title', + 'page callback' => 'dashboard_page', + 'page arguments' => array(1), + 'access arguments' => array('access user dashboard'), + 'type' => MENU_CALLBACK, + 'file' => 'dashboard.page.inc', + ), + $info['path'] .'/%dashboard_user_page/reorder-pages' => array( + 'page callback' => 'dashboard_page_reorder', + 'access callback' => 'dashboard_valid_token', + 'access arguments' => array(1), + 'type' => MENU_CALLBACK, + 'file' => 'dashboard.page.inc', + ), + $info['path'] .'/%dashboard_user_page/reorder-gadgets' => array( + 'page callback' => 'dashboard_gadget_reorder', + 'page arguments' => array(1), + 'access callback' => 'dashboard_valid_token', + 'access arguments' => array(1), + 'type' => MENU_CALLBACK, + 'file' => 'dashboard.page.inc', + ), + $info['path'] .'/%dashboard_user_page/remove-gadget' => array( + 'page callback' => 'dashboard_gadget_remove', + 'access callback' => 'dashboard_valid_token', + 'access arguments' => array(1), + 'type' => MENU_CALLBACK, + 'file' => 'dashboard.page.inc', + ), + $info['path'] .'/%dashboard_user_page/rename' => array( + 'page callback' => 'dashboard_page_rename', + 'page arguments' => array(1), + 'access arguments' => array('access user dashboard'), + 'type' => MENU_CALLBACK, + 'file' => 'dashboard.page.inc', + ), + ); + } + + return $items; +} + +function dashboard_dashboard() { + return array( + 'user' => array( + 'path' => 'dashboard', + ), + ); } function dashboard_init() {