Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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