Same name and namespace in other branches
- 8.x-3.x views_slideshow.module \views_slideshow_pager_views_slideshow_widget_form_options()
Implements [widget]_views_slideshow_widget_form_options().
File
-
./
views_slideshow.module, line 236
Code
function views_slideshow_pager_views_slideshow_widget_form_options(&$form, &$form_state, &$view, $defaults, $dependency) {
// Get all the pager info from other modules.
$pagers = module_invoke_all('views_slideshow_widget_pager_info', $view);
if (!empty($pagers)) {
$pager_options = array();
foreach ($pagers as $pager_id => $pager_info) {
$pager_options[$pager_id] = $pager_info['name'];
}
asort($pager_options);
// Need to wrap this so it indents correctly.
$form['views_slideshow_pager_wrapper'] = array(
'#markup' => '<div class="vs-dependent">',
);
// Option for master_pager to control all slideshows in this location.
$form['master_pager'] = array(
'#type' => 'checkbox',
'#title' => t('Master Pager'),
'#default_value' => $defaults['master_pager'],
'#description' => t('Should this pager control all slideshows in this location.'),
'#states' => array(
'visible' => array(
':input[name="' . $dependency . '[enable]"]' => array(
'checked' => TRUE,
),
),
),
);
// Add field to see if they would like to hide pager if there is only one
// slide.
$form['hide_on_single_slide'] = array(
'#type' => 'checkbox',
'#title' => t('Hide pager if there is only one slide'),
'#default_value' => $defaults['hide_on_single_slide'],
'#description' => t('Should the pager be hidden if there is only one slide.'),
'#states' => array(
'visible' => array(
':input[name="' . $dependency . '[enable]"]' => array(
'checked' => TRUE,
),
),
),
);
// Create the widget type field.
$form['type'] = array(
'#type' => 'select',
'#title' => t('Pager Type'),
'#description' => t('Style of the pager'),
'#default_value' => $defaults['type'],
'#options' => $pager_options,
'#states' => array(
'visible' => array(
':input[name="' . $dependency . '[enable]"]' => array(
'checked' => TRUE,
),
),
),
);
// Add any additional form elements
// Build our arguments to pass to
// [pager-type]_views_slideshow_widget_pager_form_options.
$arguments = array(
&$form,
&$form_state,
&$view,
$defaults,
$dependency,
);
foreach ($pagers as $pager_key => $pager_info) {
$function = $pager_key . '_views_slideshow_widget_pager_form_options';
if (function_exists($function)) {
call_user_func_array($function, $arguments);
}
}
$form['views_slideshow_pager_wrapper_close'] = array(
'#markup' => '</div>',
);
}
else {
$form['enable_pager'] = array(
'#markup' => 'There are no pagers available.',
);
}
}