public function edit($id) { try { $role = Role::with('users', 'permissions')->findOrFail($id); $permissions = []; foreach (Permission::all() as $permission) { if (preg_match('/^admin\\.([a-z]+)/A', $permission->name, $matches)) { // Uppercase the first letter $key = ucfirst($matches[1]); // Push to array $permissions[$key][$permission->id] = $permission->display_name; } else { // Push to array $permissions['General'][$permission->id] = $permission->display_name; } } $page_title = Lang::get('navigation.admin.site.items.roles.items.edit.title', ['name' => $role->name]); return View::make('admin.site.roles.edit', compact('role', 'permissions', 'page_title')); } catch (ModelNotFoundException $e) { return Redirect::route('admin.site.roles.index')->withErrors([sprintf('Role #%u doesn\'t exist.', $id)]); } }
<?php use BFACP\Account\Permission; $adminPermsList = Cache::remember('admin.perm.list', 60 * 24, function () { $temp = []; foreach (Permission::all() as $permission) { if (preg_match('/^admin\\.([a-z]+)/A', $permission->name, $matches)) { $temp[$matches[1]][] = $permission->name; $temp['_admin'][] = $permission->name; } } return $temp; }); Menu::make('MainNav', function ($menu) use($adminPermsList) { $menu->raw(strtoupper(Lang::get('navigation.main.title')), ['class' => 'header']); $menu->add(Lang::get('navigation.main.items.dashboard.title'), ['route' => 'home'])->prepend(HTML::faicon(Lang::get('navigation.main.items.dashboard.icon.fa'), true)); $menu->add(Lang::get('navigation.main.items.scoreboard.title'), ['route' => 'servers.live'])->prepend(HTML::faicon(Lang::get('navigation.main.items.scoreboard.icon.fa'), true)); if (Auth::check() && Auth::user()->ability(null, 'admin.adkats.bans.view')) { $menu->add(Lang::get('navigation.admin.adkats.items.banlist.title'), ['route' => 'admin.adkats.bans.index'])->prepend(HTML::ionicon(Lang::get('navigation.admin.adkats.items.banlist.icon.ion'), true)); } $menu->add(Lang::get('navigation.main.items.playerlist.title'), ['route' => 'player.listing'])->prepend(HTML::faicon(Lang::get('navigation.main.items.playerlist.icon.fa'), true)); // If the role can access the chatlogs we can add the item to the navigation list if (Auth::check() && Auth::user()->ability(null, 'chatlogs') || Config::get('bfacp.site.chatlogs.guest')) { $menu->add(Lang::get('navigation.main.items.chatlogs.title'), ['route' => 'chatlog.search'])->prepend(HTML::faicon(Lang::get('navigation.main.items.chatlogs.icon.fa'), true)); } // Only show these if the user is logged in if (Auth::check()) { /*=============================================== = AdKats Admin Navigation = ===============================================*/ if (Auth::user()->ability(null, $adminPermsList['adkats'])) {
<?php use BFACP\Account\Permission; $adminPermsList = Cache::remember('admin.perm.list', 60 * 24, function () { $temp = []; $permissions = Permission::all(); $permissions->each(function ($permission) use(&$temp) { if (preg_match('/^admin\\.([a-z]+)/A', $permission->name, $matches)) { $temp[$matches[1]][] = $permission->name; $temp['_admin'][] = $permission->name; } }); return $temp; }); $bfacp = App::make('bfadmincp'); Menu::make('MainNav', function ($menu) use($adminPermsList, $bfacp) { $menu->raw(strtoupper(Lang::get('navigation.main.title')), ['class' => 'header']); $menu->add(Lang::get('navigation.main.items.dashboard.title'), ['route' => 'home'])->prepend(HTML::faicon(Lang::get('navigation.main.items.dashboard.icon.fa'), true)); $menu->add(Lang::get('navigation.main.items.scoreboard.title'), ['route' => 'servers.live'])->prepend(HTML::faicon(Lang::get('navigation.main.items.scoreboard.icon.fa'), true)); if ($bfacp->isLoggedIn && $bfacp->user->ability(null, 'admin.adkats.bans.view')) { $menu->add(Lang::get('navigation.admin.adkats.items.banlist.title'), ['route' => 'admin.adkats.bans.index'])->prepend(HTML::ionicon(Lang::get('navigation.admin.adkats.items.banlist.icon.ion'), true)); } $menu->add(Lang::get('navigation.main.items.playerlist.title'), ['route' => 'player.listing'])->prepend(HTML::faicon(Lang::get('navigation.main.items.playerlist.icon.fa'), true)); // If the role can access the chatlogs we can add the item to the navigation list if ($bfacp->isLoggedIn && $bfacp->user->ability(null, 'chatlogs') || Config::get('bfacp.site.chatlogs.guest')) { $menu->add(Lang::get('navigation.main.items.chatlogs.title'), ['route' => 'chatlog.search'])->prepend(HTML::faicon(Lang::get('navigation.main.items.chatlogs.icon.fa'), true)); } // Only show these if the user is logged in if ($bfacp->isLoggedIn) { /*=============================================== = Adkats Admin Navigation =