Navbar   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 70
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 5
lcom 1
cbo 0
dl 0
loc 70
c 0
b 0
f 0
ccs 0
cts 25
cp 0
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A configure() 0 5 1
B getHtml() 0 51 4
1
<?php
2
/**
3
*   Navbar class
4
*
5
*/
6
namespace Marcusgsta\Navbar;
7
8
/**
9
*   Navbar class
10
*   creates html for navbar
11
*
12
*/
13
class Navbar
14
{
15
16
    public $config;
17
18
    public function configure()
19
    {
20
        $array = require ANAX_INSTALL_PATH . "/config/navbar.php";
21
        return $this->config = $array;
22
    }
23
24
    /**
25
    *   get html for navbar
26
    *   creates html for navbar
27
    *   @var array $items array of navbar items
28
    *   @var string $html html for navbar
29
    *   @return string $html html for navbar
30
    */
31
    public function getHtml()
32
    {
33
        $items = $this->config;
34
35
        $page = basename($_SERVER['REQUEST_URI']);
36
37
        // $values = $navbar['items'];
38
        // $navbarClass = $navbar['config']['navbar-class'];
39
        $values = $items['items'];
40
        $navbarClass = $items['config']['navbar-class'];
41
42
43
        $html = "<nav class='$navbarClass' style='background-color: #e3f2fd;'>
44
        <a class='navbar-brand' href='index'>Anax - ramverk med moduler</a>
45
        <button class='navbar-toggler navbar-toggler-right' type='button' data-toggle='collapse'
46
        data-target='#navbarsExample09' aria-controls='navbarsExample09'
47
         aria-expanded='false' aria-label='Toggle navigation'>
48
            <span class='navbar-toggler-icon'></span>
49
          </button>
50
          <div class='navbar-collapse collapse' id='navbarsExample09'>";
51
        $html .= "<ul class='navbar-nav mr-auto mt-2 mt-lg-0'>";
52
        // $page = basename($_SERVER['REQUEST_URI']);
53
        //foreach ($values as $key => $value) {
54
        foreach ($values as $value) {
55
            $route = $value['route'];
56
            $text = $value['text'];
57
            //$url = $app->url->create($route);
58
59
            $html .= "<li class=\"";
60
61
            if ($value['route'] == "") {
62
                $value['route'] = "htdocs";
63
            }
64
65
            if ($page == $value['route']) {
66
                //$html .= "selected";
67
                $html .= "nav-item active";
68
            } else {
69
                $html .= "nav-item";
70
            }
71
            // var_dump($_SERVER['REQUEST_URI']);
72
            // var_dump($route);
73
            // ($page == $url) ? "selected" : "";
74
            // $html .= "\"><a class='nav-link' href='" . $url . "'>" . $text . "</a></li>";
75
            //$html .= "\"><a class='nav-link' href='" . $route . "'>" . $text . "</a></li>";
76
            $html .= "\"><a class='nav-link' href='" . $route . "'>" . $text . "</a></li>";
77
        }
78
        $html .= "</ul></div></nav>";
79
80
        return $html;
81
    }
82
}
83