diff options
Diffstat (limited to 'libs/Zend/Validate/File/Sha1.php')
-rw-r--r-- | libs/Zend/Validate/File/Sha1.php | 181 |
1 files changed, 0 insertions, 181 deletions
diff --git a/libs/Zend/Validate/File/Sha1.php b/libs/Zend/Validate/File/Sha1.php deleted file mode 100644 index fe346ae41a..0000000000 --- a/libs/Zend/Validate/File/Sha1.php +++ /dev/null @@ -1,181 +0,0 @@ -<?php -/** - * Zend Framework - * - * LICENSE - * - * This source file is subject to the new BSD license that is bundled - * with this package in the file LICENSE.txt. - * It is also available through the world-wide-web at this URL: - * http://framework.zend.com/license/new-bsd - * If you did not receive a copy of the license and are unable to - * obtain it through the world-wide-web, please send an email - * to license@zend.com so we can send you a copy immediately. - * - * @category Zend - * @package Zend_Validate - * @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com) - * @license http://framework.zend.com/license/new-bsd New BSD License - * @version $Id: Sha1.php 23775 2011-03-01 17:25:24Z ralph $ - */ - -/** - * @see Zend_Validate_File_Hash - */ -// require_once 'Zend/Validate/File/Hash.php'; - -/** - * Validator for the sha1 hash of given files - * - * @category Zend - * @package Zend_Validate - * @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com) - * @license http://framework.zend.com/license/new-bsd New BSD License - */ -class Zend_Validate_File_Sha1 extends Zend_Validate_File_Hash -{ - /** - * @const string Error constants - */ - const DOES_NOT_MATCH = 'fileSha1DoesNotMatch'; - const NOT_DETECTED = 'fileSha1NotDetected'; - const NOT_FOUND = 'fileSha1NotFound'; - - /** - * @var array Error message templates - */ - protected $_messageTemplates = array( - self::DOES_NOT_MATCH => "File '%value%' does not match the given sha1 hashes", - self::NOT_DETECTED => "A sha1 hash could not be evaluated for the given file", - self::NOT_FOUND => "File '%value%' is not readable or does not exist", - ); - - /** - * Hash of the file - * - * @var string - */ - protected $_hash; - - /** - * Sets validator options - * - * $hash is the hash we accept for the file $file - * - * @param string|array $options - * @return void - */ - public function __construct($options) - { - if ($options instanceof Zend_Config) { - $options = $options->toArray(); - } elseif (is_scalar($options)) { - $options = array('hash1' => $options); - } elseif (!is_array($options)) { - // require_once 'Zend/Validate/Exception.php'; - throw new Zend_Validate_Exception('Invalid options to validator provided'); - } - - $this->setHash($options); - } - - /** - * Returns all set sha1 hashes - * - * @return array - */ - public function getSha1() - { - return $this->getHash(); - } - - /** - * Sets the sha1 hash for one or multiple files - * - * @param string|array $options - * @return Zend_Validate_File_Hash Provides a fluent interface - */ - public function setHash($options) - { - if (!is_array($options)) { - $options = (array) $options; - } - - $options['algorithm'] = 'sha1'; - parent::setHash($options); - return $this; - } - - /** - * Sets the sha1 hash for one or multiple files - * - * @param string|array $options - * @return Zend_Validate_File_Hash Provides a fluent interface - */ - public function setSha1($options) - { - $this->setHash($options); - return $this; - } - - /** - * Adds the sha1 hash for one or multiple files - * - * @param string|array $options - * @return Zend_Validate_File_Hash Provides a fluent interface - */ - public function addHash($options) - { - if (!is_array($options)) { - $options = (array) $options; - } - - $options['algorithm'] = 'sha1'; - parent::addHash($options); - return $this; - } - - /** - * Adds the sha1 hash for one or multiple files - * - * @param string|array $options - * @return Zend_Validate_File_Hash Provides a fluent interface - */ - public function addSha1($options) - { - $this->addHash($options); - return $this; - } - - /** - * Defined by Zend_Validate_Interface - * - * Returns true if and only if the given file confirms the set hash - * - * @param string $value Filename to check for hash - * @param array $file File data from Zend_File_Transfer - * @return boolean - */ - public function isValid($value, $file = null) - { - // Is file readable ? - // require_once 'Zend/Loader.php'; - if (!Zend_Loader::isReadable($value)) { - return $this->_throw($file, self::NOT_FOUND); - } - - $hashes = array_unique(array_keys($this->_hash)); - $filehash = hash_file('sha1', $value); - if ($filehash === false) { - return $this->_throw($file, self::NOT_DETECTED); - } - - foreach ($hashes as $hash) { - if ($filehash === $hash) { - return true; - } - } - - return $this->_throw($file, self::DOES_NOT_MATCH); - } -} |