public function actionCreatePhotobook() { \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; if (Yii::$app->user->isGuest) { return ['error' => ['msg' => Yii::t('app', 'Ошибка доступа')]]; } $model = new PhotobookForm(); $title_line_1 = Yii::$app->request->post('title_line_1', ''); $title_line_2 = Yii::$app->request->post('title_line_2', ''); $title_line_3 = Yii::$app->request->post('title_line_3', ''); $title_line_4 = Yii::$app->request->post('title_line_4', ''); $user_id = Yii::$app->user->identity->getId(); $model->user_id = $user_id; $model->title_line_1 = $title_line_1; $model->title_line_2 = $title_line_2; $model->title_line_3 = $title_line_3; $model->title_line_4 = $title_line_4; $line_1 = !empty($model->title_line_1) ? $model->title_line_1 : ' '; $line_2 = !empty($model->title_line_2) ? $model->title_line_2 : ' '; $line_3 = !empty($model->title_line_3) ? $model->title_line_3 : ' '; $line_4 = !empty($model->title_line_3) ? $model->title_line_4 : ' '; $model->name = $line_1 . " " . $line_2 . " " . $line_3; $model->status = Photobook::STATUS_NEW; $model->data = ''; $model->template = ''; if (empty($model->photos)) { //Забиваем группа по умолчанию $model->photos = ['Утро невесты' => ['photos' => [], 'reversals' => 3], 'Прогулка' => ['photos' => [], 'reversals' => 3], 'Текст' => ['type' => 'text', 'photos' => [], 'texts' => [], 'reversals' => 3]]; } $styles = Style::find()->where(['delete' => 0, 'status' => 1])->all(); if (empty($styles)) { return ['error' => ['msg' => Yii::t('app', 'Не удалось создать новую фотокнигу. Так как нет ни одного опубликованого стиля.')]]; } $model->style_id = $styles[0]->id; $covers = Cover::find()->where(['status' => 1])->all(); if (empty($covers)) { return ['error' => ['msg' => Yii::t('app', 'Не удалось создать новую фотокнигу. Так как нет ни одной опубликованой обложки.')]]; } $cover_index = 0; foreach ($covers as $key => $cover) { if ($cover->default == 1) { $cover_index = $key; break; } } $model->cover_id = $covers[$cover_index]->id; $photobook = $model->save(); if ($photobook) { $result = $model->updateCoverWindowImageText('title_line_1', $title_line_1); Yii::getLogger()->log('updateCoverWindowImageText:' . print_r($result, true), YII_DEBUG); return ['response' => ['status' => true, 'redirect' => Url::toRoute(['photobooks/upload-photos', 'ref' => AlphaId::id($photobook->user_id), 'id' => AlphaId::id($photobook->id)])]]; } else { return ['error' => ['msg' => Yii::t('app', 'Не удалось сохранить фотокнигу.')]]; } }
public function actionUploadPhotos() { // [ 'Группа 1'=>['photo1', 'photo2', 'photo3'], 'Группа 2'=>['photo1', 'photo2', 'photo3'], 'Группа 3'=>['photo1', 'photo2', 'photo3'] ] $this->layout = 'uploads'; $ref = Yii::$app->request->get('ref'); $id = Yii::$app->request->get('id'); $selected_style_id = Yii::$app->request->get('style_id', 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, 'status' => 1])->all(); if ($selected_style_id == 0) { $selected_style_id = $styles[0]->id; } $settings = new SettingForm(); $note_upload_page = $settings->getValue('note_upload_page', ''); return $this->render('uploadPhotos', ['model' => $model, 'ref' => $ref, 'id' => $id, 'pb_id' => $pb_id, 'user_id' => $user_id, 'styles' => $styles, 'selected_style_id' => $selected_style_id, 'note_upload_page' => $note_upload_page]); } else { Yii::$app->getSession()->setFlash('error', Yii::t('app', 'Страница не найдена')); $this->redirect(Url::toRoute(['photobooks/index'])); } }
public function actionAdd() { $this->layout = 'default'; $count = Style::find()->count(); $count++; $model = new Style(); // $model->count_placeholder=0; $model->name = Yii::t('app', 'Новый стиль {num}', ['num' => $count]); $model->weight = $count; $model->thumb_key = "default_style_thumb"; $model->status = Style::STATUS_PUBLISHED; $layout = $this->_generateRandomLayout(1); $data = []; $data['layouts'] = [$layout]; $model->data = json_encode($data); if ($model->save()) { $this->redirect(Url::toRoute(['styles/edit', 'id' => $model->id])); } else { Yii::$app->getSession()->setFlash('error', Yii::t('app', 'Не удалось сохранить стиль.')); $this->redirect(Url::toRoute(['styles/index'])); } return; }