You are here

function securesite_admin_settings_submit in Secure Site 7.2

Same name and namespace in other branches
  1. 6.2 securesite.admin.inc \securesite_admin_settings_submit()

Form submission handler for securesite_admin_settings().

See also

securesite_admin_settings_validate()

1 string reference to 'securesite_admin_settings_submit'
securesite_admin_settings in ./securesite.admin.inc
Form constructor for admin settings form.

File

./securesite.admin.inc, line 266
Secure Site administration pages.

Code

function securesite_admin_settings_submit($form, &$form_state) {
  $values = $form_state['values'];
  if ($values['securesite_enabled'] != SECURESITE_403 || isset($values['op']) && $values['op'] == t('Reset to defaults')) {
    variable_set('site_403', variable_get('securesite_403', variable_get('site_403', '')));
    variable_del('securesite_403');
  }
  else {
    variable_set('securesite_403', variable_get('site_403', ''));
    variable_set('site_403', 'securesite_403');
  }
  $script = variable_get('securesite_password_script', drupal_get_path('module', 'securesite') . '/digest_md5/stored_passwords.php');
  $realm = variable_get('securesite_realm', variable_get('site_name', 'Drupal'));
  if (in_array(SECURESITE_DIGEST, variable_get('securesite_type', array(
    SECURESITE_BASIC,
  )))) {

    // If digest authentication was enabled, we may need to do some clean-up.
    $securesite_guest_name = variable_get('securesite_guest_name', '');
    if (isset($values['op']) && $values['op'] == t('Reset to defaults') || !in_array(SECURESITE_DIGEST, $values['securesite_type']) || $realm != $values['securesite_realm']) {

      // Delete all stored passwords.
      exec("{$script} realm=" . escapeshellarg($realm) . ' op=delete');
    }
    elseif ($values['securesite_guest_name'] != $securesite_guest_name) {

      // Guest user name has changed. Delete old guest user password.
      exec("{$script} username=" . escapeshellarg($securesite_guest_name) . ' realm=' . escapeshellarg($realm) . ' op=delete');
    }
  }
  if (in_array(SECURESITE_DIGEST, $values['securesite_type']) && (!isset($values['op']) || $values['op'] != t('Reset to defaults'))) {

    // If digest authentication is enabled, update guest user password.
    $args = array(
      'username=' . escapeshellarg($values['securesite_guest_name']),
      'pass=' . escapeshellarg($values['securesite_guest_pass']),
      'realm=' . escapeshellarg($realm),
      'op=create',
    );
    exec($script . ' ' . implode(' ', $args));
  }
}