Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 5166 | Rev 5173 | 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
 
4964 stevensc 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()) {
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
 
4526 stevensc 22
    $link_impersonate = $user->is_super_user == User::IS_SUPER_USER_YES ? 1 : 0;
3639 efrain 23
 
4842 efrain 24
    //$container = $this->navigation('menuNavigation')->getContainer();
4526 stevensc 25
    $acl = $this->viewModel()->getCurrent()->getVariable('acl');
1 www 26
 
4526 stevensc 27
    $menu = [];
4842 efrain 28
    foreach ($pages as $page) {
1 www 29
 
4842 efrain 30
        if (!$page || empty($page['route']) || !$acl->isAllowed($session_usertype_id, $page['route'])) {
4526 stevensc 31
            continue;
32
        }
1044 efrain 33
 
4842 efrain 34
        $ajax = false;
4964 stevensc 35
        if ($page['route'] == 'company' && $currentNetwork->default == Network::DEFAULT_NO) {
1044 efrain 36
 
4964 stevensc 37
            if ($link_company) {
38
                $page['route'] = $this->url($link_company['route'], ['id' => $link_company['id']]);
4842 efrain 39
                $ajax = true;
40
            } else {
41
                continue;
42
            }
43
        }
2900 efrain 44
 
4526 stevensc 45
        $option = [
4842 efrain 46
            'label' => $page['label'],
47
            'href' => $page['route'],
48
            'img' => empty($page['class']) ? '' : $page['class'],
49
            'ajax' => $ajax ? 1 : 0,
4526 stevensc 50
            'childs' => [],
51
        ];
2904 efrain 52
 
4842 efrain 53
        $childs = empty($page['pages']) ? [] : $page['pages'];
4526 stevensc 54
        if ($childs) {
55
            foreach ($childs as $child) {
4842 efrain 56
                if (!$acl->isAllowed($session_usertype_id,  $child['route'])) {
4526 stevensc 57
                    continue;
58
                }
2899 efrain 59
 
4526 stevensc 60
                $childs_level2 = [];
61
 
4842 efrain 62
                $childsLevel2 = empty($child['pages']) ? [] : $child['pages'];
4526 stevensc 63
 
64
                if ($childsLevel2) {
65
                    foreach ($childsLevel2 as $childLevel2) {
4842 efrain 66
                        if (!$acl->isAllowed($session_usertype_id,  $childLevel2['route'])) {
4526 stevensc 67
                            continue;
68
                        }
69
 
70
                        array_push($childs_level2, [
4842 efrain 71
                            'label' => $childLevel2['label'],
72
                            'href' => $childLevel2['route'],
4526 stevensc 73
 
74
                        ]);
75
                    }
76
                }
77
 
78
                array_push($option['childs'], [
4842 efrain 79
                    'label' => $child['label'],
80
                    'href' => $child['route'],
4526 stevensc 81
                    'childs' => $childs_level2,
82
                ]);
83
            }
1044 efrain 84
        }
85
 
4526 stevensc 86
        array_push($menu, $option);
87
    }
88
 
5166 stevensc 89
    $menu = json_encode($menu);
90
    $image = $this->url('storage', ['type' => 'user', 'code' => $user->uuid, 'filename' => $user->image]);
91
    $isChatPage = $this->viewModel()->getCurrent()->getVariable('is_chat');
92
    $routeCheckSession = $this->url('check-session');
93
    $currentUser    = $this->currentUserHelper();
2904 efrain 94
 
5166 stevensc 95
    $js = <<<JS
1 www 96
const navbarVars={
4244 stevensc 97
  menu: $menu,
1 www 98
  isChatPage: '$isChatPage' === '1',
1446 steven 99
  routeCheckSession: '$routeCheckSession',
3639 efrain 100
  linkAdmin : '$link_admin' === '1',
101
  linkImpersonate : '$link_impersonate' === '1',
1445 efrain 102
  image: '$image',
1450 steven 103
  fullName: '$fullname',
1445 efrain 104
  country: '$country',
105
  visits: '$visits',
3639 efrain 106
  connections: '$connections',
107
  logoForNavbar: '$logoForNavbar',
4964 stevensc 108
  defaultNetwork: '$currentNetwork->default',
1 www 109
}
3999 stevensc 110
 
5167 stevensc 111
const MENU_LABELS = {
5166 stevensc 112
  SEARCH: 'LABEL_SEARCH',
113
  COMPANIES_I_FOLLOW: 'LABEL_COMPANIES_I_FOLLOW',
114
  VIEW_COMPANY: 'LABEL_VIEW_COMPANY',
115
  UNFOLLOW: 'LABEL_UNFOLLOW',
116
  DATATABLE_SZERORECORDS: 'LABEL_DATATABLE_SZERORECORDS'
117
}
118
 
1 www 119
//TODO is_chat
120
JS;
5166 stevensc 121
 
4526 stevensc 122
    $this->inlineScript()->appendScript($js);
1 www 123
 
4526 stevensc 124
    if ($currentNetwork->theme_id == Theme::THEME_LEADERSLINKED_LINKEDIN) {
125
        $this->inlineScript()->appendFile('/react-bundles/templates/linkedin/navbarLinkedInBundle.js');
126
    } else {
127
        $this->inlineScript()->appendFile('/react-bundles/navbar/navbarBundle.js');
128
    }
4467 stevensc 129
 
4526 stevensc 130
    echo <<<EOT
4250 stevensc 131
<div id="react_navbar"></div>
61 steven 132
<div id="react_navbar_2"></div>
1 www 133
EOT;
134
} else {
135
}