public static function getLateralMenu() { $permission = AdvancedLayout::getCurrentProfile(); $app = basename(dirname(dirname(sfContext::getInstance()->getModuleDirectory()))); $menus = LateralMenuTable::getInstance()->createQuery('lm')->leftJoin('lm.Permissions p')->where('p.id = ?', $permission)->orderBy('lm.menu_order')->execute(); $permissions = AdvancedLayout::getPermissionsModules(); $modules = AdvancedLayout::getModules($app, true); $menu_arr = array(); foreach ($menus as $me) { $m = array(); $m['title'] = $me->getTitle(); $m['modules'] = array(); foreach (json_decode($me->getModules(), true) as $mo) { if (isset($permissions[$permission]) && isset($modules[$mo])) { if (in_array($mo, $permissions[$permission])) { $m['modules'][$mo] = $modules[$mo]; $poly = AdvancedLayout::modulePolymorfism($mo); if ($poly !== false && isset($poly['use_title']) && $poly['use_title']) { $m['modules'][$mo]['title'] = $modules[$poly['module'] . '/' . $poly['action']]['title']; } } } } $menu_arr[] = $m; } return $menu_arr; }
<?php $permissions_array = AdvancedLayout::getPermissionsModules(); ?> <table class="table table-bordered"> <tr> <th>Módulo</th> <?php foreach ($permissions as $p) { ?> <th class="text-center"><?php echo $p->getName(); ?> </th> <?php } ?> </tr> <?php foreach (AdvancedLayout::getModules('admin', true) as $action => $m) { ?> <tr> <td><i class="fa fa-fw fa-<?php echo $m['icon']; ?> "></i> <?php echo $m['title']; ?> </td> <?php foreach ($permissions as $p) {