diff --git a/admin_menu.module b/admin_menu.module index 6fa85f2..d1e45a2 100644 --- a/admin_menu.module +++ b/admin_menu.module @@ -98,6 +98,26 @@ function admin_menu_menu() { 'type' => MENU_CALLBACK, 'file' => 'admin_menu.inc', ); + // Add the create content links. + $items['admin/content/workflow/node_add'] = array( + 'title' => 'Create Content', + 'description' => 'Content Workflow', + 'page callback' => '_admin_menu_add_content', + 'page arguments' => array(NULL), + 'access callback' => '_node_add_access', + ); + foreach(node_type_get_types() as $type){ + $type_url_str = str_replace('_', '-', $type->type); + $items['admin/content/workflow/node_add/' . $type_url_str] = array( + 'title' => $type->name, + 'title callback' => 'check_plain', + 'description' => 'Settings for the proto module.', + 'page callback' => '_admin_menu_add_content', + 'page arguments' => array(4), + 'access callback' => 'node_access', + 'access arguments' => array('create', $type->type), + ); + } return $items; } @@ -601,3 +621,13 @@ function admin_menu_form_devel_admin_settings_alter(&$form, &$form_state) { module_load_include('inc', 'admin_menu'); _admin_menu_form_devel_admin_settings_alter($form, $form_state); } + +/** + * Helper function: redirects to the correct node/add path. + * + * @param string $path + * The content type path. + */ +function _admin_menu_add_content($type_url_str) { + drupal_goto('node/add/' . $type_url_str); +} \ No newline at end of file