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]);
     }
 }
Example #3
0
 public function getSection()
 {
     return $this->hasOne(Sections::className(), ['id' => 'section_id'])->inverseOf('forums');
 }