/usr/share/php/Icinga/Web/Form/Validator/DateFormatValidator.php is in php-icinga 2.1.0-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | <?php
/* Icinga Web 2 | (c) 2013-2015 Icinga Development Team | GPLv2+ */
namespace Icinga\Web\Form\Validator;
use Zend_Validate_Abstract;
/**
* Validator that checks if a textfield contains a correct date format
*/
class DateFormatValidator extends Zend_Validate_Abstract
{
/**
* Valid date characters according to @see http://www.php.net/manual/en/function.date.php
*
* @var array
*
* @see http://www.php.net/manual/en/function.date.php
*/
private $validChars =
array('d', 'D', 'j', 'l', 'N', 'S', 'w', 'z', 'W', 'F', 'm', 'M', 'n', 't', 'L', 'o', 'Y', 'y');
/**
* List of sensible time separators
*
* @var array
*/
private $validSeparators = array(' ', ':', '-', '/', ';', ',', '.');
/**
* Error templates
*
* @var array
*
* @see Zend_Validate_Abstract::$_messageTemplates
*/
protected $_messageTemplates = array(
'INVALID_CHARACTERS' => 'Invalid date format'
);
/**
* Validate the input value
*
* @param string $value The format string to validate
* @param null $context The form context (ignored)
*
* @return bool True when the input is valid, otherwise false
*
* @see Zend_Validate_Abstract::isValid()
*/
public function isValid($value, $context = null)
{
$rest = trim($value, join(' ', array_merge($this->validChars, $this->validSeparators)));
if (strlen($rest) > 0) {
$this->_error('INVALID_CHARACTERS');
return false;
}
return true;
}
}
|