function popup_breadcrumb_settings in Popup 6.x
1 string reference to 'popup_breadcrumb_settings'
- popup_breadcrumb_menu in modules/
popup_breadcrumb/ popup_breadcrumb.module - Implementation of hook_menu
File
- modules/
popup_breadcrumb/ includes/ popup_breadcrumb.admin.inc, line 9
Code
function popup_breadcrumb_settings($form_state) {
drupal_add_css(drupal_get_path('module', 'popup_ui') . '/popup-ui.css');
module_load_include('inc', 'popup_ui', 'includes/popup_ui.api');
module_load_include('inc', 'popup_ui', 'includes/popup_ui.admin');
$form = array(
'#tree' => TRUE,
);
$settings = _popup_breadcrumb_settings();
$views = views_get_all_views();
$views = array_keys(array_filter($views, '_popup_breadcrumb_view_enabled'));
$view_options = array_combine($views, $views);
$arguments = range(1, substr_count($settings['argument-template'], '%'));
$argument_options = array_combine($arguments, $arguments);
$format_options = array_keys(_popup_ui_formatter_settings());
array_unshift($format_options, 'Default');
$display_format_options = array_combine($format_options, $format_options);
$form['popup-breadcrumb-argument-template'] = array(
'#default_value' => $settings['argument-template'],
'#description' => 'Arguments my be represented with % eg. my/path/<strong>%</strong>/string/<strong>%</strong> or node/<strong>%</strong>',
'#title' => 'Argument path template',
'#type' => 'textfield',
'#weight' => -3,
);
$form['popup-breadcrumb-argument-alias'] = array(
'#default_value' => $settings['argument-alias'],
'#title' => 'Get arguments from the path alias',
'#type' => 'checkbox',
'#weight' => -3,
);
$form['popup-breadcrumb-append-title'] = array(
'#default_value' => $settings['append-title'],
'#title' => 'Append the breadcrumb with the page title',
'#type' => 'checkbox',
'#weight' => -3,
);
$form['popup-breadcrumb-home-link'] = array(
'#default_value' => $settings['home-link'],
'#title' => 'Prefix the breadcrumb with a link to the homepage',
'#type' => 'checkbox',
'#weight' => -3,
);
$form['popup-breadcrumb-format'] = array(
'#default_value' => $settings['format'],
'#title' => 'Display format',
'#type' => 'select',
'#options' => $display_format_options,
'#description' => t('Select the format in which to display popups. You may manage popup formats !here.', array(
'!here' => l('here', 'admin/settings/popup/formats'),
)),
'#weight' => -2,
);
$form['rows'] = array();
if (count($settings['views'])) {
foreach ($settings['views'] as $name => $view_data) {
$view = views_get_view($view_data['view']);
$display_keys = $view ? array_keys($view->display) : array(
'default',
);
$display_options = array_combine($display_keys, $display_keys);
$form['rows'][$name] = _popup_breadcrumb_row($name, $view_data, array(
'views' => $view_options,
'displays' => $display_options,
'arguments' => $argument_options,
));
$weight = $view_data['weight'] + 1;
}
}
$form['rows']['new'] = _popup_breadcrumb_row('new', array(
'weight' => $weight,
), array(
'views' => $view_options,
'displays' => array(),
'arguments' => $argument_options,
));
$form['buttons'] = array(
array(
'#value' => '<div class="form-item form-buttons">',
),
'submit' => array(
'#type' => 'submit',
'#value' => t('Save'),
),
array(
'#value' => popup_ui_confirm('Reset to defaults', 'Are you sure you want to reset to defaults?<br /> This action cannot be undone!', 'admin/settings/popup/breadcrumb/reset', array(
'origin' => 'top-left',
'expand' => 'top-right',
)),
),
array(
'#value' => '</div>',
),
'#weight' => 2,
);
return $form;
}