Code Duplication    Length = 38-38 lines in 2 locations

frontend/controllers/PostController.php 1 location

@@ 33-70 (lines=38) @@
30
     * @return string
31
     * @throws \yii\web\NotFoundHttpException
32
     */
33
    public function actionIndex($id = null, $slug = null)
34
    {
35
        $render = 'index';
36
37
        if ($id) {
38
            $postType = $this->findPostType($id);
39
        } elseif ($slug) {
40
            $postType = $this->findPostTypeBySlug($slug);
41
        } else {
42
            throw new NotFoundHttpException(Yii::t('writesdown', 'The requested page does not exist.'));
43
        }
44
45
        $query = $postType->getPosts()
46
            ->andWhere(['status' => 'publish'])
47
            ->andWhere(['<=', 'date', date('Y-m-d H:i:s')])
48
            ->orderBy(['id' => SORT_DESC]);
49
        $countQuery = clone $query;
50
        $pages = new Pagination([
51
            'totalCount' => $countQuery->count(),
52
            'pageSize' => Option::get('posts_per_page'),
53
        ]);
54
        $query->offset($pages->offset)->limit($pages->limit);
55
        $posts = $query->all();
56
57
        if ($posts) {
58
            if (is_file($this->view->theme->basePath . '/post/index-' . $postType->name . '.php')) {
59
                $render = 'index-' . $postType->name . '.php';
60
            }
61
62
            return $this->render($render, [
63
                'postType' => $postType,
64
                'posts' => $posts,
65
                'pages' => $pages,
66
            ]);
67
        }
68
69
        throw new NotFoundHttpException(Yii::t('writesdown', 'The requested page does not exist.'));
70
    }
71
72
    /**
73
     * Displays a single Post model.

frontend/controllers/UserController.php 1 location

@@ 33-70 (lines=38) @@
30
     * @return mixed
31
     * @throws \yii\web\NotFoundHttpException
32
     */
33
    public function actionView($id = null, $user = null)
34
    {
35
        $render = '/user/view';
36
37
        if ($id) {
38
            $model = $this->findModel($id);
39
        } elseif ($user) {
40
            $model = $this->findModelByUsername($user);
41
        } else {
42
            throw new NotFoundHttpException(Yii::t('writesdown', 'The requested page does not exist.'));
43
        }
44
45
        $query = $model->getPosts()
46
            ->andWhere(['status' => 'publish'])
47
            ->andWhere(['<=', 'date', date('Y-m-d H:i:s')])
48
            ->orderBy(['date' => SORT_DESC]);
49
        $countQuery = clone $query;
50
        $pages = new Pagination([
51
            'totalCount' => $countQuery->count(),
52
            'pageSize' => Option::get('posts_per_page'),
53
        ]);
54
        $query->offset($pages->offset)->limit($pages->limit);
55
        $posts = $query->all();
56
57
        if ($posts) {
58
            if (is_file($this->view->theme->basePath . '/user/view-' . $model->username . '.php')) {
59
                $render = 'view-' . $model->username . '.php';
60
            }
61
62
            return $this->render($render, [
63
                'user' => $model,
64
                'posts' => $posts,
65
                'pages' => isset($pages) ? $pages : null,
66
            ]);
67
        }
68
69
        throw new NotFoundHttpException(Yii::t('writesdown', 'The requested page does not exist.'));
70
    }
71
72
    /**
73
     * Finds the User model based on its primary key value.