- <?php
- /**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- * @license http://framework.zend.com/license/new-bsd New BSD License
- */
-
- namespace Zend\Validator\Barcode;
-
- class Codabar extends AbstractAdapter
- {
- /**
- * Constructor for this barcode adapter
- */
- public function __construct()
- {
- $this->setLength(-1);
- $this->setCharacters('0123456789-$:/.+ABCDTN*E');
- $this->useChecksum(false);
- }
-
- /**
- * Checks for allowed characters
- * @see Zend\Validator\Barcode.AbstractAdapter::checkChars()
- */
- public function hasValidCharacters($value)
- {
- if (strpbrk($value, 'ABCD')) {
- $first = $value[0];
- if (!strpbrk($first, 'ABCD')) {
- // Missing start char
- return false;
- }
-
- $last = substr($value, -1, 1);
- if (!strpbrk($last, 'ABCD')) {
- // Missing stop char
- return false;
- }
-
- $value = substr($value, 1, -1);
- } elseif (strpbrk($value, 'TN*E')) {
- $first = $value[0];
- if (!strpbrk($first, 'TN*E')) {
- // Missing start char
- return false;
- }
-
- $last = substr($value, -1, 1);
- if (!strpbrk($last, 'TN*E')) {
- // Missing stop char
- return false;
- }
-
- $value = substr($value, 1, -1);
- }
-
- $chars = $this->getCharacters();
- $this->setCharacters('0123456789-$:/.+');
- $result = parent::hasValidCharacters($value);
- $this->setCharacters($chars);
- return $result;
- }
- }
# |
Change |
User |
Description |
Committed |
|
#1
|
18334 |
Liz Lam |
initial add of jambox |
9 years ago
|
|