Exemple #1
0
 /**
  * Checks that the 'field' parameter for download and delete file actions is valid.
  * If not, terminates script execution.
  *
  * @param Phprojekt_Model_Interface $model Current module.
  * @param string                    $field Name of the field in the module.
  *
  * @return void
  */
 private function _fileCheckParamField($model, $field)
 {
     $valid = false;
     $info = $model->info();
     if (in_array($field, $info['cols'])) {
         $dbManager = $model->getInformation();
         $dbField = $dbManager->find($field);
         if (!empty($dbField)) {
             $fieldType = $dbManager->getType($field);
             if ($fieldType == 'upload') {
                 $valid = true;
             }
         }
     }
     if (!$valid) {
         $error = Phprojekt::getInstance()->translate('Error in received parameter, consult the admin. Parameter:');
         $error .= ' field';
         // Log error
         Phprojekt::getInstance()->getLog()->err("Error: wrong 'field' parameter trying to Download or Delete a file" . ". User Id: " . Phprojekt_Auth::getUserId() . " - Module: " . $this->getRequest()->getModuleName());
         // Show error to user and stop script execution
         die($error);
     }
 }
Exemple #2
0
 /**
  * Checks that the 'field' parameter for download and delete file actions is valid.
  * If not, terminates script execution printing an error.
  *
  * @param Phprojekt_Model_Interface $model Current module.
  * @param string                    $field Name of the field in the module.
  *
  * @return void
  */
 private static function _checkParamField($model, $field)
 {
     $valid = false;
     $info = $model->info();
     if (in_array($field, $info['cols'])) {
         $dbManager = $model->getInformation();
         $fieldType = $dbManager->getType($field);
         if ($fieldType == 'upload') {
             $valid = true;
         }
     }
     if (!$valid) {
         $error = Phprojekt::getInstance()->translate('Error in received parameter, consult the admin. Parameter:');
         $error .= ' field';
         self::_logError("Error: wrong 'field' parameter trying to Download or Delete a file.", array(get_class($model), $field));
         throw new InvalidArgumentException($error);
     }
 }
Exemple #3
0
 /**
  * Validates a value using the database type of the field.
  *
  * @param Phprojekt_Model_Interface $class   Model object.
  * @param string                    $varname Name of the field.
  * @param mix                       $value   Value to validate.
  *
  * @return boolean True for valid.
  */
 public function validateValue(Phprojekt_Model_Interface $class, $varname, $value)
 {
     $info = $class->info();
     $varForInfo = Phprojekt_ActiveRecord_Abstract::convertVarToSql($varname);
     $valid = true;
     if (isset($info['metadata'][$varForInfo]) && !empty($value)) {
         $type = $info['metadata'][$varForInfo]['DATA_TYPE'];
         switch ($type) {
             case 'int':
                 $valid = Cleaner::validate('integer', $value, false);
                 break;
             case 'float':
                 $valid = Cleaner::validate('float', $value, false);
                 break;
             case 'date':
                 $valid = Cleaner::validate('date', $value, false);
                 break;
             case 'time':
                 // $valid = Cleaner::validate('timestamp', $value, false);
                 break;
             case 'timestamp':
             case 'datetime':
                 $valid = Cleaner::validate('timestamp', $value, false);
                 break;
             default:
                 $valid = Cleaner::validate('string', $value, true);
                 break;
         }
     }
     return $valid !== false;
 }