Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 4633 | Rev 4635 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
4623 stevensc 1
<?php
2
 
1 www 3
use LeadersLinked\Model\UserType;
4
 
5
$currentUserPlugin = $this->currentUserHelper();
6
$currentUser = $currentUserPlugin->getUser();
4623 stevensc 7
$currentCompany = $currentUserPlugin->getCompany();
1 www 8
 
4621 stevensc 9
 
4623 stevensc 10
if ($currentCompany) {
11
  $menu = getAclMenuCompany();
1 www 12
} else {
4623 stevensc 13
  $menu = getAclMenuSystem();
1 www 14
}
15
 
4621 stevensc 16
 
17
 
18
 
4623 stevensc 19
$usertype_id = $currentUser->usertype_id;
4621 stevensc 20
 
1 www 21
//[REQUEST_URI] => /settings/company-sizes/
22
$request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
23
 
24
 
4623 stevensc 25
if ($request_uri) {
26
  if (substr($request_uri, 0, 1) == '/') {
27
    $request_uri = substr($request_uri, 1);
28
  }
29
  if (substr($request_uri, strlen($request_uri) - 1, 1) == '/') {
30
    $request_uri = substr($request_uri, 0, strlen($request_uri) - 1);
31
  }
4621 stevensc 32
}
1 www 33
 
34
$acl = $this->viewModel()->getCurrent()->getVariable('acl');
35
/*
36
$this->inlineScript()->captureStart();
37
  echo <<<JS
38
    const redirectToDashboard = () => {
39
      console.log('>>: redirect > ')
40
      document.location.href = '/dashboard';
41
    }
4633 stevensc 42
    JS;
43
    $this->inlineScript()->captureEnd();
44
    */
45
 
46
$jsonMenu = json_encode($menu);
4629 stevensc 47
$js = <<<JS
4630 stevensc 48
const backendVars= {
4633 stevensc 49
  data: JSON.parse('$jsonMenu')
4630 stevensc 50
}
4629 stevensc 51
JS;
4634 stevensc 52
$this->inlineScript()->appendScript($js);
4629 stevensc 53
$this->inlineScript()->appendFile('/react-bundles/menu/menuBundle.js');
1 www 54
?>
4623 stevensc 55
<nav class="mt-2">
56
  <div id="menu-sidebar"></div>
57
  <ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
58
    <?php foreach ($menu as $levelOne) :
1 www 59
 
4621 stevensc 60
 
61
 
4623 stevensc 62
      if (!$levelOne || !$levelOne['route'] || !$acl->isAllowed($usertype_id, $levelOne['route'])) {
63
        continue;
64
      }
4621 stevensc 65
 
66
 
4623 stevensc 67
      if (empty($levelOne['pages'])) :
4621 stevensc 68
 
4623 stevensc 69
 
70
    ?>
71
        <li class="nav-item">
72
          <a href="/<?php echo $levelOne['route'] ?>" class="nav-link">
73
 
74
            <i class="nav-icon <?php echo $levelOne['class'] ?>"></i>
75
            <p><?php echo $levelOne['label'] ?></p>
76
          </a>
77
        </li>
78
      <?php else :
79
 
80
        if (strpos($request_uri, $levelOne['route']) === false) {
81
          echo '<li class="nav-item">';
82
        } else {
83
          echo '<li class="nav-item menu-is-opening menu-open">';
84
        }
85
 
86
 
87
 
88
 
89
      ?>
90
 
91
 
92
 
93
        <a href="/dashboard" class="nav-link">
94
          <i class="nav-icon <?php echo $levelOne['class'] ?>"></i>
95
 
96
          <?php echo $levelOne['label'] ?>
97
          <i class="fa fa-angle-left right"></i>
98
 
99
        </a>
100
        <?php
101
        if (strpos($request_uri, $levelOne['route']) === false) {
102
          echo '<ul class="nav nav-treeview" style="display: none;">';
103
        } else {
104
          echo '<ul class="nav nav-treeview" style="display: block;">';
105
        }
106
        ?>
107
 
108
 
109
        <?php
110
        foreach ($levelOne['pages']  as $levelTwo) :
111
          if (!$acl->isAllowed($usertype_id,  $levelTwo['route'])) {
112
            continue;
113
          }
114
 
115
          if (empty($levelTwo['pages'])) :
116
        ?>
117
 
118
 
119
 
120
            <li class="nav-item">
121
              <a href="/<?php echo $levelTwo['route']  ?>" class="nav-link">
122
                <i class="fa fa-circle nav-icon"></i>
123
                <p><?php echo $levelTwo['label']  ?></p>
124
              </a>
125
            </li>
126
          <?php else :
127
 
128
            if (strpos($request_uri, $levelTwo['route']) === false) {
129
              echo '<li class="nav-item">';
4621 stevensc 130
            } else {
4623 stevensc 131
              echo '<li class="nav-item menu-is-opening menu-open">';
132
            }
133
          ?>
134
            <a href="#" class="nav-link">
135
              <i class="fa fa-circle nav-icon"></i>
136
              <p>
137
                <?php echo $levelTwo['label']  ?>
138
                <i class="right fa fa-angle-right"></i>
4621 stevensc 139
 
4623 stevensc 140
              </p>
141
            </a>
142
            <ul class="nav nav-treeview">
143
              <?php foreach ($levelTwo['pages'] as $levelThree) : ?>
4621 stevensc 144
                <li class="nav-item">
4623 stevensc 145
                  <a href="/<?php echo $levelThree['route'] ?>" class="nav-link">
146
                    <i class="fa fa-circle-o nav-icon"></i>
147
                    <p><?php echo $levelThree['label'] ?></p>
148
                  </a>
149
                </li>
4621 stevensc 150
              <?php endforeach; ?>
151
            </ul>
152
          <?php endif; ?>
4623 stevensc 153
        <?php endforeach; ?>
4621 stevensc 154
 
4623 stevensc 155
  </ul>
156
  </li>
157
<?php endif; ?>
158
<?php endforeach; ?>
159
</ul>
160
</nav>