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'])); } }