public function actionEdit()
 {
     $id = (int) Yii::$app->request->get('id');
     $page = WikiPage::find()->contentContainer($this->contentContainer)->readable()->where(['wiki_page.id' => $id])->one();
     if ($page === null) {
         $page = new WikiPage();
         $page->content->setContainer($this->contentContainer);
         $page->content->visibility = Content::VISIBILITY_PRIVATE;
         $page->title = Yii::$app->request->get('title');
     }
     if ($page->admin_only && !$page->canAdminister()) {
         throw new HttpException(403, 'Page not editable!');
     }
     $revision = $page->createRevision();
     if ($page->load(Yii::$app->request->post()) && $revision->load(Yii::$app->request->post())) {
         $page->content->container = $this->contentContainer;
         if ($page->validate()) {
             $page->save();
             File::attachPrecreated($page, Yii::$app->request->post('fileUploaderHiddenGuidField'));
             $revision->wiki_page_id = $page->id;
             if ($revision->validate()) {
                 $revision->save();
                 return $this->redirect($this->contentContainer->createUrl('view', array('title' => $page->title)));
             }
         }
     }
     return $this->render('edit', ['page' => $page, 'revision' => $revision, 'homePage' => $this->getHomePage(), 'contentContainer' => $this->contentContainer]);
 }