You are here

function _clientside_validation_testswarm_create_webform_validation_rules in Clientside Validation 7

Same name and namespace in other branches
  1. 7.2 clientside_validation_testswarm/clientside_validation_testswarm.module \_clientside_validation_testswarm_create_webform_validation_rules()
1 call to _clientside_validation_testswarm_create_webform_validation_rules()
clientside_validation_testswarm_enable in clientside_validation_testswarm/clientside_validation_testswarm.module
Implements hook_enable().

File

clientside_validation_testswarm/clientside_validation_testswarm.module, line 215
Testswarm tests for Clientside Validation.

Code

function _clientside_validation_testswarm_create_webform_validation_rules() {
  $added = variable_get('clientside_validation_rules_added', 0);
  $nodenames = variable_get('clientside_validation_testswarm_nodenames', array());
  $nid = isset($nodenames['webformvalidation']) ? $nodenames['webformvalidation'] : FALSE;
  if (!$nid || $added) {
    return;
  }
  $transaction = db_transaction();
  try {
    $values = array(
      array(
        'cv_regex',
        $nid,
        'regex',
        '[a-z0-9]+$',
        'Must be a valid machine readable name',
        drupal_map_assoc(array(
          1,
        )),
      ),
      array(
        'cv_min_length',
        $nid,
        'min_length',
        '5',
        NULL,
        drupal_map_assoc(array(
          2,
        )),
      ),
      array(
        'cv_max_length',
        $nid,
        'max_length',
        '10',
        NULL,
        drupal_map_assoc(array(
          3,
        )),
      ),
      array(
        'cv_min_words',
        $nid,
        'min_words',
        '5',
        NULL,
        drupal_map_assoc(array(
          4,
        )),
      ),
      array(
        'cv_max_words',
        $nid,
        'max_words',
        '10',
        NULL,
        drupal_map_assoc(array(
          5,
        )),
      ),
      array(
        'cv_numeric',
        $nid,
        'numeric',
        '',
        NULL,
        drupal_map_assoc(array(
          6,
        )),
      ),
      array(
        'cv_numeric_min',
        $nid,
        'numeric',
        '5',
        NULL,
        drupal_map_assoc(array(
          7,
        )),
      ),
      array(
        'cv_numeric_max',
        $nid,
        'numeric',
        '|10',
        NULL,
        drupal_map_assoc(array(
          8,
        )),
      ),
      array(
        'cv_oneof',
        $nid,
        'oneofseveral',
        NULL,
        NULL,
        drupal_map_assoc(array(
          10,
          11,
          12,
        )),
      ),
      array(
        'cv_oneoftwo',
        $nid,
        'oneoftwo',
        NULL,
        NULL,
        drupal_map_assoc(array(
          14,
          15,
        )),
      ),
      array(
        'cv_plain_text',
        $nid,
        'plain_text',
        NULL,
        NULL,
        drupal_map_assoc(array(
          16,
        )),
      ),
      array(
        'cv_blacklist',
        $nid,
        'blacklist',
        'black,list',
        "Field can not contain the words 'black or list'",
        drupal_map_assoc(array(
          17,
        )),
      ),
      array(
        'cv_equal',
        $nid,
        'equal',
        NULL,
        NULL,
        drupal_map_assoc(array(
          19,
          20,
        )),
      ),
      array(
        'cv_unique',
        $nid,
        'unique',
        NULL,
        NULL,
        drupal_map_assoc(array(
          22,
          23,
          24,
        )),
      ),
      array(
        'cv_specific_value',
        $nid,
        'specific_value',
        'abc-123',
        "Field must equal 'abc-123'",
        drupal_map_assoc(array(
          25,
        )),
      ),
      array(
        'cv_select_min',
        $nid,
        'select_min',
        '2',
        NULL,
        drupal_map_assoc(array(
          26,
        )),
      ),
      array(
        'cv_select_max',
        $nid,
        'select_max',
        '5',
        NULL,
        drupal_map_assoc(array(
          27,
        )),
      ),
      array(
        'cv_select_exact',
        $nid,
        'select_exact',
        '3',
        NULL,
        drupal_map_assoc(array(
          28,
        )),
      ),
      array(
        'cv_must_be_empty',
        $nid,
        'must_be_empty',
        NULL,
        NULL,
        drupal_map_assoc(array(
          29,
        )),
      ),
    );
    foreach ($values as $value) {
      $keys = array(
        'rulename',
        'nid',
        'validator',
        'data',
        'error_message',
        'rule_components',
      );
      $rule = array_combine($keys, $value);
      $rule['action'] = 'add';
      webform_validation_rule_save($rule);
    }
    variable_set('clientside_validation_rules_added', 1);
  } catch (Exception $e) {
    $transaction
      ->rollback();
    watchdog('cv_testswarm', $e
      ->getMessage());
  }
}