Example #1
0
 /**
  * Initialize admin page theme
  */
 public function init()
 {
     if (AlbumSetting::getInfo('permission') == 1) {
         $arrThemes = Utility::getCurrentTemplate('public');
         Yii::app()->theme = $arrThemes['folder'];
         $this->layout = $arrThemes['layout'];
     } else {
         $this->redirect(Yii::app()->createUrl('site/index'));
     }
 }
 /**
  * After save attributes
  */
 protected function afterSave()
 {
     parent::afterSave();
     if ($this->isNewRecord) {
         // Add album directory
         $album_path = "public/album/" . $this->album_id;
         if (!file_exists($album_path)) {
             @mkdir($album_path, 0777, true);
             // Add file in album directory (index.php)
             $newFile = $album_path . '/index.php';
             $FileHandle = fopen($newFile, 'w');
         }
         $this->media = CUploadedFile::getInstance($this, 'media');
         if ($this->media instanceof CUploadedFile) {
             $fileName = time() . '_' . $this->album_id . '_' . Utility::getUrlTitle($this->title) . '.' . strtolower($this->media->extensionName);
             if ($this->media->saveAs($album_path . '/' . $fileName)) {
                 $images = new AlbumPhoto();
                 $images->album_id = $this->album_id;
                 $images->cover = '1';
                 $images->media = $fileName;
                 $images->save();
             }
         }
     } else {
         // Add Tags
         if ($this->keyword != '') {
             $model = OmmuTags::model()->find(array('select' => 'tag_id, body', 'condition' => 'publish = 1 AND body = :body', 'params' => array(':body' => $this->keyword)));
             $tag = new AlbumTag();
             $tag->album_id = $this->album_id;
             if ($model != null) {
                 $tag->tag_id = $model->tag_id;
             } else {
                 $data = new OmmuTags();
                 $data->body = $this->keyword;
                 if ($data->save()) {
                     $tag->tag_id = $data->tag_id;
                 }
             }
             $tag->save();
         }
     }
     if (AlbumSetting::getInfo('headline') == 1) {
         if ($this->headline == 1) {
             self::model()->updateAll(array('headline' => 0), array('condition' => 'album_id != :id AND cat_id = :cat', 'params' => array(':id' => $this->album_id, ':cat' => $this->cat_id)));
         }
     }
 }
 /**
  * After save attributes
  */
 protected function afterSave()
 {
     parent::afterSave();
     //set flex cover in album
     //if($this->cover == 1 || count(self::getPhoto($this->album_id)) == 1) {
     if ($this->cover == 1) {
         $cover = Albums::model()->findByPk($this->album_id);
         $cover->media_id = $this->media_id;
         $cover->update();
     }
     $setting = AlbumSetting::getInfo('photo_limit, photo_resize, photo_resize_size', 'many');
     $photo_limit = $setting->photo_limit;
     $photo_resize = $setting->photo_resize;
     $photo_resize_size = $setting->photo_resize_size;
     if ($this->album->cat->default_setting == 0) {
         $photo_limit = $this->album->cat->photo_limit;
         $photo_resize = $this->album->cat->photo_resize;
         $photo_resize_size = $this->album->cat->photo_resize_size;
     }
     //create thumb image
     if ($photo_resize == 1) {
         Yii::import('ext.phpthumb.PhpThumbFactory');
         $album_path = 'public/album/' . $this->album_id;
         $albumImg = PhpThumbFactory::create($album_path . '/' . $this->media, array('jpegQuality' => 90, 'correctPermissions' => true));
         $resizeSize = unserialize($photo_resize_size);
         if ($resizeSize['height'] == 0) {
             $albumImg->resize($resizeSize['width']);
         } else {
             $albumImg->adaptiveResize($resizeSize['width'], $resizeSize['height']);
         }
         $albumImg->save($album_path . '/' . $this->media);
     }
     //delete other photo (if photo_limit = 1)
     if ($photo_limit == 1) {
         self::model()->deleteAll(array('condition' => 'album_id = :id AND cover = :cover', 'params' => array(':id' => $this->album_id, ':cover' => 0)));
     }
 }