예제 #1
0
 public function isValid($value)
 {
     $ret = parent::isValid($value);
     if ($ret) {
         $mapper = new Application_Model_CsrfhashMapper();
         $mapper->deleteByCsrf($value);
     }
     return $ret;
 }
예제 #2
0
파일: Log.php 프로젝트: rukzuk/rukzuk
 /**
  * @param  string  $format
  * @return boolean
  */
 private function validateFormat($format)
 {
     $formatValidator = new \Zend_Validate_InArray($this->acceptedFormats);
     $formatValidator->setMessage("'%value%' ist kein unterstuetztes Format", \Zend_Validate_InArray::NOT_IN_ARRAY);
     if (!$formatValidator->isValid($format)) {
         $messages = array_values($formatValidator->getMessages());
         $this->addError(new Error('format', $format, $messages));
         return false;
     }
     return true;
 }
예제 #3
0
 /**
  * Ensures that the validator follows expected behavior
  *
  * @return void
  */
 public function testBasic()
 {
     $validator = new Zend_Validate_InArray(array(1, 'a', 2.3));
     $this->assertTrue($validator->isValid(1));
     $this->assertTrue($validator->isValid(1.0));
     $this->assertTrue($validator->isValid('1'));
     $this->assertTrue($validator->isValid('a'));
     $this->assertFalse($validator->isValid('A'));
     $this->assertTrue($validator->isValid(2.3));
     $this->assertTrue($validator->isValid(2.3));
 }
예제 #4
0
 /**
  * Checks if the provided value represents a boolean.
  *
  * @param mixed $value
  * @return boolean True if $value represents a boolean, false otherwise.
  */
 public function isValid($value)
 {
     if (is_array($value)) {
         // Arrays are not accepted.
         // Ensure that the value is not passed to the parent
         // isValid() method as it raises an error when generating
         // the failure message if PHP 5.4 is used.
         // See #14 for details:
         // https://github.com/Matthimatiker/MolComponents/issues/14
         return false;
     }
     return parent::isValid($value);
 }
예제 #5
0
 public function isValidImage($file, $max, $height, $width, $allowedTypes)
 {
     //check if its a proper image
     if ($file) {
         if (!$file['size']) {
             return array('Error' => 'Image: The file does not appear to be a proper image');
         }
     }
     //check size
     $validator = new Zend_Validate_Between('1', $max);
     if ($validator->isValid($file['size'])) {
     } else {
         // value failed validation; print reasons
         foreach ($validator->getMessages() as $message) {
             return array('Error' => 'Image:' . $message);
         }
     }
     //this validator uses GD
     if ($fileSizes = getimagesize($file['tmp_name'])) {
         $mime = $fileSizes['mime'];
         $actualWidth = $fileSizes[0];
         $actualHeight = $fileSizes[1];
         //check sizes
         if ($actualHeight > $height) {
             return array('Error' => 'Image height is bigger than ' . $height . ' pixels');
         }
         if ($actualWidth > $width) {
             return array('Error' => 'Image width is bigger than ' . $width . ' pixels');
         }
         //check type
         $validator = new Zend_Validate_InArray($allowedTypes);
         if ($valid = $validator->isValid($mime)) {
             if ($valid != '1') {
                 foreach ($validator->getMessages() as $message) {
                     return array('Error' => 'Image:' . $message);
                 }
             }
         }
     } else {
         return array('Error' => 'Image: Wrong file type');
     }
     return true;
 }
예제 #6
0
파일: InArrayTest.php 프로젝트: netvlies/zf
 public function testRecursiveStandalone()
 {
     $validator = new Zend_Validate_InArray(array('firstDimension' => array('test', 0, 'A'), 'secondDimension' => array('value', 2, 'a')));
     $this->assertFalse($validator->isValid('A'));
     $validator->setRecursive(true);
     $this->assertTrue($validator->isValid('A'));
 }
예제 #7
0
 /**
  * Validate element value
  *
  * @param  array   $data
  * @param  mixed   $context
  * @return boolean
  */
 public function isValid($data, $context = null, $removeNotPresentFields = false)
 {
     $this->setHaystack($this->getList());
     return parent::isValid($data, $context, $removeNotPresentFields);
 }
예제 #8
0
 /**
  * @group GH-365
  */
 public function testErrorMessageWithArrayValue()
 {
     $input = array(array('x'), array('y'));
     $validator = new Zend_Validate_InArray(array('a'));
     $validator->isValid($input);
     $messages = $validator->getMessages();
     $this->assertEquals("'x, y' was not found in the haystack", current($messages));
 }
예제 #9
0
파일: Base.php 프로젝트: rukzuk/rukzuk
 protected function validateBoolean($value, $name)
 {
     $booleanValidator = new \Zend_Validate_InArray(array('1', '0'));
     if (!$booleanValidator->isValid($value)) {
         $messages = array_values($booleanValidator->getMessages());
         $this->addError(new Error($name, $value, $messages));
         return false;
     }
     return true;
 }
예제 #10
0
 protected function _validateLteState($state)
 {
     $validator = new \Zend_Validate_InArray(array('true', 'false', '1', '0'));
     if (!$validator->isValid($state)) {
         AbstractService::throwValidateException($validator->getMessages(), ValidationCodes::INVALID_VALUE, 'lte');
     }
 }
예제 #11
0
파일: Import.php 프로젝트: rukzuk/rukzuk
 /**
  * @param integer $allowedType
  * @return boolean
  */
 private function validateAllowedType($allowedType, $field)
 {
     $typeValidator = new \Zend_Validate_InArray($this->expectedAllowedTypes);
     $typeValidator->setMessage("'%value%' ist kein unterstuetzter Import-Typ'", \Zend_Validate_InArray::NOT_IN_ARRAY);
     if (!$typeValidator->isValid($allowedType)) {
         $messages = array_values($typeValidator->getMessages());
         $this->addError(new Error($field, $allowedType, $messages));
         return false;
     }
     return true;
 }
예제 #12
0
파일: Cdn.php 프로젝트: rukzuk/rukzuk
 /**
  * validiert den paramter tpye
  *
  * @param string $type
  * @return boolean
  */
 private function validateType($type)
 {
     $typeValidator = new \Zend_Validate_InArray(array('page', 'template', 'website'));
     if (!$typeValidator->isValid($type)) {
         $messages = array_values($typeValidator->getMessages());
         $this->addError(new Error('type', $type, $messages));
         return false;
     }
     return true;
 }
예제 #13
0
 /**
  * Returns TRUE if value is one of $allowed, FALSE otherwise.
  *
  * @deprecated since 0.8.0
  * @param      mixed $value
  * @param      mixed $allowed
  * @return     boolean
  */
 public static function isOneOf($value, array $allowed)
 {
     require_once 'Zend/Validate/InArray.php';
     $validator = new Zend_Validate_InArray($allowed);
     return $validator->isValid($value);
 }
예제 #14
0
 public function setDbConnection($name, $host, $username, $password, $prefix = '', $adapter = 'Pdo_Mysql')
 {
     $dbError = false;
     if (empty($name)) {
         $this->addError('Your database name is required');
         $dbError = true;
     }
     if (empty($host)) {
         $this->addError('Your database host is required');
         $dbError = true;
     }
     if (empty($username)) {
         $this->addError('Your database username is required');
         $dbError = true;
     }
     if (empty($password)) {
         $this->addError('Your database password is required');
         $dbError = true;
     }
     $adapters = Digitalus_Installer_Database::getAllowedAdapters();
     $validator = new Zend_Validate_InArray($adapters);
     if (!$validator->isValid($adapter)) {
         $this->addError('Only the following database adapters are supported: ' . implode(', ', $adapters));
         $dbError = true;
     }
     $validator = new Zend_Validate_Regex(Digitalus_Installer_Database::DB_PREFIX_REGEX);
     if (!empty($prefix) && !$validator->isValid($prefix)) {
         $this->addError('For the table prefix a maximum of 12 only alphabetic and digit characters and underscore are allowed');
         $dbError = true;
     }
     if (!$dbError) {
         $connection = $this->_db->connect($name, $host, $username, $password, $prefix, $adapter);
         $this->_config->setDbConnection($name, $host, $username, $password, $prefix, $adapter);
         return $connection;
     }
     return false;
 }
예제 #15
0
파일: Media.php 프로젝트: rukzuk/rukzuk
 /**
  * @param string   $direction
  * @return boolean
  */
 private function validateFilterDirection($direction)
 {
     $inArrayValidator = new InArrayValidator(array('ASC', 'DESC', 'asc', 'desc'));
     $allowedDirectionValues = implode(', ', $inArrayValidator->getHaystack());
     $message = "Filter direction '%value%' enthält keinen der folgenden " . "gültigen Werte ({$allowedDirectionValues})";
     $inArrayValidator->setMessage($message, InArrayValidator::NOT_IN_ARRAY);
     if (!$inArrayValidator->isValid($direction)) {
         $messages = array_values($inArrayValidator->getMessages());
         $this->addError(new Error('direction', $direction, $messages));
         return false;
     }
     return true;
 }