Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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