Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 4468 | Rev 4842 | 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
 
4526 stevensc 9
$currentNetworkHelper = $this->currentNetworkHelper();
10
$currentNetwork = $currentNetworkHelper->getNetwork();
11
 
3639 efrain 12
$logoForNavbar = $this->networkNavbarHelper();
13
 
4526 stevensc 14
if ($currentUser->hasIdentity()) {
1 www 15
 
4526 stevensc 16
    $session_user_id        = $currentUser->getUserId();
17
    $session_usertype_id    = $currentUser->getUserTypeId();
18
    $user = $currentUser->getUser();
1 www 19
 
4526 stevensc 20
    $link_admin = $session_usertype_id == UserType::ADMIN ? 1 : 0;
1 www 21
 
1044 efrain 22
 
4526 stevensc 23
    $link_impersonate = $user->is_super_user == User::IS_SUPER_USER_YES ? 1 : 0;
3639 efrain 24
 
25
 
4526 stevensc 26
    $container = $this->navigation('menuNavigation')->getContainer();
1044 efrain 27
 
4526 stevensc 28
    $acl = $this->viewModel()->getCurrent()->getVariable('acl');
1 www 29
 
30
 
2899 efrain 31
 
4526 stevensc 32
    $menu = [];
33
    foreach ($container as $page) {
1 www 34
 
4526 stevensc 35
        if (!$page || !$page->getRoute() || !$acl->isAllowed($session_usertype_id, $page->getRoute())) {
36
            continue;
37
        }
1044 efrain 38
 
39
 
2900 efrain 40
 
4526 stevensc 41
        $option = [
42
            'label' => $page->getLabel(),
43
            'href' => $page->getHref(),
44
            'img' => $page->getClass(),
45
            'childs' => [],
46
        ];
2904 efrain 47
 
2907 efrain 48
 
4526 stevensc 49
        $childs = $page->getPages();
50
        if ($childs) {
51
            foreach ($childs as $child) {
52
                if (!$acl->isAllowed($session_usertype_id,  $child->getRoute())) {
53
                    continue;
54
                }
2899 efrain 55
 
4526 stevensc 56
 
57
 
58
 
59
 
60
 
61
                $childs_level2 = [];
62
 
63
 
64
                $childsLevel2 = $child->getPages();
65
 
66
 
67
 
68
 
69
 
70
                if ($childsLevel2) {
71
                    foreach ($childsLevel2 as $childLevel2) {
72
                        if (!$acl->isAllowed($session_usertype_id,  $childLevel2->getRoute())) {
73
                            continue;
74
                        }
75
 
76
                        array_push($childs_level2, [
77
                            'label' => $childLevel2->getLabel(),
78
                            'href' => $childLevel2->getHref(),
79
 
80
                        ]);
81
                    }
82
                }
83
 
84
 
85
                array_push($option['childs'], [
86
                    'label' => $child->getLabel(),
87
                    'href' => $child->getHref(),
88
                    'childs' => $childs_level2,
89
                ]);
90
            }
1044 efrain 91
        }
92
 
4526 stevensc 93
        array_push($menu, $option);
94
    }
95
 
96
    /*
2904 efrain 97
echo '<pre>';
98
print_r($menu);
99
echo '</pre>';
100
exit;
2909 efrain 101
*/
2904 efrain 102
 
4526 stevensc 103
    $menu = json_encode($menu);
1044 efrain 104
 
4526 stevensc 105
    $image = $this->url('storage', ['type' => 'user', 'code' => $user->uuid, 'filename' => $user->image]);
1044 efrain 106
 
1 www 107
 
3639 efrain 108
 
4526 stevensc 109
    $isChatPage = $this->viewModel()->getCurrent()->getVariable('is_chat');
110
    $routeCheckSession = $this->url('check-session');
111
    $currentUser    = $this->currentUserHelper();
112
    $js = <<<JS
1 www 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;
4526 stevensc 129
    $this->inlineScript()->appendScript($js);
1 www 130
 
4526 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
    }
4467 stevensc 136
 
4526 stevensc 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
}