Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'libs/Zend/Validate/Barcode.php')
-rw-r--r--libs/Zend/Validate/Barcode.php182
1 files changed, 30 insertions, 152 deletions
diff --git a/libs/Zend/Validate/Barcode.php b/libs/Zend/Validate/Barcode.php
index 111010880e..374a9e5449 100644
--- a/libs/Zend/Validate/Barcode.php
+++ b/libs/Zend/Validate/Barcode.php
@@ -14,164 +14,70 @@
*
* @category Zend
* @package Zend_Validate
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+ * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
- * @version $Id: Barcode.php 21748 2010-04-03 10:29:56Z thomas $
+ * @version $Id: Barcode.php 16223 2009-06-21 20:04:53Z thomas $
*/
/**
* @see Zend_Validate_Abstract
*/
-// require_once 'Zend/Validate/Abstract.php';
-
-/**
- * @see Zend_Loader
- */
-// require_once 'Zend/Loader.php';
+require_once 'Zend/Validate/Abstract.php';
/**
* @category Zend
* @package Zend_Validate
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+ * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Validate_Barcode extends Zend_Validate_Abstract
{
- const INVALID = 'barcodeInvalid';
- const FAILED = 'barcodeFailed';
- const INVALID_CHARS = 'barcodeInvalidChars';
- const INVALID_LENGTH = 'barcodeInvalidLength';
-
- protected $_messageTemplates = array(
- self::FAILED => "'%value%' failed checksum validation",
- self::INVALID_CHARS => "'%value%' contains invalid characters",
- self::INVALID_LENGTH => "'%value%' should have a length of %length% characters",
- self::INVALID => "Invalid type given, value should be string",
- );
-
- /**
- * Additional variables available for validation failure messages
- *
- * @var array
- */
- protected $_messageVariables = array(
- 'length' => '_length'
- );
-
- /**
- * Length for the set subtype
- *
- * @var integer
- */
- protected $_length;
-
/**
- * Barcode adapter
+ * Barcode validator
*
- * @var Zend_Validate_Barcode_BarcodeAdapter
+ * @var Zend_Validate_Abstract
*/
- protected $_adapter;
+ protected $_barcodeValidator;
/**
* Generates the standard validator object
*
- * @param string|Zend_Config|
- * Zend_Validate_Barcode_BarcodeAdapter $adapter Barcode adapter to use
+ * @param string $barcodeType - Barcode validator to use
* @return void
* @throws Zend_Validate_Exception
*/
- public function __construct($adapter)
- {
- if ($adapter instanceof Zend_Config) {
- $adapter = $adapter->toArray();
- }
-
- $options = null;
- $checksum = null;
- if (is_array($adapter)) {
- if (array_key_exists('options', $adapter)) {
- $options = $adapter['options'];
- }
-
- if (array_key_exists('checksum', $adapter)) {
- $checksum = $adapter['checksum'];
- }
-
- if (array_key_exists('adapter', $adapter)) {
- $adapter = $adapter['adapter'];
- } else {
- // require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("Missing option 'adapter'");
- }
- }
-
- $this->setAdapter($adapter, $options);
- if ($checksum !== null) {
- $this->setChecksum($checksum);
- }
- }
-
- /**
- * Returns the set adapter
- *
- * @return Zend_Validate_Barcode_BarcodeAdapter
- */
- public function getAdapter()
+ public function __construct($barcodeType)
{
- return $this->_adapter;
+ $this->setType($barcodeType);
}
/**
- * Sets a new barcode adapter
+ * Sets a new barcode validator
*
- * @param string|Zend_Validate_Barcode $adapter Barcode adapter to use
- * @param array $options Options for this adapter
+ * @param string $barcodeType - Barcode validator to use
* @return void
* @throws Zend_Validate_Exception
*/
- public function setAdapter($adapter, $options = null)
+ public function setType($barcodeType)
{
- $adapter = ucfirst(strtolower($adapter));
- // require_once 'Zend/Loader.php';
- if (Zend_Loader::isReadable('Zend/Validate/Barcode/' . $adapter. '.php')) {
- $adapter = 'Zend_Validate_Barcode_' . $adapter;
- }
-
- // if (!class_exists($adapter)) {
- // Zend_Loader::loadClass($adapter);
- // }
-
- $this->_adapter = new $adapter($options);
- if (!$this->_adapter instanceof Zend_Validate_Barcode_AdapterInterface) {
- // require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception(
- "Adapter " . $adapter . " does not implement Zend_Validate_Barcode_AdapterInterface"
- );
+ switch (strtolower($barcodeType)) {
+ case 'upc':
+ case 'upc-a':
+ require_once 'Zend/Validate/Barcode/UpcA.php';
+ $class = 'Zend_Validate_Barcode_UpcA';
+ break;
+ case 'ean13':
+ case 'ean-13':
+ require_once 'Zend/Validate/Barcode/Ean13.php';
+ $class = 'Zend_Validate_Barcode_Ean13';
+ break;
+ default:
+ require_once 'Zend/Validate/Exception.php';
+ throw new Zend_Validate_Exception("Barcode type '$barcodeType' is not supported'");
+ break;
}
- return $this;
- }
-
- /**
- * Returns the checksum option
- *
- * @return boolean
- */
- public function getChecksum()
- {
- return $this->getAdapter()->getCheck();
- }
-
- /**
- * Sets the checksum option
- *
- * @param boolean $checksum
- * @return Zend_Validate_Barcode
- */
- public function setChecksum($checksum)
- {
- $this->getAdapter()->setCheck($checksum);
- return $this;
+ $this->_barcodeValidator = new $class;
}
/**
@@ -184,34 +90,6 @@ class Zend_Validate_Barcode extends Zend_Validate_Abstract
*/
public function isValid($value)
{
- if (!is_string($value)) {
- $this->_error(self::INVALID);
- return false;
- }
-
- $this->_setValue($value);
- $adapter = $this->getAdapter();
- $this->_length = $adapter->getLength();
- $result = $adapter->checkLength($value);
- if (!$result) {
- $this->_error(self::INVALID_LENGTH);
- return false;
- }
-
- $result = $adapter->checkChars($value);
- if (!$result) {
- $this->_error(self::INVALID_CHARS);
- return false;
- }
-
- if ($this->getChecksum()) {
- $result = $adapter->checksum($value);
- if (!$result) {
- $this->_error(self::FAILED);
- return false;
- }
- }
-
- return true;
+ return call_user_func(array($this->_barcodeValidator, 'isValid'), $value);
}
}