Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 4635 | Rev 4673 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

<?php

use LeadersLinked\Model\UserType;

$currentUserPlugin = $this->currentUserHelper();
$currentUser = $currentUserPlugin->getUser();
$currentCompany = $currentUserPlugin->getCompany();


if ($currentCompany) {
  $menu = getAclMenuCompany();
} else {
  $menu = getAclMenuSystem();
}




$usertype_id = $currentUser->usertype_id;

//[REQUEST_URI] => /settings/company-sizes/
$request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';


if ($request_uri) {
  if (substr($request_uri, 0, 1) == '/') {
    $request_uri = substr($request_uri, 1);
  }
  if (substr($request_uri, strlen($request_uri) - 1, 1) == '/') {
    $request_uri = substr($request_uri, 0, strlen($request_uri) - 1);
  }
}

$acl = $this->viewModel()->getCurrent()->getVariable('acl');
/*
$this->inlineScript()->captureStart();
  echo <<<JS
    const redirectToDashboard = () => {
      console.log('>>: redirect > ')
      document.location.href = '/dashboard';
    }
    JS;
    $this->inlineScript()->captureEnd();
    */

$jsonMenu = json_encode($menu);
$js = <<<JS
const backendVars= JSON.parse('$jsonMenu')
JS;
$this->inlineScript()->appendScript($js);
$this->inlineScript()->appendFile('/react-bundles/menu/menuBundle.js');
?>
<nav class="mt-2">
  <div id="menu-sidebar"></div>
  <ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
    <?php foreach ($menu as $levelOne) :



      if (!$levelOne || !$levelOne['route'] || !$acl->isAllowed($usertype_id, $levelOne['route'])) {
        continue;
      }


      if (empty($levelOne['pages'])) :


    ?>
        <li class="nav-item">
          <a href="/<?php echo $levelOne['route'] ?>" class="nav-link">

            <i class="nav-icon <?php echo $levelOne['class'] ?>"></i>
            <p><?php echo $levelOne['label'] ?></p>
          </a>
        </li>
      <?php else :

        if (strpos($request_uri, $levelOne['route']) === false) {
          echo '<li class="nav-item">';
        } else {
          echo '<li class="nav-item menu-is-opening menu-open">';
        }




      ?>



        <a href="/dashboard" class="nav-link">
          <i class="nav-icon <?php echo $levelOne['class'] ?>"></i>

          <?php echo $levelOne['label'] ?>
          <i class="fa fa-angle-left right"></i>

        </a>
        <?php
        if (strpos($request_uri, $levelOne['route']) === false) {
          echo '<ul class="nav nav-treeview" style="display: none;">';
        } else {
          echo '<ul class="nav nav-treeview" style="display: block;">';
        }
        ?>


        <?php
        foreach ($levelOne['pages']  as $levelTwo) :
          if (!$acl->isAllowed($usertype_id,  $levelTwo['route'])) {
            continue;
          }

          if (empty($levelTwo['pages'])) :
        ?>



            <li class="nav-item">
              <a href="/<?php echo $levelTwo['route']  ?>" class="nav-link">
                <i class="fa fa-circle nav-icon"></i>
                <p><?php echo $levelTwo['label']  ?></p>
              </a>
            </li>
          <?php else :

            if (strpos($request_uri, $levelTwo['route']) === false) {
              echo '<li class="nav-item">';
            } else {
              echo '<li class="nav-item menu-is-opening menu-open">';
            }
          ?>
            <a href="#" class="nav-link">
              <i class="fa fa-circle nav-icon"></i>
              <p>
                <?php echo $levelTwo['label']  ?>
                <i class="right fa fa-angle-right"></i>

              </p>
            </a>
            <ul class="nav nav-treeview">
              <?php foreach ($levelTwo['pages'] as $levelThree) : ?>
                <li class="nav-item">
                  <a href="/<?php echo $levelThree['route'] ?>" class="nav-link">
                    <i class="fa fa-circle-o nav-icon"></i>
                    <p><?php echo $levelThree['label'] ?></p>
                  </a>
                </li>
              <?php endforeach; ?>
            </ul>
          <?php endif; ?>
        <?php endforeach; ?>

  </ul>
  </li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
</nav>