Example #1
0
 public function run()
 {
     $slides = SliderImage::find()->innerJoinWith('slider')->andWhere(['slider.active' => 1, 'slider.code' => $this->code, 'slider_image.active' => 1])->orderBy(['slider_image.sorter' => SORT_ASC, 'slider_image.id' => SORT_DESC])->all();
     if ($slides) {
         return $this->render('index', ['slides' => $slides, 'code' => $this->code]);
     }
 }
 public function search($params, $slider_id)
 {
     $query = SliderImage::find();
     $query->andWhere(['slider_image.slider_id' => $slider_id]);
     if (!Yii::$app->request->get('sort')) {
         $query->orderBy('slider_image.sorter');
     }
     $query->joinWith(['slider']);
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => Yii::$app->request->cookies->getValue('_grid_page_size', 20)], 'sort' => ['defaultOrder' => ['id' => SORT_DESC]]]);
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     $query->andFilterWhere(['slider_image.id' => $this->id, 'slider_image.active' => $this->active, 'slider_image.sorter' => $this->sorter, 'slider_image.slider_id' => $this->slider_id, 'slider_image.created_at' => $this->created_at, 'slider_image.updated_at' => $this->updated_at]);
     $query->andFilterWhere(['like', 'slider_image.link', $this->link]);
     return $dataProvider;
 }
Example #3
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getSliderImages()
 {
     return $this->hasMany(SliderImage::className(), ['slider_id' => 'id']);
 }
 /**
  * actionCrop
  */
 public function actionCrop()
 {
     if (isset($_REQUEST['modelId'])) {
         $model = SliderImage::findOne((int) $_REQUEST['modelId']);
         $uploadDir = $model->getUploadDir() . '/full';
         $model->prepareUploadDir($model->getUploadDir());
         $helper = new CropperHelper('cropperFileUpload', Yii::$app->request->baseUrl . "/images/slider_image/full/", $uploadDir);
         if (isset($_GET['cropper-data'])) {
             if ($model) {
                 $newImageName = uniqid() . '_' . $helper->_getData('originalName');
                 $helper->crop($uploadDir . '/' . $newImageName);
                 $helper->deleteTmpImage();
                 @unlink($uploadDir . '/' . $model->image);
                 $model->image = $newImageName;
                 $model->save(false);
                 Yii::$app->cache->flush();
             }
         }
         $tmpImage = $helper->getTmpImage();
         if ($tmpImage) {
             $model->image = $tmpImage;
             if ($model->validate('image')) {
                 $helper->saveTmpImage($tmpImage);
             } else {
                 $errors_tmp = $model->getErrors('image');
                 $helper->throwError($errors_tmp[0]);
             }
         }
     }
     if (isset($_GET['cropper-deleteTmpImage'])) {
         $model = new SliderImage();
         $uploadDir = $model->getUploadDir() . '/full';
         $helper = new CropperHelper('cropperFileUpload', Yii::$app->request->baseUrl . "/images/slider_image/full/", $uploadDir);
         $helper->deleteAllTmpImages();
     }
 }