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/File/Upload.php')
-rw-r--r--libs/Zend/Validate/File/Upload.php251
1 files changed, 0 insertions, 251 deletions
diff --git a/libs/Zend/Validate/File/Upload.php b/libs/Zend/Validate/File/Upload.php
deleted file mode 100644
index 3b92a9eb09..0000000000
--- a/libs/Zend/Validate/File/Upload.php
+++ /dev/null
@@ -1,251 +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: Upload.php 23775 2011-03-01 17:25:24Z ralph $
- */
-
-/**
- * @see Zend_Validate_Abstract
- */
-// require_once 'Zend/Validate/Abstract.php';
-
-/**
- * Validator for the maximum size of a file up to a max of 2GB
- *
- * @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_Upload extends Zend_Validate_Abstract
-{
- /**@#+
- * @const string Error constants
- */
- const INI_SIZE = 'fileUploadErrorIniSize';
- const FORM_SIZE = 'fileUploadErrorFormSize';
- const PARTIAL = 'fileUploadErrorPartial';
- const NO_FILE = 'fileUploadErrorNoFile';
- const NO_TMP_DIR = 'fileUploadErrorNoTmpDir';
- const CANT_WRITE = 'fileUploadErrorCantWrite';
- const EXTENSION = 'fileUploadErrorExtension';
- const ATTACK = 'fileUploadErrorAttack';
- const FILE_NOT_FOUND = 'fileUploadErrorFileNotFound';
- const UNKNOWN = 'fileUploadErrorUnknown';
- /**@#-*/
-
- /**
- * @var array Error message templates
- */
- protected $_messageTemplates = array(
- self::INI_SIZE => "File '%value%' exceeds the defined ini size",
- self::FORM_SIZE => "File '%value%' exceeds the defined form size",
- self::PARTIAL => "File '%value%' was only partially uploaded",
- self::NO_FILE => "File '%value%' was not uploaded",
- self::NO_TMP_DIR => "No temporary directory was found for file '%value%'",
- self::CANT_WRITE => "File '%value%' can't be written",
- self::EXTENSION => "A PHP extension returned an error while uploading the file '%value%'",
- self::ATTACK => "File '%value%' was illegally uploaded. This could be a possible attack",
- self::FILE_NOT_FOUND => "File '%value%' was not found",
- self::UNKNOWN => "Unknown error while uploading file '%value%'"
- );
-
- /**
- * Internal array of files
- * @var array
- */
- protected $_files = array();
-
- /**
- * Sets validator options
- *
- * The array $files must be given in syntax of Zend_File_Transfer to be checked
- * If no files are given the $_FILES array will be used automatically.
- * NOTE: This validator will only work with HTTP POST uploads!
- *
- * @param array|Zend_Config $files Array of files in syntax of Zend_File_Transfer
- * @return void
- */
- public function __construct($files = array())
- {
- if ($files instanceof Zend_Config) {
- $files = $files->toArray();
- }
-
- $this->setFiles($files);
- }
-
- /**
- * Returns the array of set files
- *
- * @param string $files (Optional) The file to return in detail
- * @return array
- * @throws Zend_Validate_Exception If file is not found
- */
- public function getFiles($file = null)
- {
- if ($file !== null) {
- $return = array();
- foreach ($this->_files as $name => $content) {
- if ($name === $file) {
- $return[$file] = $this->_files[$name];
- }
-
- if ($content['name'] === $file) {
- $return[$name] = $this->_files[$name];
- }
- }
-
- if (count($return) === 0) {
- // require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("The file '$file' was not found");
- }
-
- return $return;
- }
-
- return $this->_files;
- }
-
- /**
- * Sets the files to be checked
- *
- * @param array $files The files to check in syntax of Zend_File_Transfer
- * @return Zend_Validate_File_Upload Provides a fluent interface
- */
- public function setFiles($files = array())
- {
- if (count($files) === 0) {
- $this->_files = $_FILES;
- } else {
- $this->_files = $files;
- }
-
- // see ZF-10738
- if (is_null($this->_files)) {
- $this->_files = array();
- }
-
- foreach($this->_files as $file => $content) {
- if (!isset($content['error'])) {
- unset($this->_files[$file]);
- }
- }
-
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if the file was uploaded without errors
- *
- * @param string $value Single file to check for upload errors, when giving null the $_FILES array
- * from initialization will be used
- * @return boolean
- */
- public function isValid($value, $file = null)
- {
- $this->_messages = null;
- if (array_key_exists($value, $this->_files)) {
- $files[$value] = $this->_files[$value];
- } else {
- foreach ($this->_files as $file => $content) {
- if (isset($content['name']) && ($content['name'] === $value)) {
- $files[$file] = $this->_files[$file];
- }
-
- if (isset($content['tmp_name']) && ($content['tmp_name'] === $value)) {
- $files[$file] = $this->_files[$file];
- }
- }
- }
-
- if (empty($files)) {
- return $this->_throw($file, self::FILE_NOT_FOUND);
- }
-
- foreach ($files as $file => $content) {
- $this->_value = $file;
- switch($content['error']) {
- case 0:
- if (!is_uploaded_file($content['tmp_name'])) {
- $this->_throw($file, self::ATTACK);
- }
- break;
-
- case 1:
- $this->_throw($file, self::INI_SIZE);
- break;
-
- case 2:
- $this->_throw($file, self::FORM_SIZE);
- break;
-
- case 3:
- $this->_throw($file, self::PARTIAL);
- break;
-
- case 4:
- $this->_throw($file, self::NO_FILE);
- break;
-
- case 6:
- $this->_throw($file, self::NO_TMP_DIR);
- break;
-
- case 7:
- $this->_throw($file, self::CANT_WRITE);
- break;
-
- case 8:
- $this->_throw($file, self::EXTENSION);
- break;
-
- default:
- $this->_throw($file, self::UNKNOWN);
- break;
- }
- }
-
- if (count($this->_messages) > 0) {
- return false;
- } else {
- return true;
- }
- }
-
- /**
- * Throws an error of the given type
- *
- * @param string $file
- * @param string $errorType
- * @return false
- */
- protected function _throw($file, $errorType)
- {
- if ($file !== null) {
- if (is_array($file) and !empty($file['name'])) {
- $this->_value = $file['name'];
- }
- }
-
- $this->_error($errorType);
- return false;
- }
-}