Rev 4686 | Rev 16806 | 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
jQuery(document).ready(function($) {
var elementOpen = $('li.menu-open:first');
if(elementOpen.length > 0) {
var id = elementOpen[0].id;
if(id) {
var offset = $('#' + id).position().top;
var parent = $('#left-menu').position().top;
var move = offset - parent ;
console.log('offset = ' + offset);
console.log('parent = ' + parent);
console.log('move = ' + move);
// $('#left-menu').scrollTop(move);
$('#left-menu').animate({ scrollTop: move }, 600);
}
}
});
JS;
$this->inlineScript()->captureEnd();
?>
<aside class="main-sidebar sidebar-light-primary right-border" style="height: 100vh;">
<a href="<?php echo $this->url('dashboard')?>" class="brand-link">
<?php if($currentCompany) : ?>
<img src="<?php echo $this->url('storage', ['type' => 'company', 'code' => $currentCompany->uuid, 'filename' => $currentCompany->image] )?>" alt="LABEL_ADMINISTRATION" class="brand-image" style="opacity: 0.8; background-color: rgb(255, 255, 255);">
<?php else: ?>
<img src="img/ll-logo.png" alt="LABEL_ADMINISTRATION" class="brand-image" style="opacity: 0.8; background-color: rgb(255, 255, 255);">
<?php endif; ?>
<span class="brand-text font-weight-light">LABEL_ADMINISTRATION</span>
</a>
<div class="sidebar" id="left-menu">
<nav class="mt-2">
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
<?php
$liCount = 0;
foreach($menu as $levelOne) :
//echo '$request_uri = ' . $request_uri . ' route = ' . $levelOne['route'] . '<br>';
//strpos($request_uri, $levelOne['route'] )
if(!$levelOne || !$levelOne['route'] || !$acl->isAllowed($usertype_id , $levelOne['route'])) {
continue;
}
if(empty($levelOne['pages'])) :
$liCount++;
?>
<li class="nav-item" id="left-menu-li-<?php echo $liCount ?>">
<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 :
$liCount++;
$r = explode('/', $request_uri);
$selected = substr($levelOne['route'], 0, strlen($r[0]) ) == $r[0];
if(!$selected) {
echo '<li class="nav-item" id="left-menu-li-' . $liCount .'">';
} else {
echo '<li class="nav-item menu-is-opening menu-open" id="left-menu-li-' . $liCount .'">';
}
?>
<a href="<?php echo $this->url('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(!$selected) {
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;
}
$selected2 = $levelTwo[ 'route'] == $request_uri;
?>
<li class="nav-item">
<a href="/<?php echo $levelTwo[ 'route'] ?>" class="nav-link <?php echo $selected2 ? 'active' : '' ?>">
<i class="fa fa-circle nav-icon"></i>
<p><?php echo $levelTwo['label'] ?></p>
</a>
</li>
<?php endforeach; ?>
</ul>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
</nav>
</div>
</aside>