You are here

function _random_captcha_type_get_enabled_types in CAPTCHA Pack 6

Same name and namespace in other branches
  1. 8 random_captcha_type/random_captcha_type.module \_random_captcha_type_get_enabled_types()
  2. 5 random_captcha_type/random_captcha_type.module \_random_captcha_type_get_enabled_types()
  3. 7 random_captcha_type/random_captcha_type.module \_random_captcha_type_get_enabled_types()

Function for getting the enabled CAPTCHA types. Alternative of variable_get('random_captcha_type_enabled_types', ...) with sensible default value. For use as #default_value of checkboxes widget. Returns an array mapping "$module/$type" to "$module/$type" for the enabled types

2 calls to _random_captcha_type_get_enabled_types()
random_captcha_type_captcha in random_captcha_type/random_captcha_type.module
Implementation of hook_captcha
random_captcha_type_settings_form in random_captcha_type/random_captcha_type.admin.inc
Configuration form

File

random_captcha_type/random_captcha_type.inc, line 32

Code

function _random_captcha_type_get_enabled_types() {
  $enabled_types = array();
  $_enabled_types = variable_get('random_captcha_type_enabled_types', NULL);
  if ($_enabled_types === NULL) {
    foreach (_random_captcha_type_get_all_types() as $key => $value) {
      $enabled_types[$key] = $key;
    }
    variable_set('random_captcha_type_enabled_types', $enabled_types);
  }
  else {
    foreach ($_enabled_types as $key => $value) {
      if ($value) {
        list($module, $type) = explode('/', $value);

        // check if type is still available
        $list = module_invoke($module, 'captcha', 'list');
        if ($list && in_array($type, $list)) {
          $enabled_types[$key] = $value;
        }
      }
    }
  }
  return $enabled_types;
}