source: trunk/library/Zend/Validate/File/NotExists.php @ 5146

Revision 5146, 2.5 KB checked in by wmerlotto, 12 years ago (diff)

Ticket #2305 - Enviando alteracoes, desenvolvidas internamente na Prognus. Library: adicionando arquivos.

Line 
1<?php
2/**
3 * Zend Framework
4 *
5 * LICENSE
6 *
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.
14 *
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: NotExists.php 20352 2010-01-17 17:55:38Z thomas $
20 */
21
22/**
23 * @see Zend_Validate_File_Exists
24 */
25require_once 'Zend/Validate/File/Exists.php';
26
27/**
28 * Validator which checks if the destination file does not exist
29 *
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
34 */
35class Zend_Validate_File_NotExists extends Zend_Validate_File_Exists
36{
37    /**
38     * @const string Error constants
39     */
40    const DOES_EXIST = 'fileNotExistsDoesExist';
41
42    /**
43     * @var array Error message templates
44     */
45    protected $_messageTemplates = array(
46        self::DOES_EXIST => "File '%value%' exists",
47    );
48
49    /**
50     * Defined by Zend_Validate_Interface
51     *
52     * Returns true if and only if the file does not exist in the set destinations
53     *
54     * @param  string  $value Real file to check for
55     * @param  array   $file  File data from Zend_File_Transfer
56     * @return boolean
57     */
58    public function isValid($value, $file = null)
59    {
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;
65        }
66
67        foreach ($directories as $directory) {
68            if (empty($directory)) {
69                continue;
70            }
71
72            $check = true;
73            if (file_exists($directory . DIRECTORY_SEPARATOR . $file['name'])) {
74                return $this->_throw($file, self::DOES_EXIST);
75            }
76        }
77
78        if (!isset($check)) {
79            return $this->_throw($file, self::DOES_EXIST);
80        }
81
82        return true;
83    }
84}
Note: See TracBrowser for help on using the repository browser.