コード例 #1
0
ファイル: FileUploadForm.php プロジェクト: Cranky4/npfs
 protected function beforeValidate()
 {
     if (empty($this->instanceId) && empty($this->tmpId)) {
         $this->addError('instanceId', 'Не указан instanceId.');
     }
     $file = CUploadedFile::getInstance($this, 'file');
     if ($file) {
         foreach (self::$deniedExtensions as $ext) {
             if (strpos($file->getName(), '.' . $ext) !== false) {
                 $this->addError('file', 'Файл имеет запрещенное расширение.');
                 return false;
             }
         }
     }
     $objectParameter = $this->getObjectParameter();
     //если есть ограничение по типу файлов, то нужно добавить в валидатор
     if ($objectParameter && ($addParam = $objectParameter->getAdditionalParameter())) {
         $types = FileExtension::getExtensionsByType($addParam);
         $validators = $this->getValidators('file');
         if (isset($validators[0]) && $validators[0] instanceof CFileValidator) {
             $validators[0]->types = $types;
         }
     }
     return parent::beforeValidate();
 }