use tests\models\Tree; use Yii; ?> <!-- Sidebar user panel --> <?php if (!\Yii::$app->user->isGuest) { ?> <div class="user-panel"> <div class="pull-left image"> <?php echo \cebe\gravatar\Gravatar::widget(['email' => \Yii::$app->user->identity->profile->gravatar_email === null ? \Yii::$app->user->identity->email : \Yii::$app->user->identity->profile->gravatar_email, 'options' => ['alt' => \Yii::$app->user->identity->username], 'size' => 64]); ?> </div> <div class="pull-left info"> <p><?php echo \Yii::$app->user->identity->username; ?> </p> <a href="#"><i class="fa fa-circle text-success"></i> Online</a> </div> </div> <?php } ?> <?php echo \dmstr\widgets\Menu::widget(['options' => ['class' => 'sidebar-menu'], 'encodeLabels' => false, 'items' => \yii\helpers\ArrayHelper::merge(['items' => ['label' => 'Backend navigation', 'options' => ['class' => 'header']]], \dmstr\modules\pages\models\Tree::getMenuItems('backend', true, \dmstr\modules\pages\models\Tree::GLOBAL_ACCESS_DOMAIN))]);
<title><?php echo Html::encode($this->title); ?> </title> <?php $this->head(); ?> </head> <body> <?php $this->beginBody(); ?> <div class="wrap"> <?php NavBar::begin(['brandLabel' => getenv('APP_NAME'), 'brandUrl' => Yii::$app->homeUrl, 'options' => ['class' => 'navbar navbar-fixed-top navbar-bold']]); echo Nav::widget(['options' => ['class' => 'navbar-nav'], 'encodeLabels' => false, 'items' => \dmstr\modules\pages\models\Tree::getMenuItems('root_' . Yii::$app->language)]); $menuItems = []; if (Yii::$app->hasModule('user')) { if (Yii::$app->user->isGuest) { $menuItems[] = ['label' => 'Signup', 'url' => ['/user/registration/register']]; $menuItems[] = ['label' => 'Login', 'url' => ['/user/security/login']]; } else { $menuItems[] = ['label' => '<i class="glyphicon glyphicon-user"></i> ' . Yii::$app->user->identity->username, 'options' => ['id' => 'link-user-menu'], 'items' => [['label' => '<i class="glyphicon glyphicon-user"></i> Profile', 'url' => ['/user/profile/show', 'id' => \Yii::$app->user->id]], '<li class="divider"></li>', ['label' => '<i class="glyphicon glyphicon-log-out"></i> Logout', 'url' => ['/user/security/logout'], 'linkOptions' => ['data-method' => 'post', 'id' => 'link-logout']]]]; $menuItems[] = ['label' => '<i class="glyphicon glyphicon-cog"></i>', 'url' => ['/backend'], 'visible' => Yii::$app->user->can('backend_default') || isset(Yii::$app->user->identity) && Yii::$app->user->identity->isAdmin]; } } echo Nav::widget(['options' => ['class' => 'navbar-nav navbar-right'], 'encodeLabels' => false, 'items' => $menuItems]); NavBar::end(); ?> <div class="container">
?> </div> <div class="pull-left info"> <p><?php echo \Yii::$app->user->identity->username; ?> </p> <a href="#"><i class="fa fa-circle text-success"></i> Online</a> </div> </div> <?php } ?> <?php // prepare menu items, get all modules $adminMenuItems = []; $developerMenuItems = []; foreach (\dmstr\helpers\Metadata::getModules() as $name => $module) { $role = $name; $defaultItem = ['icon' => 'fa fa-cube', 'label' => $name, 'url' => ['/' . $name], 'visible' => Yii::$app->user->can($role) || Yii::$app->user->identity && Yii::$app->user->identity->isAdmin, 'items' => []]; $developerMenuItems[] = $defaultItem; } // create developer menu, when user is admin if (Yii::$app->user->identity && Yii::$app->user->identity->isAdmin) { $adminMenuItems[] = ['url' => '#', 'icon' => 'fa fa-cogs', 'label' => 'Modules', 'items' => $developerMenuItems, 'options' => ['class' => 'treeview'], 'visible' => Yii::$app->user->identity->isAdmin]; } echo \dmstr\widgets\Menu::widget(['options' => ['class' => 'sidebar-menu'], 'items' => \yii\helpers\ArrayHelper::merge(['items' => ['label' => 'Backend navigation', 'options' => ['class' => 'header']]], \dmstr\modules\pages\models\Tree::getMenuItems('backend', true), $adminMenuItems)]);
public function testMenuItems() { Debug::debug('root-' . md5($_SERVER['REQUEST_TIME'])); $tree = Tree::getMenuItems('root-' . md5($_SERVER['REQUEST_TIME'])); Debug::debug($tree); }
?> " class="small-box-footer"> Audit <i class="fa fa-arrow-circle-right"></i> </a> </div> </div> <!-- ./col --> <?php } ?> </div> <div class="row"> <?php $items = \dmstr\modules\pages\models\Tree::getMenuItems('backend', true, \dmstr\modules\pages\models\Tree::GLOBAL_ACCESS_DOMAIN); foreach ($items as $item) { if ($item['visible']) { echo '<div class="col-xs-6 col-sm-4 col-md-3 col-lg-2">'; echo \insolita\wgadminlte\SmallBox::widget(['head' => substr(trim(strip_tags($item['label'])), 0, 2), 'icon' => isset($item['icon']) ? $item['icon'] : '', 'footer' => $item['label'], 'footer_link' => $item['url']]); echo '</div>'; } } ?> </div> <?php if (\Yii::$app->user->identity->isAdmin) { ?> <div class="row">