You are here

function captcha_admin_settings_submit in CAPTCHA 5.3

Same name and namespace in other branches
  1. 6.2 captcha.admin.inc \captcha_admin_settings_submit()
  2. 6 captcha.admin.inc \captcha_admin_settings_submit()
  3. 7 captcha.admin.inc \captcha_admin_settings_submit()

Submission function for captcha_admin_settings form

File

./captcha.module, line 308
This module enables basic CAPTCHA functionality: administrators can add a CAPTCHA to desired forms that users without the 'skip CAPTCHA' permission (typically anonymous visitors) have to solve.

Code

function captcha_admin_settings_submit($form_id, $form_values) {
  if ($form_id == 'captcha_admin_settings') {
    variable_set('captcha_administration_mode', $form_values['captcha_administration_mode']);
    foreach ($form_values['captcha_types'] as $captcha_point_form_id => $data) {
      if ($data['captcha_type'] == 'none') {
        db_query("UPDATE {captcha_points} SET module = NULL, type = NULL WHERE form_id = '%s'", $captcha_point_form_id);
      }
      else {
        list($module, $type) = explode('/', $data['captcha_type']);
        db_query("UPDATE {captcha_points} SET module = '%s', type = '%s' WHERE form_id = '%s'", $module, $type, $captcha_point_form_id);
      }
    }

    // description stuff
    if (module_exists('locale')) {
      $langs = locale_supported_languages();
      foreach ($langs['name'] as $lang_code => $lang_name) {
        variable_set("captcha_description_{$lang_code}", $form_values["captcha_description_{$lang_code}"]);
      }
    }
    else {
      variable_set('captcha_description', $form_values['captcha_description']);
    }
    variable_set('captcha_persistence', $form_values['captcha_persistence']);
    variable_set('captcha_log_wrong_responses', $form_values['captcha_log_wrong_responses']);
    drupal_set_message(t('The CAPTCHA settings were saved.'), 'status');
  }
}