function spaces_system_settings_form_submit in Spaces 7.3
Same name and namespace in other branches
- 6.3 spaces.overrides.inc \spaces_system_settings_form_submit()
- 7 spaces.overrides.inc \spaces_system_settings_form_submit()
Form submit handler for system settings form for space-specific overrides. Similar to system_settings_form_submit() but saves override values to space.
1 string reference to 'spaces_system_settings_form_submit'
- spaces_form_alter in ./
spaces.overrides.inc - Implements hook_form_alter().
File
- ./
spaces.overrides.inc, line 142
Code
function spaces_system_settings_form_submit($form, &$form_state) {
if ($space = spaces_get_space()) {
$op = isset($form_state['values']['op']) ? $form_state['values']['op'] : '';
// Exclude unnecessary elements.
form_state_values_clean($form_state);
if ($preset = $space->controllers->variable
->get('spaces_preset_' . $space->type)) {
$preset = spaces_preset_load($preset, $space->type);
}
foreach ($form_state['values'] as $key => $value) {
if ($op == t('Reset to defaults')) {
// variable_del($key);
$space->controllers->variable
->del($key);
}
elseif ($preset && $op == t('Save to @title', array(
'@title' => $preset->title,
))) {
$space->controllers->variable
->del($key);
$preset->value['variable'][$key] = $value;
}
else {
if (is_array($value) && isset($form_state['values']['array_filter'])) {
$value = array_keys(array_filter($value));
}
// variable_set($key, $value);
// @TODO: Implement selective saving -- e.g. only save if
// differs from parent value (preset first, then check original).
$space->controllers->variable
->set($key, $value);
}
}
if ($op == t('Reset to defaults')) {
drupal_set_message(t('The configuration options have been reset to their default values for %space.', array(
'%space' => $space
->title(),
)));
}
elseif ($preset && $op == t('Save to @title', array(
'@title' => $preset->title,
))) {
drupal_set_message(t('The configuration options have been saved for %title.', array(
'%title' => $preset->title,
)));
spaces_preset_save($preset);
}
else {
drupal_set_message(t('The configuration options have been saved for %space.', array(
'%space' => $space
->title(),
)));
}
}
}