public static function aclRegistered() { $aclList = Admin_UserAcl::all(); $data = array(); foreach ($aclList as $val) { $data[$val->roleid][$val->controller][$val->action] = true; } return $data; }
public static function render() { $rolelist = Admin_UserRole::all(); $page = Acltree::datasource(); //all(); $acl = Admin_UserAcl::aclRegistered(); $content = array(); $fot = 1; foreach ($rolelist as $role) { $subcontent = '<h3>' . Str::upper($role->role . " Setup") . '</h3>'; $subcontent .= '<ul class="nav nav-list">'; foreach ($page as $controller => $selection) { $subcontent .= '<li class="nav-header"><i class="icon-hdd"></i> ' . Str::upper($selection['alias']) . '</li>'; $subcontent .= '<div class="row-fluid">'; foreach ($selection['page'] as $action => $alias) { $subcontent .= '<span style="padding-right:5px;width:auto;">'; $subcontent .= Form::hidden($role->role . '[id]', $role->roleid); if (in_array($role->roleid, array_keys($acl)) && in_array($controller, array_keys($acl[$role->roleid])) && in_array($action, array_keys($acl[$role->roleid][$controller])) && $acl[$role->roleid][$controller][$action] == true) { $subcontent .= Form::inline_labelled_checkbox($role->role . '[' . $controller . '][' . $action . ']', Str::title($alias), null, array('checked' => true, 'style' => 'padding:2px')); } else { $subcontent .= Form::inline_labelled_checkbox($role->role . '[' . $controller . '][' . $action . ']', $alias); } $subcontent .= '</span>'; } $subcontent .= '</div >'; $subcontent .= '<li class="divider"></li>'; } $subcontent .= '</ul>'; $active = $fot == 1 ? true : false; $fot++; array_push($content, array(Str::upper($role->role), $subcontent, $active)); } $nav = Navigation::links($content); $tab = Tabbable::tabs_left($nav); return $tab; }
public static function menuGenerator() { $Menus = Admin_Menu::order_by('arrangement', 'asc')->get(); $acces = Admin_UserAcl::aclRegistered(); $selected = new stdClass(); $page = new stdClass(); $dev = array(); $sub = array(); $logged_user = Auth::user(); foreach ($Menus as $id => $menu) { $content = new stdClass(); $controller = new stdClass(); $action = new stdClass(); $pieces = explode("/", $menu->controller); if ($menu->action == NULL || $menu->header == 1 && $menu->footer == 1) { $content->footer = $menu->footer; $content->header = $menu->header; $content->auth = $menu->auth; $content->admin = $menu->admin; $content->packet = $pieces[0]; if ($menu->action == NULL && ($menu->header == 1 || $menu->footer == 1)) { $controller->name = $pieces[1]; $controller->alias = $menu->controlleralias; } else { $controller->name = $menu->action; $controller->alias = $menu->actionalias; } $content->controller = $controller; if ($content->controller->name == URI::segment(2)) { $content->status = "active"; } else { $content->status = ""; } } elseif ($menu->action != NULL && ($menu->header != 0 || $menu->footer != 0)) { $action->name = $menu->action; $action->alias = $menu->actionalias; $action->footer = $menu->footer; $action->header = $menu->header; $action->auth = $menu->auth; if ($action->name == URI::segment(3) || URI::segment(3) == NULL && $action->name == $pieces[1] && URI::segment(2) == $pieces[1]) { $action->status = "active"; } else { $action->status = ""; } //check acl access if (Auth::check()) { if (isset($acces[$logged_user->role])) { if (isset($acces[$logged_user->role][$menu->controller])) { if (isset($acces[$logged_user->role][$menu->controller][$menu->action])) { $sub[$pieces[1]][] = $action; } } } } else { $sub[$pieces[1]][] = $action; } } $cont = (array) $content; if (!empty($cont)) { $dev[$id] = $content; } } $final = array(); foreach ($dev as $key => $value) { $action = new stdClass(); $page = new stdClass(); $ctrl = $value->controller->name; if (!empty($sub[$ctrl])) { $action->action = $sub[$ctrl]; } $value->page = $action; // check acl access if (Auth::check()) { $pages = (array) $value->page; if (isset($acces[$logged_user->role])) { if (isset($acces[$logged_user->role][$value->packet . '/' . $ctrl])) { if ((!empty($pages) || $ctrl == 'dashboard') && ($value->admin == 1 ? $value->admin == Auth::user()->role : TRUE)) { $final[$key] = $value; } } } } else { $final[$key] = $value; } } return $final; }
/** * ACL RESTful function * * @return view * @author joharijumali * **/ public function get_acl() { $data['rolelist'] = Admin_UserRole::all(); $data['page'] = Admin_Menu::pageExist(); //all(); $data['acl'] = Admin_UserAcl::aclRegistered(); $data['acree'] = Acltree::render(); return View::make('admin.console.acl', $data); }