public function createRevision()
 {
     $rev = new WikiPageRevision();
     $rev->user_id = Yii::$app->user->id;
     $rev->revision = time();
     $lastRevision = WikiPageRevision::find()->where(array('is_latest' => 1, 'wiki_page_id' => $this->id))->one();
     if ($lastRevision !== null) {
         $rev->content = $lastRevision->content;
     }
     if (!$this->isNewRecord) {
         $rev->wiki_page_id = $this->id;
     }
     return $rev;
 }
 public function actionHistory()
 {
     $id = Yii::$app->request->get('id');
     $page = WikiPage::find()->contentContainer($this->contentContainer)->readable()->where(['wiki_page.id' => $id])->one();
     if ($page === null) {
         throw new HttpException(404, 'Page not found!');
     }
     $query = WikiPageRevision::find();
     $query->orderBy('wiki_page_revision.id DESC');
     $query->where(['wiki_page_id' => $page->id]);
     $query->joinWith('author');
     $countQuery = clone $query;
     $pagination = new \yii\data\Pagination(['totalCount' => $countQuery->count(), 'pageSize' => "20"]);
     $query->offset($pagination->offset)->limit($pagination->limit);
     return $this->render('history', array('page' => $page, 'revisions' => $query->all(), 'pagination' => $pagination, 'homePage' => $this->getHomePage(), 'contentContainer' => $this->contentContainer));
 }