function drd_server_settings_submit in Drupal Remote Dashboard Server 6.2
Same name and namespace in other branches
- 7.2 drd_server.admin.inc \drd_server_settings_submit()
Submit handler for the settings form.
_state
Parameters
array $form:
File
- ./
drd_server.admin.inc, line 89
Code
function drd_server_settings_submit($form, $form_state) {
if ($form_state['values']['op'] == $form_state['values']['drd_server_debug_export']) {
_drd_server_export_debug_log();
drupal_goto('admin/config/system/drd_settings');
}
if ($form_state['values']['op'] != $form['submit']['#value']) {
// An edit button was clicked.
foreach ($form['drd_aes_keys'] as $ip => $key_form) {
if (is_array($key_form)) {
if ($key_form['edit']['#value'] == $form_state['values']['op']) {
drupal_goto('admin/settings/drd_settings/' . $ip);
}
}
}
// No valid button was found
drupal_goto('admin/config/system/drd_settings');
}
variable_set('drd_allowed_referer', $form_state['values']['drd_allowed_referer']);
$ips = drd_get_allowed_referers($form_state['values']['drd_allowed_referer']);
$aes_keys = variable_get('drd_aes_keys', array());
foreach ($aes_keys as $key => $def) {
$aes_keys[$key]['keep'] = FALSE;
}
$changed = FALSE;
if (!empty($aes_keys)) {
$keys = array_keys($aes_keys);
$master = $aes_keys[$keys[0]];
foreach ($ips as $ip) {
if (!array_key_exists($ip, $aes_keys)) {
$aes_keys[$ip] = $master;
$aes_keys[$ip]['keep'] = TRUE;
$changed = TRUE;
}
else {
$aes_keys[$ip]['keep'] = TRUE;
}
}
}
foreach ($aes_keys as $key => $def) {
if (!$aes_keys[$key]['keep']) {
unset($aes_keys[$key]);
$changed = TRUE;
}
}
if ($changed) {
variable_set('drd_aes_keys', $aes_keys);
$sites = drd_server_read_sites();
drd_server_key_remote($sites, $aes_keys);
}
}