123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700 |
- <?php
- function menu_overview_page() {
- $result = db_query("SELECT * FROM {menu_custom} ORDER BY title", array(), array('fetch' => PDO::FETCH_ASSOC));
- $header = array(t('Title'), array('data' => t('Operations'), 'colspan' => '3'));
- $rows = array();
- foreach ($result as $menu) {
- $row = array(theme('menu_admin_overview', array('title' => $menu['title'], 'name' => $menu['menu_name'], 'description' => $menu['description'])));
- $row[] = array('data' => l(t('list links'), 'admin/structure/menu/manage/' . $menu['menu_name']));
- $row[] = array('data' => l(t('edit menu'), 'admin/structure/menu/manage/' . $menu['menu_name'] . '/edit'));
- $row[] = array('data' => l(t('add link'), 'admin/structure/menu/manage/' . $menu['menu_name'] . '/add'));
- $rows[] = $row;
- }
- return theme('table', array('header' => $header, 'rows' => $rows));
- }
- function theme_menu_admin_overview($variables) {
- $output = check_plain($variables['title']);
- $output .= '<div class="description">' . filter_xss_admin($variables['description']) . '</div>';
- return $output;
- }
- function menu_overview_form($form, &$form_state, $menu) {
- global $menu_admin;
- $form['#attached']['css'] = array(drupal_get_path('module', 'menu') . '/menu.css');
- $sql = "
- SELECT m.load_functions, m.to_arg_functions, m.access_callback, m.access_arguments, m.page_callback, m.page_arguments, m.delivery_callback, m.title, m.title_callback, m.title_arguments, m.type, m.description, ml.*
- FROM {menu_links} ml LEFT JOIN {menu_router} m ON m.path = ml.router_path
- WHERE ml.menu_name = :menu
- ORDER BY p1 ASC, p2 ASC, p3 ASC, p4 ASC, p5 ASC, p6 ASC, p7 ASC, p8 ASC, p9 ASC";
- $result = db_query($sql, array(':menu' => $menu['menu_name']), array('fetch' => PDO::FETCH_ASSOC));
- $links = array();
- foreach ($result as $item) {
- $links[] = $item;
- }
- $tree = menu_tree_data($links);
- $node_links = array();
- menu_tree_collect_node_links($tree, $node_links);
-
- $menu_admin = TRUE;
- menu_tree_check_access($tree, $node_links);
- $menu_admin = FALSE;
- $form = array_merge($form, _menu_overview_tree_form($tree));
- $form['#menu'] = $menu;
- if (element_children($form)) {
- $form['actions'] = array('#type' => 'actions');
- $form['actions']['submit'] = array(
- '#type' => 'submit',
- '#value' => t('Save configuration'),
- );
- }
- else {
- $form['#empty_text'] = t('There are no menu links yet. <a href="@link">Add link</a>.', array('@link' => url('admin/structure/menu/manage/'. $form['#menu']['menu_name'] .'/add')));
- }
- return $form;
- }
- function _menu_overview_tree_form($tree) {
- $form = &drupal_static(__FUNCTION__, array('#tree' => TRUE));
- foreach ($tree as $data) {
- $title = '';
- $item = $data['link'];
-
- if ($item && $item['hidden'] >= 0) {
- $mlid = 'mlid:' . $item['mlid'];
- $form[$mlid]['#item'] = $item;
- $form[$mlid]['#attributes'] = $item['hidden'] ? array('class' => array('menu-disabled')) : array('class' => array('menu-enabled'));
- $form[$mlid]['title']['#markup'] = l($item['title'], $item['href'], $item['localized_options']);
- if ($item['hidden']) {
- $form[$mlid]['title']['#markup'] .= ' (' . t('disabled') . ')';
- }
- elseif ($item['link_path'] == 'user' && $item['module'] == 'system') {
- $form[$mlid]['title']['#markup'] .= ' (' . t('logged in users only') . ')';
- }
- $form[$mlid]['hidden'] = array(
- '#type' => 'checkbox',
- '#title' => t('Enable @title menu link', array('@title' => $item['title'])),
- '#title_display' => 'invisible',
- '#default_value' => !$item['hidden'],
- );
- $form[$mlid]['weight'] = array(
- '#type' => 'weight',
- '#delta' => 50,
- '#default_value' => $item['weight'],
- '#title_display' => 'invisible',
- '#title' => t('Weight for @title', array('@title' => $item['title'])),
- );
- $form[$mlid]['mlid'] = array(
- '#type' => 'hidden',
- '#value' => $item['mlid'],
- );
- $form[$mlid]['plid'] = array(
- '#type' => 'hidden',
- '#default_value' => $item['plid'],
- );
-
- $operations = array();
- $operations['edit'] = array('#type' => 'link', '#title' => t('edit'), '#href' => 'admin/structure/menu/item/' . $item['mlid'] . '/edit');
-
- if ($item['module'] == 'menu' || $item['updated'] == 1) {
- $operations['delete'] = array('#type' => 'link', '#title' => t('delete'), '#href' => 'admin/structure/menu/item/' . $item['mlid'] . '/delete');
- }
-
- elseif ($item['module'] == 'system' && $item['customized']) {
- $operations['reset'] = array('#type' => 'link', '#title' => t('reset'), '#href' => 'admin/structure/menu/item/' . $item['mlid'] . '/reset');
- }
- $form[$mlid]['operations'] = $operations;
- }
- if ($data['below']) {
- _menu_overview_tree_form($data['below']);
- }
- }
- return $form;
- }
- function menu_overview_form_submit($form, &$form_state) {
-
-
-
-
-
-
- $order = array_flip(array_keys($form_state['input']));
- $form = array_merge($order, $form);
- $updated_items = array();
- $fields = array('weight', 'plid');
- foreach (element_children($form) as $mlid) {
- if (isset($form[$mlid]['#item'])) {
- $element = $form[$mlid];
-
- foreach ($fields as $field) {
- if ($element[$field]['#value'] != $element[$field]['#default_value']) {
- $element['#item'][$field] = $element[$field]['#value'];
- $updated_items[$mlid] = $element['#item'];
- }
- }
-
- if ($element['hidden']['#value'] != $element['hidden']['#default_value']) {
-
- $element['#item']['hidden'] = $element['hidden']['#value'] ? 0 : 1;
- $updated_items[$mlid] = $element['#item'];
- }
- }
- }
-
- foreach ($updated_items as $item) {
- $item['customized'] = 1;
- menu_link_save($item);
- }
- drupal_set_message(t('Your configuration has been saved.'));
- }
- function theme_menu_overview_form($variables) {
- $form = $variables['form'];
- drupal_add_tabledrag('menu-overview', 'match', 'parent', 'menu-plid', 'menu-plid', 'menu-mlid', TRUE, MENU_MAX_DEPTH - 1);
- drupal_add_tabledrag('menu-overview', 'order', 'sibling', 'menu-weight');
- $header = array(
- t('Menu link'),
- array('data' => t('Enabled'), 'class' => array('checkbox')),
- t('Weight'),
- array('data' => t('Operations'), 'colspan' => '3'),
- );
- $rows = array();
- foreach (element_children($form) as $mlid) {
- if (isset($form[$mlid]['hidden'])) {
- $element = &$form[$mlid];
-
- $operations = array();
- foreach (element_children($element['operations']) as $op) {
- $operations[] = array('data' => drupal_render($element['operations'][$op]), 'class' => array('menu-operations'));
- }
- while (count($operations) < 2) {
- $operations[] = '';
- }
-
- $element['plid']['#attributes']['class'] = array('menu-plid');
- $element['mlid']['#attributes']['class'] = array('menu-mlid');
- $element['weight']['#attributes']['class'] = array('menu-weight');
-
- $element['plid']['#type'] = 'hidden';
- $row = array();
- $row[] = theme('indentation', array('size' => $element['#item']['depth'] - 1)) . drupal_render($element['title']);
- $row[] = array('data' => drupal_render($element['hidden']), 'class' => array('checkbox', 'menu-enabled'));
- $row[] = drupal_render($element['weight']) . drupal_render($element['plid']) . drupal_render($element['mlid']);
- $row = array_merge($row, $operations);
- $row = array_merge(array('data' => $row), $element['#attributes']);
- $row['class'][] = 'draggable';
- $rows[] = $row;
- }
- }
- $output = '';
- if (empty($rows)) {
- $rows[] = array(array('data' => $form['#empty_text'], 'colspan' => '7'));
- }
- $output .= theme('table', array('header' => $header, 'rows' => $rows, 'attributes' => array('id' => 'menu-overview')));
- $output .= drupal_render_children($form);
- return $output;
- }
- function menu_edit_item($form, &$form_state, $type, $item, $menu) {
- if ($type == 'add' || empty($item)) {
-
- $item = array('link_title' => '', 'mlid' => 0, 'plid' => 0, 'menu_name' => $menu['menu_name'], 'weight' => 0, 'link_path' => '', 'options' => array(), 'module' => 'menu', 'expanded' => 0, 'hidden' => 0, 'has_children' => 0);
- }
- else {
-
- $titles = menu_get_menus();
- $current_title = $titles[$item['menu_name']];
-
- $breadcrumb = menu_get_active_breadcrumb();
- $breadcrumb[] = l($current_title, 'admin/structure/menu/manage/' . $item['menu_name']);
- drupal_set_breadcrumb($breadcrumb);
- }
- $form['actions'] = array('#type' => 'actions');
- $form['link_title'] = array(
- '#type' => 'textfield',
- '#title' => t('Menu link title'),
- '#default_value' => $item['link_title'],
- '#description' => t('The text to be used for this link in the menu.'),
- '#required' => TRUE,
- );
- foreach (array('link_path', 'mlid', 'module', 'has_children', 'options') as $key) {
- $form[$key] = array('#type' => 'value', '#value' => $item[$key]);
- }
-
- $form['customized'] = array('#type' => 'value', '#value' => 1);
- $form['original_item'] = array('#type' => 'value', '#value' => $item);
- $path = $item['link_path'];
- if (isset($item['options']['query'])) {
- $path .= '?' . drupal_http_build_query($item['options']['query']);
- }
- if (isset($item['options']['fragment'])) {
- $path .= '#' . $item['options']['fragment'];
- }
- if ($item['module'] == 'menu') {
- $form['link_path'] = array(
- '#type' => 'textfield',
- '#title' => t('Path'),
- '#maxlength' => 255,
- '#default_value' => $path,
- '#description' => t('The path for this menu link. This can be an internal Drupal path such as %add-node or an external URL such as %drupal. Enter %front to link to the front page.', array('%front' => '<front>', '%add-node' => 'node/add', '%drupal' => 'http://drupal.org')),
- '#required' => TRUE,
- );
- $form['actions']['delete'] = array(
- '#type' => 'submit',
- '#value' => t('Delete'),
- '#access' => $item['mlid'],
- '#submit' => array('menu_item_delete_submit'),
- '#weight' => 10,
- );
- }
- else {
- $form['_path'] = array(
- '#type' => 'item',
- '#title' => t('Path'),
- '#description' => l($item['link_title'], $item['href'], $item['options']),
- );
- }
- $form['description'] = array(
- '#type' => 'textarea',
- '#title' => t('Description'),
- '#default_value' => isset($item['options']['attributes']['title']) ? $item['options']['attributes']['title'] : '',
- '#rows' => 1,
- '#description' => t('Shown when hovering over the menu link.'),
- );
- $form['enabled'] = array(
- '#type' => 'checkbox',
- '#title' => t('Enabled'),
- '#default_value' => !$item['hidden'],
- '#description' => t('Menu links that are not enabled will not be listed in any menu.'),
- );
- $form['expanded'] = array(
- '#type' => 'checkbox',
- '#title' => t('Show as expanded'),
- '#default_value' => $item['expanded'],
- '#description' => t('If selected and this menu link has children, the menu will always appear expanded.'),
- );
-
- $options = menu_parent_options(menu_get_menus(), $item);
- $default = $item['menu_name'] . ':' . $item['plid'];
- if (!isset($options[$default])) {
- $default = 'navigation:0';
- }
- $form['parent'] = array(
- '#type' => 'select',
- '#title' => t('Parent link'),
- '#default_value' => $default,
- '#options' => $options,
- '#description' => t('The maximum depth for a link and all its children is fixed at !maxdepth. Some menu links may not be available as parents if selecting them would exceed this limit.', array('!maxdepth' => MENU_MAX_DEPTH)),
- '#attributes' => array('class' => array('menu-title-select')),
- );
- $form['weight'] = array(
- '#type' => 'weight',
- '#title' => t('Weight'),
- '#delta' => 50,
- '#default_value' => $item['weight'],
- '#description' => t('Optional. In the menu, the heavier links will sink and the lighter links will be positioned nearer the top.'),
- );
- $form['actions']['submit'] = array('#type' => 'submit', '#value' => t('Save'));
- return $form;
- }
- function menu_edit_item_validate($form, &$form_state) {
- $item = &$form_state['values'];
- $normal_path = drupal_get_normal_path($item['link_path']);
- if ($item['link_path'] != $normal_path) {
- drupal_set_message(t('The menu system stores system paths only, but will use the URL alias for display. %link_path has been stored as %normal_path', array('%link_path' => $item['link_path'], '%normal_path' => $normal_path)));
- $item['link_path'] = $normal_path;
- }
- if (!url_is_external($item['link_path'])) {
- $parsed_link = parse_url($item['link_path']);
- if (isset($parsed_link['query'])) {
- $item['options']['query'] = drupal_get_query_array($parsed_link['query']);
- }
- else {
-
-
- unset($item['options']['query']);
- }
- if (isset($parsed_link['fragment'])) {
- $item['options']['fragment'] = $parsed_link['fragment'];
- }
- else {
- unset($item['options']['fragment']);
- }
- if (isset($parsed_link['path']) && $item['link_path'] != $parsed_link['path']) {
- $item['link_path'] = $parsed_link['path'];
- }
- }
- if (!trim($item['link_path']) || !drupal_valid_path($item['link_path'], TRUE)) {
- form_set_error('link_path', t("The path '@link_path' is either invalid or you do not have access to it.", array('@link_path' => $item['link_path'])));
- }
- }
- function menu_item_delete_submit($form, &$form_state) {
- $form_state['redirect'] = 'admin/structure/menu/item/' . $form_state['values']['mlid'] . '/delete';
- }
- function menu_edit_item_submit($form, &$form_state) {
- $item = &$form_state['values'];
-
-
- $item['hidden'] = (int) !$item['enabled'];
- unset($item['enabled']);
- $item['options']['attributes']['title'] = $item['description'];
- list($item['menu_name'], $item['plid']) = explode(':', $item['parent']);
- if (!menu_link_save($item)) {
- drupal_set_message(t('There was an error saving the menu link.'), 'error');
- }
- else {
- drupal_set_message(t('Your configuration has been saved.'));
- }
- $form_state['redirect'] = 'admin/structure/menu/manage/' . $item['menu_name'];
- }
- function menu_edit_menu($form, &$form_state, $type, $menu = array()) {
- $system_menus = menu_list_system_menus();
- $menu += array(
- 'menu_name' => '',
- 'old_name' => !empty($menu['menu_name']) ? $menu['menu_name'] : '',
- 'title' => '',
- 'description' => '',
- );
-
-
- $form['#insert'] = empty($menu['old_name']);
- $form['old_name'] = array(
- '#type' => 'value',
- '#value' => $menu['old_name'],
- );
- $form['title'] = array(
- '#type' => 'textfield',
- '#title' => t('Title'),
- '#default_value' => $menu['title'],
- '#required' => TRUE,
-
- '#access' => !isset($system_menus[$menu['menu_name']]),
- );
- $form['menu_name'] = array(
- '#type' => 'machine_name',
- '#title' => t('Menu name'),
- '#default_value' => $menu['menu_name'],
- '#maxlength' => MENU_MAX_MENU_NAME_LENGTH_UI,
- '#description' => t('A unique name to construct the URL for the menu. It must only contain lowercase letters, numbers and hyphens.'),
- '#machine_name' => array(
- 'exists' => 'menu_edit_menu_name_exists',
- 'source' => array('title'),
- 'replace_pattern' => '[^a-z0-9-]+',
- 'replace' => '-',
- ),
-
- '#disabled' => !empty($menu['old_name']) || isset($system_menus[$menu['menu_name']]),
- );
- $form['description'] = array(
- '#type' => 'textarea',
- '#title' => t('Description'),
- '#default_value' => $menu['description'],
- );
- $form['actions'] = array('#type' => 'actions');
- $form['actions']['submit'] = array(
- '#type' => 'submit',
- '#value' => t('Save'),
- );
-
- $form['actions']['delete'] = array(
- '#type' => 'submit',
- '#value' => t('Delete'),
- '#access' => $type == 'edit' && !isset($system_menus[$menu['menu_name']]),
- '#submit' => array('menu_custom_delete_submit'),
- );
- return $form;
- }
- function menu_custom_delete_submit($form, &$form_state) {
- $form_state['redirect'] = 'admin/structure/menu/manage/' . $form_state['values']['menu_name'] . '/delete';
- }
- function menu_delete_menu_page($menu) {
-
- $system_menus = menu_list_system_menus();
- if (isset($system_menus[$menu['menu_name']])) {
- return MENU_ACCESS_DENIED;
- }
- return drupal_get_form('menu_delete_menu_confirm', $menu);
- }
- function menu_delete_menu_confirm($form, &$form_state, $menu) {
- $form['#menu'] = $menu;
- $caption = '';
- $num_links = db_query("SELECT COUNT(*) FROM {menu_links} WHERE menu_name = :menu", array(':menu' => $menu['menu_name']))->fetchField();
- if ($num_links) {
- $caption .= '<p>' . format_plural($num_links, '<strong>Warning:</strong> There is currently 1 menu link in %title. It will be deleted (system-defined items will be reset).', '<strong>Warning:</strong> There are currently @count menu links in %title. They will be deleted (system-defined links will be reset).', array('%title' => $menu['title'])) . '</p>';
- }
- $caption .= '<p>' . t('This action cannot be undone.') . '</p>';
- return confirm_form($form, t('Are you sure you want to delete the custom menu %title?', array('%title' => $menu['title'])), 'admin/structure/menu/manage/' . $menu['menu_name'], $caption, t('Delete'));
- }
- function menu_delete_menu_confirm_submit($form, &$form_state) {
- $menu = $form['#menu'];
- $form_state['redirect'] = 'admin/structure/menu';
-
- $system_menus = menu_list_system_menus();
- if (isset($system_menus[$menu['menu_name']]) || !(db_query("SELECT 1 FROM {menu_custom} WHERE menu_name = :menu", array(':menu' => $menu['menu_name']))->fetchField())) {
- return;
- }
-
- $result = db_query("SELECT * FROM {menu_links} ml INNER JOIN {menu_router} m ON ml.router_path = m.path WHERE ml.menu_name = :menu AND ml.module = 'system' ORDER BY m.number_parts ASC", array(':menu' => $menu['menu_name']), array('fetch' => PDO::FETCH_ASSOC));
- foreach ($result as $link) {
- menu_reset_item($link);
- }
-
- $result = db_query("SELECT mlid FROM {menu_links} ml WHERE ml.link_path = :link", array(':link' => 'admin/structure/menu/manage/' . $menu['menu_name']), array('fetch' => PDO::FETCH_ASSOC));
- foreach ($result as $link) {
- menu_link_delete($link['mlid']);
- }
-
- menu_delete($menu);
- $t_args = array('%title' => $menu['title']);
- drupal_set_message(t('The custom menu %title has been deleted.', $t_args));
- watchdog('menu', 'Deleted custom menu %title and all its menu links.', $t_args, WATCHDOG_NOTICE);
- }
- function menu_edit_menu_name_exists($value) {
-
- $value = 'menu-' . $value;
- $custom_exists = db_query_range('SELECT 1 FROM {menu_custom} WHERE menu_name = :menu', 0, 1, array(':menu' => $value))->fetchField();
- $link_exists = db_query_range("SELECT 1 FROM {menu_links} WHERE menu_name = :menu", 0, 1, array(':menu' => $value))->fetchField();
- return $custom_exists || $link_exists;
- }
- function menu_edit_menu_submit($form, &$form_state) {
- $menu = $form_state['values'];
- $path = 'admin/structure/menu/manage/';
- if ($form['#insert']) {
-
- $menu['menu_name'] = 'menu-' . $menu['menu_name'];
- $link['link_title'] = $menu['title'];
- $link['link_path'] = $path . $menu['menu_name'];
- $link['router_path'] = $path . '%';
- $link['module'] = 'menu';
- $link['plid'] = db_query("SELECT mlid FROM {menu_links} WHERE link_path = :link AND module = :module", array(
- ':link' => 'admin/structure/menu',
- ':module' => 'system'
- ))
- ->fetchField();
- menu_link_save($link);
- menu_save($menu);
- }
- else {
- menu_save($menu);
- $result = db_query("SELECT mlid FROM {menu_links} WHERE link_path = :path", array(':path' => $path . $menu['menu_name']), array('fetch' => PDO::FETCH_ASSOC));
- foreach ($result as $m) {
- $link = menu_link_load($m['mlid']);
- $link['link_title'] = $menu['title'];
- menu_link_save($link);
- }
- }
- drupal_set_message(t('Your configuration has been saved.'));
- $form_state['redirect'] = $path . $menu['menu_name'];
- }
- function menu_item_delete_page($item) {
-
-
- if ($item['module'] == 'system' && !$item['updated']) {
- return MENU_ACCESS_DENIED;
- }
- return drupal_get_form('menu_item_delete_form', $item);
- }
- function menu_item_delete_form($form, &$form_state, $item) {
- $form['#item'] = $item;
- return confirm_form($form, t('Are you sure you want to delete the custom menu link %item?', array('%item' => $item['link_title'])), 'admin/structure/menu/manage/' . $item['menu_name']);
- }
- function menu_item_delete_form_submit($form, &$form_state) {
- $item = $form['#item'];
- menu_link_delete($item['mlid']);
- $t_args = array('%title' => $item['link_title']);
- drupal_set_message(t('The menu link %title has been deleted.', $t_args));
- watchdog('menu', 'Deleted menu link %title.', $t_args, WATCHDOG_NOTICE);
- $form_state['redirect'] = 'admin/structure/menu/manage/' . $item['menu_name'];
- }
- function menu_reset_item_confirm($form, &$form_state, $item) {
- $form['item'] = array('#type' => 'value', '#value' => $item);
- return confirm_form($form, t('Are you sure you want to reset the link %item to its default values?', array('%item' => $item['link_title'])), 'admin/structure/menu/manage/' . $item['menu_name'], t('Any customizations will be lost. This action cannot be undone.'), t('Reset'));
- }
- function menu_reset_item_confirm_submit($form, &$form_state) {
- $item = $form_state['values']['item'];
- $new_item = menu_reset_item($item);
- drupal_set_message(t('The menu link was reset to its default settings.'));
- $form_state['redirect'] = 'admin/structure/menu/manage/' . $new_item['menu_name'];
- }
- function menu_configure() {
- $form['intro'] = array(
- '#type' => 'item',
- '#markup' => t('The menu module allows on-the-fly creation of menu links in the content authoring forms. To configure these settings for a particular content type, visit the <a href="@content-types">Content types</a> page, click the <em>edit</em> link for the content type, and go to the <em>Menu settings</em> section.', array('@content-types' => url('admin/structure/types'))),
- );
- $menu_options = menu_get_menus();
- $main = variable_get('menu_main_links_source', 'main-menu');
- $form['menu_main_links_source'] = array(
- '#type' => 'select',
- '#title' => t('Source for the Main links'),
- '#default_value' => variable_get('menu_main_links_source', 'main-menu'),
- '#empty_option' => t('No Main links'),
- '#options' => $menu_options,
- '#tree' => FALSE,
- '#description' => t('Select what should be displayed as the Main links (typically at the top of the page).'),
- );
- $form['menu_secondary_links_source'] = array(
- '#type' => 'select',
- '#title' => t('Source for the Secondary links'),
- '#default_value' => variable_get('menu_secondary_links_source', 'user-menu'),
- '#empty_option' => t('No Secondary links'),
- '#options' => $menu_options,
- '#tree' => FALSE,
- '#description' => t('Select the source for the Secondary links. An advanced option allows you to use the same source for both Main links (currently %main) and Secondary links: if your source menu has two levels of hierarchy, the top level menu links will appear in the Main links, and the children of the active link will appear in the Secondary links.', array('%main' => $main ? $menu_options[$main] : t('none'))),
- );
- return system_settings_form($form);
- }
|