public function actionEdit($section, $forum, $thread_id) { if (($section = Sections::findOne(['lang' => $this->lang, 'alias' => $section])) !== null) { if (($forum = $section->getForums()->where(['alias' => $forum])->one()) !== null) { if (($model = $forum->getThreads()->where(['id' => $thread_id])->one()) !== null) { if (!$model->canEdit) { Yii::$app->session->setFlash('error', Yii::t('forum', "You havn't enough right to edit")); return $this->redirect($model->url); } if (Yii::$app->request->isPost) { $model->attachBehavior('ReplaceImagesBehavior', ['class' => \worstinme\jodit\ReplaceImagesBehavior::className(), 'path' => Yii::getAlias('@webroot/images/forum'), 'tempPath' => Yii::getAlias('@webroot/uploads/tmp/' . Yii::$app->user->identity->id), 'subfolder' => true, 'filename_model_suffix' => true, 'attribute' => 'content']); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect($model->url); } } return $this->render('edit', ['lang' => $this->lang, 'model' => $model, 'forum' => $forum, 'section' => $section]); } } } throw new NotFoundHttpException('The requested page does not exist.'); }
public function actionForumCreate($id = null, $section_id = null) { if (($model = Forums::findOne($id)) === null) { $model = new Forums(['section_id' => $section_id]); } if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect($model->url); } else { $sections = Sections::find()->select(['name'])->indexBy('id')->column(); return $this->render('forum-create', ['model' => $model, 'lang' => $this->lang, 'sections' => $sections]); } }
public function getSection() { return $this->hasOne(Sections::className(), ['id' => 'section_id'])->inverseOf('forums'); }