function availability_calendar_admin_settings_submit in Availability Calendars 7.3
Same name and namespace in other branches
- 7.5 availability_calendar.admin.inc \availability_calendar_admin_settings_submit()
- 7.4 availability_calendar.admin.inc \availability_calendar_admin_settings_submit()
Form submit callback for the admin_settings form.
Processes the submitted form. The states are handled here.
_state
Parameters
array $form:
1 string reference to 'availability_calendar_admin_settings_submit'
- availability_calendar_admin_settings in ./
availability_calendar.admin.inc - Retrieve form callback for the admin/config/availability-calendar/settings page.
File
- ./
availability_calendar.admin.inc, line 190
Code
function availability_calendar_admin_settings_submit($form, &$form_state) {
$op = isset($form_state['values']['op']) ? $form_state['values']['op'] : '';
if ($op == t('Save configuration')) {
// Process the state settings here and do not pass them to the default submit handler for system settings forms.
$element = $form_state['values']['states'];
unset($form_state['values']['states']);
// Extract the states.
$states = array();
foreach ($element as $i => $state_fields) {
// Only add non-empty labels.
if (!empty($state_fields['label'])) {
if (empty($state_fields['css_class'])) {
$state_fields['css_class'] = drupal_clean_css_identifier("cal-{$state_fields['label']}");
}
$states[] = array(
'sid' => !empty($state_fields['sid']) ? (int) $state_fields['sid'] : NULL,
'css_class' => $state_fields['css_class'],
'label' => $state_fields['label'],
'weight' => $state_fields['weight'],
'is_available' => $state_fields['is_available'],
);
}
}
// Finally, save the states.
availability_calendar_update_states($states);
}
}