[ZF-10089] Zend_Log
[zend.git] / library / Zend / Validate / File / NotExists.php
blob8fb5efe9e00ad6b5ff8737c8d6a9132720b84f99
1 <?php
2 /**
3 * Zend Framework
5 * LICENSE
7 * This source file is subject to the new BSD license that is bundled
8 * with this package in the file LICENSE.txt.
9 * It is also available through the world-wide-web at this URL:
10 * http://framework.zend.com/license/new-bsd
11 * If you did not receive a copy of the license and are unable to
12 * obtain it through the world-wide-web, please send an email
13 * to license@zend.com so we can send you a copy immediately.
15 * @category Zend
16 * @package Zend_Validate
17 * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
18 * @license http://framework.zend.com/license/new-bsd New BSD License
19 * @version $Id$
22 /**
23 * @see Zend_Validate_File_Exists
25 require_once 'Zend/Validate/File/Exists.php';
27 /**
28 * Validator which checks if the destination file does not exist
30 * @category Zend
31 * @package Zend_Validate
32 * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
33 * @license http://framework.zend.com/license/new-bsd New BSD License
35 class Zend_Validate_File_NotExists extends Zend_Validate_File_Exists
37 /**
38 * @const string Error constants
40 const DOES_EXIST = 'fileNotExistsDoesExist';
42 /**
43 * @var array Error message templates
45 protected $_messageTemplates = array(
46 self::DOES_EXIST => "File '%value%' exists",
49 /**
50 * Defined by Zend_Validate_Interface
52 * Returns true if and only if the file does not exist in the set destinations
54 * @param string $value Real file to check for
55 * @param array $file File data from Zend_File_Transfer
56 * @return boolean
58 public function isValid($value, $file = null)
60 $directories = $this->getDirectory(true);
61 if (($file !== null) and (!empty($file['destination']))) {
62 $directories[] = $file['destination'];
63 } else if (!isset($file['name'])) {
64 $file['name'] = $value;
67 foreach ($directories as $directory) {
68 if (empty($directory)) {
69 continue;
72 $check = true;
73 if (file_exists($directory . DIRECTORY_SEPARATOR . $file['name'])) {
74 return $this->_throw($file, self::DOES_EXIST);
78 if (!isset($check)) {
79 return $this->_throw($file, self::DOES_EXIST);
82 return true;