Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
1 www 1
<?php
2
 
1044 efrain 3
use LeadersLinked\Model\UserType;
4
 
1 www 5
$currentUser            = $this->currentUserHelper();
6
if( $currentUser->hasIdentity() ) {
7
 
8
$session_user_id        = $currentUser->getUserId();
9
$session_usertype_id    = $currentUser->getUserTypeId();
10
$user = $currentUser->getUser();
11
 
1044 efrain 12
$link_admin = $session_usertype_id == UserType::ADMIN ? 1 : 0;
1 www 13
 
1044 efrain 14
 
15
$container = $this->navigation('menuNavigation')->getContainer();
16
 
1 www 17
$acl = $this->viewModel()->getCurrent()->getVariable('acl');
18
 
19
 
2899 efrain 20
 
1044 efrain 21
$menu = [];
22
foreach($container as $page) {
1 www 23
 
1044 efrain 24
    if(!$page || !$page->getRoute() || !$acl->isAllowed($session_usertype_id , $page->getRoute())) {
25
        continue;
26
    }
27
 
28
 
2900 efrain 29
 
1044 efrain 30
    $option = [
31
        'label' => $page->getLabel(),
32
        'href' => $page->getHref(),
1413 efrain 33
        'img' => $page->getClass(),
1044 efrain 34
        'childs' => [],
35
    ];
36
 
37
 
38
    $childs = $page->getPages();
39
    if($childs) {
40
        foreach($childs as $child) {
41
            if(!$acl->isAllowed($session_usertype_id ,  $child->getRoute())) {
42
    		      continue;
43
    	    }
44
 
2899 efrain 45
 
2904 efrain 46
 
2899 efrain 47
 
48
 
2903 efrain 49
 
2904 efrain 50
    	    $childs_level2 = [];
2903 efrain 51
 
52
 
2904 efrain 53
    	    $childsLevel2 = $child->getPages();
2903 efrain 54
 
2907 efrain 55
 
2898 efrain 56
 
2899 efrain 57
 
58
 
2898 efrain 59
    	    if($childsLevel2) {
60
    	        foreach($childsLevel2 as $childLevel2) {
61
    	            if(!$acl->isAllowed($session_usertype_id ,  $childLevel2->getRoute())) {
62
    	                continue;
63
    	            }
2908 efrain 64
 
65
    	            array_push($childs_level2, [
66
    	                'label' => $childLevel2->getLabel(),
67
    	                'href' => $childLevel2->getHref(),
68
 
69
    	            ]);
2898 efrain 70
    	        }
71
 
2908 efrain 72
 
2898 efrain 73
    	    }
74
 
75
 
1044 efrain 76
    	    array_push($option['childs'], [
77
    	        'label' => $child->getLabel(),
1056 efrain 78
    	        'href' => $child->getHref(),
2898 efrain 79
    	        'childs' => $childs_level2,
1044 efrain 80
    	    ]);
81
 
82
        }
83
    }
84
 
85
    array_push($menu, $option);
86
}
87
 
2909 efrain 88
/*
2904 efrain 89
echo '<pre>';
90
print_r($menu);
91
echo '</pre>';
92
exit;
2909 efrain 93
*/
2904 efrain 94
 
1044 efrain 95
$menu = json_encode($menu);
96
 
1546 efrain 97
$image = $this->url('storage', ['type' => 'user', 'code' => $user->uuid, 'filename' => $user->image ]);
1044 efrain 98
 
1 www 99
 
100
$isChatPage = $this->viewModel()->getCurrent()->getVariable('is_chat');
637 steven 101
$routeCheckSession = $this->url('check-session');
102
$currentUser    = $this->currentUserHelper();
1 www 103
$js = <<<JS
104
const navbarVars={
1044 efrain 105
  menu: '$menu',
1 www 106
  isChatPage: '$isChatPage' === '1',
1446 steven 107
  routeCheckSession: '$routeCheckSession',
1 www 108
  link_admin : '$link_admin',
1445 efrain 109
  image: '$image',
1450 steven 110
  fullName: '$fullname',
1445 efrain 111
  country: '$country',
112
  visits: '$visits',
113
  connections: '$connections'
1 www 114
}
115
//TODO is_chat
116
JS;
117
$this->inlineScript()->appendScript($js);
118
$this->inlineScript()->appendFile('/react-bundles/navbar/navbarBundle.js');
119
 
120
echo <<<EOT
121
<link rel="stylesheet" href="/react-bundles/navbar/main.css">
122
<div id="react_navbar"></div>
61 steven 123
<div id="react_navbar_2"></div>
1 www 124
EOT;
125
} else {
126
 
127
}