You are here

function _phrase_captcha_generate_words in CAPTCHA Pack 7

Same name and namespace in other branches
  1. 8 text_captcha/modules/phrase_captcha/phrase_captcha.module \_phrase_captcha_generate_words()
  2. 5 text_captcha/phrase_captcha/phrase_captcha.module \_phrase_captcha_generate_words()
  3. 6 text_captcha/phrase_captcha/phrase_captcha.inc \_phrase_captcha_generate_words()

Function for generating an array of words

1 call to _phrase_captcha_generate_words()
phrase_captcha_captcha in text_captcha/phrase_captcha/phrase_captcha.module
Implements hook_captcha().

File

text_captcha/phrase_captcha/phrase_captcha.module, line 120

Code

function _phrase_captcha_generate_words($num) {
  $words = array();
  if (variable_get('phrase_captcha_words', PHRASE_CAPTCHA_GENERATE_NONSENSE_WORDS) == PHRASE_CAPTCHA_USER_DEFINED_WORDS) {

    // Use user defined words
    $uwords = _text_captcha_word_pool_get_content('phrase_captcha_userdefined_word_pool', NULL, '', TRUE);
    switch ($num) {
      case 0:
        break;
      case 1:
        $words[] = $uwords[array_rand($uwords, $num)];
        break;
      default:
        $keys = array_rand($uwords, $num);
        foreach ($keys as $key) {
          $words[] = $uwords[$key];
        }
        break;
    }
  }
  else {

    // Generate nonsense words
    for ($w = 0; $w < $num; ++$w) {
      $words[] = _phrase_captcha_generate_nonsense_word(mt_rand(3, 7));
    }
  }
  return $words;
}