| Current Path : /var/www/html/planmalaysia/common/components/ |
| Current File : /var/www/html/planmalaysia/common/components/MenuHelper.php |
<?php
/**
* @link http://www.myopensoft.net/
* @copyright Copyright (c) 2017 Opensoft Technologies Sdn Bhd
* @license http://www.myopensoft.net/license/
*/
namespace common\components;
use Yii;
use common\models\Menu;
use backend\models\MainMenu;
use yii\data\Sort;
class MenuHelper {
public static function getAssignedMenu() {
$menus = Menu::getMenus();
$mitema = array();
$msubitema = array();
foreach ($menus as $m) {
$submenus = Menu::getMenus($default_menu = '0', $hide_ind = '0', $module_ind = '0', $parentid = $m->id);
$msubitema = array();
foreach ($submenus as $n) {
array_push($msubitema, ['label' => Yii::t('app', $n->menu_txt), 'icon' => ($n->icon_name == '' ? '' : $n->icon_name), 'url' => ["/" . $n->menu_loc]]);
}
if (count($submenus) > 0) {
array_push($mitema, ['label' => Yii::t('app', $m->menu_txt), 'items' => $msubitema, 'icon' => ($m->icon_name == '' ? '' : $m->icon_name), 'url' => ["/" . $m->menu_loc]]);
} else {
array_push($mitema, ['label' => Yii::t('app', $m->menu_txt), 'icon' => ($m->icon_name == '' ? '' : $m->icon_name), 'url' => ["/" . $m->menu_loc]]);
}
}
$rolemenus = Menu::getMenuByRole();
$rmitema = array();
$rmsubitema = array();
foreach ($rolemenus as $m) {
$rsubmenus = Menu::getMenus($default_menu = '0', $hide_ind = '0', $module_ind = '0', $parentid = $m->id);
if (count($rsubmenus) > 0) {
$rmsubitema = array();
foreach ($rsubmenus as $n) {
array_push($rmsubitema, ['label' => Yii::t('app', $n->menu_txt), 'icon' => ($n->icon_name == '' ? '' : $n->icon_name), 'url' => ["/" . $n->menu_loc]]);
}
array_push($rmitema, ['label' => Yii::t('app', $m->menu_txt), 'items' => $rmsubitema, 'icon' => ($m->icon_name == '' ? '' : $m->icon_name), 'url' => ["/" . $m->menu_loc]]);
} else {
array_push($rmitema, ['label' => Yii::t('app', $m->menu_txt), 'icon' => ($m->icon_name == '' ? '' : $m->icon_name), 'url' => ["/" . $m->menu_loc]]);
}
}
$mainmenu = MainMenu::find()->orderBy('sort')->all();
$dmstrport = array();
$arr = array();
array_push($dmstrport, [
'label' => Yii::t('app', 'Dashboard'),
'icon' => 'fa fa-bar-chart-o',
'url' => Yii::$app->homeUrl,
]);
// MENU ASSIGNED BY ROLE
if (!empty($mainmenu)) {
foreach ($mainmenu as $m) {
$rolemenusa = static::menuByRole($m->code);
array_push($dmstrport, [
'label' => Yii::t('app', $m->descr),
'icon' => Yii::t('app', $m->icon_name),
'url' => '#',
'visible' => (count($rolemenusa) > 0 ? true : false),
'items' => $rolemenusa,
]);
}
}
return $dmstrport;
}
public static function menuByRole($mainmenu) {
$rolemenus = Menu::getMenuByPortfolioRole($mainmenu);
$rmitema = array();
$rmsubitema = array();
foreach ($rolemenus as $m) {
$rsubmenus = Menu::getMenus($default_menu = '0', $hide_ind = '0', $module_ind = '0', $parentid = $m->id);
if (count($rsubmenus) > 0) {
$rmsubitema = array();
foreach ($rsubmenus as $n) {
array_push($rmsubitema, ['label' => Yii::t('app', $n->menu_txt), 'icon' => ($n->icon_name == '' ? '' : $n->icon_name), 'url' => ["/" . $n->menu_loc]]);
}
array_push($rmitema, ['label' => Yii::t('app', $m->menu_txt), 'items' => $rmsubitema, 'icon' => ($m->icon_name == '' ? '' : $m->icon_name), 'url' => ["/" . $m->menu_loc]]);
} else {
array_push($rmitema, ['label' => Yii::t('app', $m->menu_txt), 'icon' => ($m->icon_name == '' ? '' : $m->icon_name), 'url' => ["/" . $m->menu_loc]]);
}
}
return $rmitema;
}
}