Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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