function weather_display_config_form_submit in Weather 7.3
Same name and namespace in other branches
- 7.2 weather.forms.inc \weather_display_config_form_submit()
Implements hook_form_submit().
File
- ./
weather.forms.inc, line 395 - Provide forms for configuration of weather displays.
Code
function weather_display_config_form_submit($form, &$form_state) {
if ($form_state['values']['number'] == NULL) {
module_load_include('inc', 'weather', 'weather.common');
// The number does not exist, so insert a new entry.
$used_numbers = weather_get_displays_in_use($form_state['values']['type']);
$free_number = 1;
foreach ($used_numbers as $number) {
if ($number > $free_number) {
break;
}
else {
$free_number++;
}
}
db_insert('weather_displays')
->fields(array(
'type' => $form_state['values']['type'],
'number' => $free_number,
'config' => serialize($form_state['values']['config']),
))
->execute();
}
else {
// The number already exists, so overwrite the entry.
db_merge('weather_displays')
->key(array(
'type' => $form_state['values']['type'],
'number' => $form_state['values']['number'],
))
->fields(array(
'config' => serialize($form_state['values']['config']),
))
->execute();
}
if ($form_state['values']['type'] == 'user') {
$path = 'user/' . $form_state['values']['number'] . '/weather';
}
else {
$path = 'admin/config/user-interface/weather';
}
$form_state['redirect'] = $path;
}