Rev 4468 | Rev 4964 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
<?php
use LeadersLinked\Model\UserType;
use LeadersLinked\Model\User;
use LeadersLinked\Model\Theme;
$currentUser = $this->currentUserHelper();
$currentNetworkHelper = $this->currentNetworkHelper();
$currentNetwork = $currentNetworkHelper->getNetwork();
$logoForNavbar = $this->networkNavbarHelper();
if ($currentUser->hasIdentity()) {
$session_user_id = $currentUser->getUserId();
$session_usertype_id = $currentUser->getUserTypeId();
$user = $currentUser->getUser();
$link_admin = $session_usertype_id == UserType::ADMIN ? 1 : 0;
$link_impersonate = $user->is_super_user == User::IS_SUPER_USER_YES ? 1 : 0;
$container = $this->navigation('menuNavigation')->getContainer();
$acl = $this->viewModel()->getCurrent()->getVariable('acl');
$menu = [];
foreach ($container as $page) {
if (!$page || !$page->getRoute() || !$acl->isAllowed($session_usertype_id, $page->getRoute())) {
continue;
}
$option = [
'label' => $page->getLabel(),
'href' => $page->getHref(),
'img' => $page->getClass(),
'childs' => [],
];
$childs = $page->getPages();
if ($childs) {
foreach ($childs as $child) {
if (!$acl->isAllowed($session_usertype_id, $child->getRoute())) {
continue;
}
$childs_level2 = [];
$childsLevel2 = $child->getPages();
if ($childsLevel2) {
foreach ($childsLevel2 as $childLevel2) {
if (!$acl->isAllowed($session_usertype_id, $childLevel2->getRoute())) {
continue;
}
array_push($childs_level2, [
'label' => $childLevel2->getLabel(),
'href' => $childLevel2->getHref(),
]);
}
}
array_push($option['childs'], [
'label' => $child->getLabel(),
'href' => $child->getHref(),
'childs' => $childs_level2,
]);
}
}
array_push($menu, $option);
}
/*
echo '<pre>';
print_r($menu);
echo '</pre>';
exit;
*/
$menu = json_encode($menu);
$image = $this->url('storage', ['type' => 'user', 'code' => $user->uuid, 'filename' => $user->image]);
$isChatPage = $this->viewModel()->getCurrent()->getVariable('is_chat');
$routeCheckSession = $this->url('check-session');
$currentUser = $this->currentUserHelper();
$js = <<<JS
const navbarVars={
menu: $menu,
isChatPage: '$isChatPage' === '1',
routeCheckSession: '$routeCheckSession',
linkAdmin : '$link_admin' === '1',
linkImpersonate : '$link_impersonate' === '1',
image: '$image',
fullName: '$fullname',
country: '$country',
visits: '$visits',
connections: '$connections',
logoForNavbar: '$logoForNavbar',
}
//TODO is_chat
JS;
$this->inlineScript()->appendScript($js);
if ($currentNetwork->theme_id == Theme::THEME_LEADERSLINKED_LINKEDIN) {
$this->inlineScript()->appendFile('/react-bundles/templates/linkedin/navbarLinkedInBundle.js');
} else {
$this->inlineScript()->appendFile('/react-bundles/navbar/navbarBundle.js');
}
echo <<<EOT
<div id="react_navbar"></div>
<div id="react_navbar_2"></div>
EOT;
} else {
}