You are here

function phrase_captcha_settings_form in CAPTCHA Pack 7

Same name and namespace in other branches
  1. 5 text_captcha/phrase_captcha/phrase_captcha.module \phrase_captcha_settings_form()
  2. 6 text_captcha/phrase_captcha/phrase_captcha.admin.inc \phrase_captcha_settings_form()

Administration form

1 string reference to 'phrase_captcha_settings_form'
phrase_captcha_menu in text_captcha/phrase_captcha/phrase_captcha.module
Implements hook_menu().

File

text_captcha/phrase_captcha/phrase_captcha.admin.inc, line 11
Functionality and helper functions for PHRASE CAPTCHA administration.

Code

function phrase_captcha_settings_form() {
  drupal_set_message(t('WARNING: this module is not completely ported to Drupal 6 and does not work yet.'), 'warning');
  $form = array();

  // Radio buttons for selecting the kind of words to use
  $form['phrase_captcha_words'] = array(
    '#type' => 'radios',
    '#title' => t('Kind of words to use in the CAPTCHA phrase'),
    '#options' => array(
      PHRASE_CAPTCHA_GENERATE_NONSENSE_WORDS => t('Generate nonsense words'),
      PHRASE_CAPTCHA_USER_DEFINED_WORDS => t('Use user defined words'),
    ),
    '#default_value' => variable_get('phrase_captcha_words', PHRASE_CAPTCHA_GENERATE_NONSENSE_WORDS),
    '#required' => TRUE,
  );

  // Form elements for the word pools
  _text_captcha_word_pool_form_items($form, 'phrase_captcha_userdefined_word_pool', t('User defined word pool'), t('Enter the words to use in the CAPTCHA phrase (space separated, no punctuation).'), '');

  // Select form element for the number of words in the CAPTCHA phrase
  $form['phrase_captcha_word_quantity'] = array(
    '#type' => 'select',
    '#title' => t('Number of words in the CAPTCHA phrase'),
    '#default_value' => variable_get('phrase_captcha_word_quantity', 5),
    '#options' => drupal_map_assoc(array(
      4,
      5,
      6,
      7,
      8,
      9,
      10,
    )),
    '#required' => TRUE,
  );

  // Select form element for the number of additional words
  $form['phrase_captcha_additional_word_quantity'] = array(
    '#type' => 'select',
    '#title' => t('Maximum number of additional words to let the user choose from'),
    '#default_value' => variable_get('phrase_captcha_additional_word_quantity', 1),
    '#options' => drupal_map_assoc(array(
      0,
      1,
      2,
      3,
      4,
      5,
    )),
    '#required' => TRUE,
  );
  $form['phrase_captcha_word_selection_challenges'] = array(
    '#type' => 'checkboxes',
    '#title' => t('Word selection challenges'),
    '#options' => _phrase_captcha_available_word_challenges(),
    '#default_value' => _phrase_captcha_enabled_word_challenges(),
  );

  // Add additional validation handler
  $form['#validate'][] = 'phrase_captcha_settings_form_validate';
  return system_settings_form($form);
}