function msnf_msnf_format_settings in Multistep Nodeform 7
Implements hook_msnf_format_settings(). If the step has no format settings, default ones will be added.
@params <object> $step The step object.
Return value
<array> $form The form element for the format settings.
File
- ./
msnf.module, line 339 - Main functions for module "Multistep Nodeform".
Code
function msnf_msnf_format_settings($step) {
// Add a wrapper for extra settings to use by others.
$form = array(
'instance_settings' => array(
'#tree' => TRUE,
'#weight' => 2,
),
);
$step_types = msnf_formatter_info();
$formatter = $step_types[$step->format_type];
$form['instance_settings']['skip_non_required'] = array(
'#type' => 'checkbox',
'#title' => t('Allow skipping this step if it contains no required fields.'),
'#default_value' => isset($step->format_settings['instance_settings']['skip_non_required']) ? $step->format_settings['instance_settings']['skip_non_required'] : (isset($formatter['instance_settings']['skip_non_required']) ? $formatter['instance_settings']['skip_non_required'] : ''),
'#weight' => 1,
);
$form['instance_settings']['hide_if_empty'] = array(
'#type' => 'checkbox',
'#title' => t('Hide the entire step if it contains no fields or none of the fields is accessible by the user.'),
'#default_value' => isset($step->format_settings['instance_settings']['hide_if_empty']) ? $step->format_settings['instance_settings']['hide_if_empty'] : (isset($formatter['instance_settings']['hide_if_empty']) ? $formatter['instance_settings']['hide_if_empty'] : ''),
'#weight' => 1,
);
if (isset($formatter['instance_settings']['classes'])) {
$form['instance_settings']['classes'] = array(
'#title' => t('Extra CSS classes'),
'#type' => 'textfield',
'#default_value' => isset($step->format_settings['instance_settings']['classes']) ? $step->format_settings['instance_settings']['classes'] : (isset($formatter['instance_settings']['classes']) ? $formatter['instance_settings']['classes'] : ''),
'#weight' => 3,
'#element_validate' => array(
'msnf_validate_css_class',
),
);
}
if (isset($formatter['instance_settings']['description'])) {
$form['instance_settings']['description'] = array(
'#title' => t('Step description'),
'#type' => 'textarea',
'#rows' => 3,
'#default_value' => isset($step->format_settings['instance_settings']['description']) ? $step->format_settings['instance_settings']['description'] : (isset($formatter['instance_settings']['description']) ? $formatter['instance_settings']['description'] : ''),
'#weight' => 0,
);
}
// Add optional instance_settings.
switch ($step->format_type) {
case 'default':
$form['instance_settings']['show_label'] = array(
'#title' => t('Show label'),
'#type' => 'select',
'#options' => array(
0 => t('No'),
1 => t('Yes'),
),
'#default_value' => isset($step->format_settings['instance_settings']['show_label']) ? $step->format_settings['instance_settings']['show_label'] : $formatter['instance_settings']['show_label'],
'#weight' => 2,
);
$form['instance_settings']['label_element'] = array(
'#title' => t('Label element'),
'#type' => 'select',
'#options' => array(
'h2' => t('Header 2'),
'h3' => t('Header 3'),
),
'#default_value' => isset($step->format_settings['instance_settings']['label_element']) ? $step->format_settings['instance_settings']['label_element'] : $formatter['instance_settings']['label_element'],
'#weight' => 2,
);
$form['instance_settings']['buttons'] = array(
'#title' => t('Button labels'),
'#type' => 'fieldset',
'#tree' => TRUE,
'#weight' => 3,
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
$form['instance_settings']['buttons']['previous'] = array(
'#title' => t('Back'),
'#type' => 'textfield',
'#description' => t('Text to use as label for back-button. Leave empty to use the title of the previous step.'),
'#default_value' => isset($step->format_settings['instance_settings']['buttons']['previous']) ? $step->format_settings['instance_settings']['buttons']['previous'] : (isset($formatter['instance_settings']['buttons']['previous']) ? $formatter['instance_settings']['buttons']['previous'] : ''),
'#weight' => 0,
);
$form['instance_settings']['buttons']['next'] = array(
'#title' => t('Next'),
'#type' => 'textfield',
'#description' => t('Text to use as label for next-button. Leave empty to use the title of the next step.'),
'#default_value' => isset($step->format_settings['instance_settings']['buttons']['next']) ? $step->format_settings['instance_settings']['buttons']['next'] : (isset($formatter['instance_settings']['buttons']['next']) ? $formatter['instance_settings']['buttons']['next'] : ''),
'#weight' => 1,
);
$form['instance_settings']['buttons']['skip'] = array(
'#title' => t('Skip'),
'#type' => 'textfield',
'#description' => t('Text to use as label for skip-button.'),
'#default_value' => isset($step->format_settings['instance_settings']['buttons']['skip']) ? $step->format_settings['instance_settings']['buttons']['skip'] : (isset($formatter['instance_settings']['buttons']['skip']) ? $formatter['instance_settings']['buttons']['skip'] : ''),
'#weight' => 2,
);
break;
default:
}
return $form;
}