function power_menu_configuration_form in Power Menu 7.2
Form definition for Powe Menu configuration.
1 string reference to 'power_menu_configuration_form'
- power_menu_menu in ./
power_menu.module - Implements hook_menu().
File
- ./
power_menu.admin.inc, line 12 - This contains all the admin stuff of the module
Code
function power_menu_configuration_form() {
// Description for power menu settings page
// We're re-using classes from the menu module.
$form['#attached']['css'] = array(
drupal_get_path('module', 'menu') . '/menu.css',
);
$form['handlers'] = array(
'#type' => 'fieldset',
'#title' => t('Handler settings'),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
);
$menus = menu_get_menus();
$form['handlers']['menus'] = array(
'#type' => 'checkboxes',
'#options' => $menus,
'#title' => t('Availabe Menus'),
'#default_value' => variable_get('power_menu_handlers_menus', array()),
'#description' => t('Choose the menus on which the path sould set.'),
);
$form['handlers']['breadcrumb'] = array(
'#type' => 'fieldset',
'#title' => t('Breadcrumb settings'),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
);
$form['handlers']['breadcrumb']['set_breadcrumb'] = array(
'#type' => 'checkbox',
'#title' => t('Set breadcrumb'),
'#default_value' => variable_get('power_menu_handlers_breadcrumb', TRUE),
'#description' => t('Should the power menu also set the breadcrumb. This works only when the system path is used in a menu.'),
);
$form['handlers']['breadcrumb']['set_breadcrumb_title'] = array(
'#type' => 'checkbox',
'#title' => t('Add title to breadcrumb'),
'#default_value' => variable_get('power_menu_handlers_breadcrumb_title', TRUE),
'#description' => t('Display title in breadcrumbs. This works only when the entity has a title attribute ($entity->title).'),
);
$settings = variable_get('power_menu_handlers_settings', array());
// Get the menu_handlers plugins
$handlers = power_menu_get_menu_handlers();
$delta = count($handlers);
// Default message if no handlers.
if ($delta == 0) {
$form['handlers']['handlers_order'] = array(
'#markup' => '<p>' . t('No power menu menu_handlers plugins exists!') . '</p>',
);
}
else {
$form['handlers']['handlers_order'] = array(
'#tree' => TRUE,
'#theme' => 'power_menu_plugins_order',
);
foreach ($handlers as $key => $handler) {
$form['handlers']['handlers_order'][$key] = array(
'title' => array(
'#markup' => '<strong>' . check_plain($handler['title']) . '</strong>',
),
'description' => array(
'#markup' => check_plain($handler['description']),
),
'enabled' => array(
'#type' => 'checkbox',
'#default_value' => isset($settings[$key]['enabled']) ? $settings[$key]['enabled'] : FALSE,
),
'weight' => array(
'#type' => 'weight',
'#default_value' => isset($settings[$key]['weight']) ? $settings[$key]['weight'] : 0,
'#delta' => max($delta, 5),
'#id' => 'edit-handler-' . $key,
),
);
// Add edit link
if ($handler['has edit form']) {
$form['handlers']['handlers_order'][$key]['operations'] = array(
'edit-link' => array(
'#type' => 'link',
'#title' => t('edit'),
'#href' => 'admin/config/search/power_menu/handler/edit/' . $key,
),
);
}
else {
$form['handlers']['handlers_order'][$key]['operations'] = array(
'edit-link' => array(
'#type' => 'markup',
),
);
}
}
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
);
}
return $form;
}