Issues (2407)

application/controller/blog/menu.php (3 issues)

1
<?php
2
3
/* 	Divine CMS - Open source CMS for widespread use.
4
    Copyright (c) 2019 Mykola Burakov ([email protected])
5
6
    See SOURCE.txt for other and additional information.
7
8
    This file is part of Divine CMS.
9
10
    This program is free software: you can redistribute it and/or modify
11
    it under the terms of the GNU General Public License as published by
12
    the Free Software Foundation, either version 3 of the License, or
13
    (at your option) any later version.
14
15
    This program is distributed in the hope that it will be useful,
16
    but WITHOUT ANY WARRANTY; without even the implied warranty of
17
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
    GNU General Public License for more details.
19
20
    You should have received a copy of the GNU General Public License
21
    along with this program. If not, see <http://www.gnu.org/licenses/>. */
22
23
class ControllerBlogMenu extends \Divine\Engine\Core\Controller
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
24
{
25
    public function index()
0 ignored issues
show
Expected 2 blank lines before function; 0 found
Loading history...
26
    {
27
        $this->load->language('blog/menu');
28
        
29
        $configblog_name = $this->config->get('configblog_name');
30
        
31
        if (!empty($configblog_name)) {
32
            $data['text_blog'] = $this->config->get('configblog_name');
0 ignored issues
show
Comprehensibility Best Practice introduced by
$data was never initialized. Although not strictly required by PHP, it is generally a good practice to add $data = array(); before regardless.
Loading history...
33
        } else {
34
            $data['text_blog'] = $this->language->get('text_blog');
35
        }
36
37
        $data['text_go_to'] = $this->language->get('text_go_to');
38
39
        $data['blog'] = $this->url->link('blog/latest');
40
41
        // Menu
42
        $this->load->model('blog/category');
43
44
        $this->load->model('blog/article');
45
46
        $data['categories'] = array();
47
48
        $categories = $this->model_blog_category->getCategories(0);
49
50
        foreach ($categories as $category) {
51
            if ($category['top']) {
52
                // Level 2
53
                $children_data = array();
54
55
                $children = $this->model_blog_category->getCategories($category['blog_category_id']);
56
57
                foreach ($children as $child) {
58
                    $filter_data = array(
59
                        'filter_blog_category_id'  => $child['blog_category_id'],
60
                        'filter_sub_category' => true
61
                    );
62
63
                    $children_data[] = array(
64
                        'name'  => $child['name'] . ($this->config->get('configblog_article_count') ? ' (' . $this->model_blog_article->getTotalArticles($filter_data) . ')' : ''),
65
                        'href'  => $this->url->link('blog/category', 'blog_category_id=' . $category['blog_category_id'] . '_' . $child['blog_category_id'])
66
                    );
67
                }
68
69
                // Level 1
70
                $filter_data = array(
71
                        'filter_blog_category_id'  => $category['blog_category_id']
72
                    );
73
                
74
                $data['categories'][] = array(
75
                    'name'     => $category['name'] . ($this->config->get('configblog_article_count') ? ' (' . $this->model_blog_article->getTotalArticles($filter_data) . ')' : ''),
76
                    'children' => $children_data,
77
                    'column'   => $category['column'] ? $category['column'] : 1,
78
                    'href'     => $this->url->link('blog/category', 'blog_category_id=' . $category['blog_category_id'])
79
                );
80
            }
81
        }
82
        
83
        return $this->load->view('blog/menu', $data);
84
    }
85
}
86