/** * Validates the input. */ protected function validate() { $c = strlen($this->text); if ($c === 0) { throw new BCGParseException('othercode', 'No data has been entered.'); } parent::validate(); }
/** * Validates the input. */ protected function validate() { $c = strlen($this->text); if ($c === 0) { throw new BCGParseException('othercode', 'No data has been entered.'); } // Checking if all chars are allowed for ($i = 0; $i < $c; $i++) { if (array_search($this->text[$i], $this->keys) === false) { throw new BCGParseException('othercode', 'The character \'' . $this->text[$i] . '\' is not allowed.'); } } parent::validate(); }
/** * Validates the input. */ protected function validate() { $c = strlen($this->text); if ($c === 0) { throw new BCGParseException('s25', 'No data has been entered.'); } // Checking if all chars are allowed for ($i = 0; $i < $c; $i++) { if (array_search($this->text[$i], $this->keys) === false) { throw new BCGParseException('s25', 'The character \'' . $this->text[$i] . '\' is not allowed.'); } } // Must be even if ($c % 2 !== 0 && $this->checksum === false) { throw new BCGParseException('s25', 's25 must contain an even amount of digits if checksum is false.'); } elseif ($c % 2 === 0 && $this->checksum === true) { throw new BCGParseException('s25', 's25 must contain an odd amount of digits if checksum is true.'); } parent::validate(); }
/** * Validates the input. */ protected function validate() { $c = strlen($this->text); if ($c === 0) { throw new BCGParseException('codabar', 'No data has been entered.'); } // Checking if all chars are allowed for ($i = 0; $i < $c; $i++) { if (array_search($this->text[$i], $this->keys) === false) { throw new BCGParseException('codabar', 'The character \'' . $this->text[$i] . '\' is not allowed.'); } } // Must start by A, B, C or D if ($c == 0 || $this->text[0] !== 'A' && $this->text[0] !== 'B' && $this->text[0] !== 'C' && $this->text[0] !== 'D') { throw new BCGParseException('codabar', 'The text must start by the character A, B, C, or D.'); } // Must end by A, B, C or D $c2 = $c - 1; if ($c2 === 0 || $this->text[$c2] !== 'A' && $this->text[$c2] !== 'B' && $this->text[$c2] !== 'C' && $this->text[$c2] !== 'D') { throw new BCGParseException('codabar', 'The text must end by the character A, B, C, or D.'); } parent::validate(); }
/** * Validates the input. */ protected function validate() { $c = strlen($this->text); if ($c === 0) { throw new BCGParseException('ean13', 'No data has been entered.'); } $this->checkCharsAllowed(); $this->checkCorrectLength(); parent::validate(); }
/** * Validates the input. */ protected function validate() { $c = strlen($this->text); if ($c === 0) { throw new BCGParseException('postnet', 'No data has been entered.'); } // Checking if all chars are allowed for ($i = 0; $i < $c; $i++) { if (array_search($this->text[$i], $this->keys) === false) { throw new BCGParseException('postnet', 'The character \'' . $this->text[$i] . '\' is not allowed.'); } } // Must contain 5, 9 or 11 chars if ($c !== 5 && $c !== 9 && $c !== 11) { throw new BCGParseException('postnet', 'Must contain 5, 9, or 11 characters.'); } parent::validate(); }
/** * Validates the input. */ protected function validate() { // Tracking must have been entered if ($this->barcodeIdentifier === null || $this->serviceTypeIdentifier === null || $this->mailerIdentifier === null || $this->serialNumber === null) { throw new BCGParseException('intelligentmail', 'The tracking code must be set before calling the parse method.'); } // Checking if all chars are allowed $match = array(); if (preg_match('/[^0-9]/', $this->text, $match)) { throw new BCGParseException('intelligentmail', 'The character \'' . $match[0] . '\' is not allowed.'); } // Must contain 0, 5, 9 or 11 chars $c = strlen($this->text); if ($c !== 0 && $c !== 5 && $c !== 9 && $c !== 11) { throw new BCGParseException('intelligentmail', 'Must contain 0, 5, 9, or 11 characters.'); } parent::validate(); }
/** * Validates the input. */ protected function validate() { $c = count($this->data); if ($c === 0) { throw new BCGParseException('code128', 'No data has been entered.'); } parent::validate(); }
/** * Validates the input. */ protected function validate() { $c = strlen($this->text); if ($c === 0) { throw new BCGParseException('ean8', 'No data has been entered.'); } // Checking if all chars are allowed for ($i = 0; $i < $c; $i++) { if (array_search($this->text[$i], $this->keys) === false) { throw new BCGParseException('ean8', 'The character \'' . $this->text[$i] . '\' is not allowed.'); } } // If we have 8 chars just flush the last one if ($c === 8) { $this->text = substr($this->text, 0, 7); } elseif ($c !== 7) { throw new BCGParseException('ean8', 'Must contain 7 digits, the 8th digit is automatically added.'); } parent::validate(); }
/** * Validates the input. */ protected function validate() { $c = strlen($this->text); if ($c === 0) { throw new BCGParseException('upce', 'No data has been entered.'); } // Checking if all chars are allowed for ($i = 0; $i < $c; $i++) { if (array_search($this->text[$i], $this->keys) === false) { throw new BCGParseException('upce', 'The character \'' . $this->text[$i] . '\' is not allowed.'); } } // Must contain 11 chars // Must contain 6 chars (if starting with upce directly) // First Chars must be 0 or 1 if ($c !== 11 && $c !== 6) { throw new BCGParseException('upce', 'You must provide a UPC-A (11 characters) or a UPC-E (6 characters).'); } elseif ($this->text[0] !== '0' && $this->text[0] !== '1' && $c !== 6) { throw new BCGParseException('upce', 'UPC-A must start with 0 or 1 to be converted to UPC-E.'); } // Convert part $this->upce = ''; if ($c !== 6) { // Checking if UPC-A is convertible $temp1 = substr($this->text, 3, 3); if ($temp1 === '000' || $temp1 === '100' || $temp1 === '200') { // manufacturer code ends with 100,200 or 300 if (substr($this->text, 6, 2) === '00') { // Product must start with 00 $this->upce = substr($this->text, 1, 2) . substr($this->text, 8, 3) . substr($this->text, 3, 1); } } elseif (substr($this->text, 4, 2) === '00') { // manufacturer code ends with 00 if (substr($this->text, 6, 3) === '000') { // Product must start with 000 $this->upce = substr($this->text, 1, 3) . substr($this->text, 9, 2) . '3'; } } elseif (substr($this->text, 5, 1) === '0') { // manufacturer code ends with 0 if (substr($this->text, 6, 4) === '0000') { // Product must start with 0000 $this->upce = substr($this->text, 1, 4) . substr($this->text, 10, 1) . '4'; } } else { // No zero leading at manufacturer code $temp2 = intval(substr($this->text, 10, 1)); if (substr($this->text, 6, 4) === '0000' && $temp2 >= 5 && $temp2 <= 9) { // Product must start with 0000 and must end by 5,6,7,8 or 9 $this->upce = substr($this->text, 1, 5) . substr($this->text, 10, 1); } } } else { $this->upce = $this->text; } if ($this->upce === '') { throw new BCGParseException('upce', 'Your UPC-A can\'t be converted to UPC-E.'); } if ($c === 6) { $upca = ''; // We convert UPC-E to UPC-A to find the checksum if ($this->text[5] === '0' || $this->text[5] === '1' || $this->text[5] === '2') { $upca = substr($this->text, 0, 2) . $this->text[5] . '0000' . substr($this->text, 2, 3); } elseif ($this->text[5] === '3') { $upca = substr($this->text, 0, 3) . '00000' . substr($this->text, 3, 2); } elseif ($this->text[5] === '4') { $upca = substr($this->text, 0, 4) . '00000' . $this->text[4]; } else { $upca = substr($this->text, 0, 5) . '0000' . $this->text[5]; } $this->text = '0' . $upca; } parent::validate(); }