update v1.0.7.9 R.C.
This is a Release Candidate. We are still testing.
This commit is contained in:
66
vendor/zendframework/zend-validator/src/Barcode/Codabar.php
vendored
Normal file
66
vendor/zendframework/zend-validator/src/Barcode/Codabar.php
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
/**
|
||||
* Zend Framework (http://framework.zend.com/)
|
||||
*
|
||||
* @link http://github.com/zendframework/zf2 for the canonical source repository
|
||||
* @copyright Copyright (c) 2005-2015 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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user