Ejemplo n.º 1
0
 public function saveImage(ImageUpload $image)
 {
     $path = Yii::getPathOfAlias('webroot') . '/' . $this->getImgPath();
     foreach ($this->imgParams as $params) {
         $width = (int) $params['width'];
         $height = (int) $params['height'];
         $quality = isset($params['quality']) ? (int) $params['quality'] : $this->defaultQuality;
         $imageName = $this->_getImageName();
         if ($image->processed) {
             $image->image_resize = TRUE;
             $image->file_new_name_body = $imageName;
             $image->image_x = $width;
             $image->image_y = $height;
             $image->image_ratio = TRUE;
             $image->jpeg_quality = $quality;
             $image->process($path);
             if ($image->processed) {
                 $this->owner->{$this->attributeName} = $image->file_dst_name;
                 if (isset($params['thumb'])) {
                     $width = (int) $params['thumb']['width'];
                     $height = (int) $params['thumb']['height'];
                     $quality = isset($params['thumb']['quality']) ? (int) $params['thumb']['quality'] : $this->defaultQuality;
                     $image->image_resize = TRUE;
                     $image->file_new_name_body = $imageName;
                     $image->file_name_body_add = '_thumb';
                     $image->image_x = $width;
                     $image->image_y = $height;
                     $image->jpeg_quality = $quality;
                     $image->image_ratio = TRUE;
                     $image->process($path);
                     if (!$image->processed) {
                         Yii::log($image->error, CLogger::LEVEL_ERROR, 'ImageUploadBehavior');
                     }
                 }
             } else {
                 Yii::log($image->error, CLogger::LEVEL_ERROR, 'ImageUploadBehavior');
             }
         } else {
             Yii::log($image->error, CLogger::LEVEL_ERROR, 'ImageUploadBehavior');
         }
     }
 }