Ejemplo n.º 1
0
 /**
  * @param Page $page
  * @param CUploadedFile $image
  */
 public function __construct(Page $page, CUploadedFile $image)
 {
     $name = PageUploadedImage::createName($page, $image);
     $fullPath = PageUploadedImage::getSavePath() . '/../page/' . $name;
     $image->saveAs($fullPath);
     @chmod($fullPath, 0666);
     // Check if page has main image
     $is_main = (int) PageImage::model()->countByAttributes(array('page_id' => $page->id, 'is_main' => 1));
     $imageModel = new PageImage();
     $imageModel->page_id = $page->id;
     $imageModel->name = $name;
     $imageModel->is_main = $is_main == 0 ? true : false;
     $imageModel->uploaded_by = Yii::app()->user->getId();
     $imageModel->date_uploaded = date('Y-m-d H:i:s');
     $imageModel->save();
     $this->resize($fullPath);
     $this->watermark($fullPath);
 }
Ejemplo n.º 2
0
 /**
  * @param Page $model
  */
 public function updateMainImage(Page $model)
 {
     if (Yii::app()->request->getPost('mainImageId')) {
         // Clear current main image
         PageImage::model()->updateAll(array('is_main' => 0), 'page_id=:pid', array(':pid' => $model->id));
         // Set new main image
         PageImage::model()->updateByPk(Yii::app()->request->getPost('mainImageId'), array('is_main' => 1));
     }
 }
Ejemplo n.º 3
0
 /**
  * Delete file, etc...
  */
 public function afterDelete()
 {
     // Delete file
     if (file_exists($this->filePath)) {
         unlink($this->filePath);
     }
     // If main image was deleted
     if ($this->is_main) {
         // Get first image and set it as main
         $model = PageImage::model()->find();
         if ($model) {
             $model->is_main = 1;
             $model->save(false);
         }
     }
     return parent::afterDelete();
 }