You are here

class field_validation_ean_validator in Field Validation 7.2

Hierarchy

Expanded class hierarchy of field_validation_ean_validator

1 string reference to 'field_validation_ean_validator'
field_validation_ean_validator.inc in field_validation_extras/plugins/validator/field_validation_ean_validator.inc

File

field_validation_extras/plugins/validator/field_validation_ean_validator.inc, line 16

View source
class field_validation_ean_validator extends field_validation_validator {

  /**
   * Validate field.
   */
  public function validate() {
    $settings = $this->rule->settings;
    if ($this->value !== '' && !is_null($this->value)) {
      $val = $this->value;
      if (drupal_strlen($val) > 13) {
        $this
          ->set_error();
      }
      else {
        if (drupal_strlen($val) < 13) {
          $val = str_repeat('0', drupal_strlen($val) - 13) + $val;
        }
        if (!$this
          ->attiks_ean13_valid($val)) {
          $this
            ->set_error();
        }
      }
    }
  }

  /**
   * EAN validate helper function. The code way copied from http://drupal.org/node/1066936, wrote by attiks(http://drupal.org/user/105002).
   */
  function attiks_ean13_valid($digits) {
    $even = $digits[1] + $digits[3] + $digits[5] + $digits[7] + $digits[9] + $digits[11];
    $even = $even * 3;
    $odd = $digits[0] + $digits[2] + $digits[4] + $digits[6] + $digits[8] + $digits[10];
    $total = $even + $odd;
    $checksum = $total % 10;
    if ($checksum != 0) {
      $checksum = 10 - $checksum;
    }
    return $digits[12] == $checksum;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
field_validation_ean_validator::attiks_ean13_valid function EAN validate helper function. The code way copied from http://drupal.org/node/1066936, wrote by attiks(http://drupal.org/user/105002).
field_validation_ean_validator::validate public function Validate field. Overrides field_validation_validator::validate
field_validation_validator::$delta protected property
field_validation_validator::$entity protected property
field_validation_validator::$entity_type protected property
field_validation_validator::$errors protected property
field_validation_validator::$field protected property
field_validation_validator::$instance protected property
field_validation_validator::$item protected property
field_validation_validator::$items protected property
field_validation_validator::$langcode protected property
field_validation_validator::$rule protected property
field_validation_validator::$value protected property
field_validation_validator::bypass_validation public function Bypass validation.
field_validation_validator::get_default_settings public function Return default settingsfor the validator.
field_validation_validator::get_error_element public function Return error element for the validation rule. 1
field_validation_validator::get_error_message public function Return error message string for the validation rule.
field_validation_validator::get_token_type public function Get token type.
field_validation_validator::pass_condition public function Pass condition.
field_validation_validator::settings_form function Provide settings option. 24
field_validation_validator::set_error public function Set error message.
field_validation_validator::token_help public function Provide token help info for error message. 7
field_validation_validator::__construct function Save arguments locally.