Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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 {
}