예제 #1
0
 public function actionLayouts()
 {
     $this->layout = 'layouts';
     $ref = Yii::$app->request->get('ref');
     $id = Yii::$app->request->get('id');
     //$selected_style_id=  Yii::$app->request->get('style_id', 0);
     $reset = Yii::$app->request->get('reset', 0);
     if (!empty($ref) && !empty($id)) {
         $user_id = AlphaId::id($ref, true);
         $pb_id = AlphaId::id($id, true);
         $model = new PhotobookForm();
         if (!$model->loadById($pb_id)) {
             Yii::$app->getSession()->setFlash('error', Yii::t('app', 'Фотокнига не найдена'));
             $this->redirect(Url::toRoute(['photobooks/index']));
             return;
         }
         //$styles=Style::find()->where(['delete'=>0])->all();
         if (empty($model->data)) {
             $model->data = [];
         }
         if (empty($model->data['processed'])) {
             $model->data['processed'] = [];
         }
         if ($reset == 1) {
             $pages = $model->generatePages($model->style_id);
             if (empty($pages)) {
                 Yii::$app->getSession()->setFlash('error', Yii::t('app', 'Необходимо загрузить как минимум по одному фото в группу'));
                 $this->redirect(Url::toRoute(['photobooks/upload-photos', 'id' => $id, 'ref' => $ref]));
                 return;
             }
             $model->data['pages'] = $pages;
         } else {
             $pages = $model->updatePages($model->style_id);
             if (empty($pages)) {
                 Yii::$app->getSession()->setFlash('error', Yii::t('app', 'Необходимо загрузить как минимум по одному фото в группу'));
                 $this->redirect(Url::toRoute(['photobooks/upload-photos', 'id' => $id, 'ref' => $ref]));
             }
             $model->data['pages'] = $pages;
         }
         //$model->style_id=$selected_style_id;
         if (!$model->save()) {
             Yii::$app->getSession()->setFlash('error', Yii::t('app', 'Не удалось сохранить'));
             $this->redirect(Url::toRoute(['photobooks/index']));
         }
         /* if($reset==1){
         
                         $this->redirect(Url::toRoute(['photobooks/layouts', 'ref'=>$ref, 'id'=>$id]));
                     }*/
         $photos = [];
         $groups = $model->photos;
         foreach ($groups as $group_name => $group) {
             foreach ($group['photos'] as $key => $photo_id) {
                 $mtime = UserUrl::photobookPhotos(false, $model->id, $model->user_id) . DIRECTORY_SEPARATOR . UserUrl::imageFile($photo_id, UserUrl::IMAGE_THUMB);
                 $photos[] = ['photo_id' => $photo_id, 'mtime' => $mtime];
             }
         }
         //$model->data['processed']
         return $this->redirect(Url::toRoute(['photobooks/edit', 'ref' => $ref, 'id' => $id]));
         // return $this->render('layouts', ['model'=>$model, 'ref'=>$ref, 'id'=>$id, 'pb_id'=>$pb_id, 'user_id'=>$user_id, 'pages'=>$pages, 'styles'=>$styles, 'photos'=>$photos, 'processed'=>$model->data['processed']]);
     } else {
         Yii::$app->getSession()->setFlash('error', Yii::t('app', 'Страница не найдена'));
         $this->redirect(Url::toRoute(['photobooks/index']));
     }
 }