function devel_generate_menu_form in Devel 7
Generates menus using FormAPI.
1 string reference to 'devel_generate_menu_form'
- devel_generate_menu in devel_generate/
devel_generate.module - Implements hook_menu().
File
- devel_generate/
devel_generate.module, line 419
Code
function devel_generate_menu_form() {
$menu_enabled = module_exists('menu');
if ($menu_enabled) {
$menus = array(
'__new-menu__' => t('Create new menu(s)'),
) + menu_get_menus();
}
else {
$menus = menu_list_system_menus();
}
$form['existing_menus'] = array(
'#type' => 'checkboxes',
'#title' => t('Generate links for these menus'),
'#options' => $menus,
'#default_value' => array(
'__new-menu__',
),
'#required' => TRUE,
);
if ($menu_enabled) {
$form['num_menus'] = array(
'#type' => 'textfield',
'#title' => t('Number of new menus to create'),
'#default_value' => 2,
'#size' => 10,
'#states' => array(
'visible' => array(
':input[name="existing_menus[__new-menu__]"]' => array(
'checked' => TRUE,
),
),
),
);
}
$form['num_links'] = array(
'#type' => 'textfield',
'#title' => t('Number of links to generate'),
'#default_value' => 50,
'#size' => 10,
'#required' => TRUE,
);
$form['title_length'] = array(
'#type' => 'textfield',
'#title' => t('Maximum number of characters in menu and menu link names'),
'#description' => t("The minimum length is 2."),
'#default_value' => 12,
'#size' => 10,
'#required' => TRUE,
);
$form['link_types'] = array(
'#type' => 'checkboxes',
'#title' => t('Types of links to generate'),
'#options' => array(
'node' => t('Nodes'),
'front' => t('Front page'),
'external' => t('External'),
),
'#default_value' => array(
'node',
'front',
'external',
),
'#required' => TRUE,
);
$form['max_depth'] = array(
'#type' => 'select',
'#title' => t('Maximum link depth'),
'#options' => range(0, MENU_MAX_DEPTH),
'#default_value' => floor(MENU_MAX_DEPTH / 2),
'#required' => TRUE,
);
unset($form['max_depth']['#options'][0]);
$form['max_width'] = array(
'#type' => 'textfield',
'#title' => t('Maximum menu width'),
'#default_value' => 6,
'#size' => 10,
'#description' => t("Limit the width of the generated menu's first level of links to a certain number of items."),
'#required' => TRUE,
);
$form['kill'] = array(
'#type' => 'checkbox',
'#title' => t('Delete existing custom generated menus and menu links before generating new ones.'),
'#default_value' => FALSE,
);
$form['actions'] = array(
'#type' => 'actions',
);
$form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => t('Generate'),
);
return $form;
}