/** * Retreives the permissions to be registered. * * @return array */ public function permissionsToRegister() { $config = config('acl'); $permissionPlaceholders = array_get($config, 'permission_placeholders'); $additionalPermissions = array_get($config, 'additional'); $permissionsToRegister = []; $routes = array_filter($this->router->getRoutes()->getRoutes(), function ($route) { return $route->getName() and !in_array($route->getName(), AclPolicy::getExcept()); }); foreach ($routes as $route) { if (array_key_exists($route->getName(), $permissionPlaceholders)) { $permissionsToRegister[$route->getName()] = $permissionPlaceholders[$route->getName()]; } else { $permissionsToRegister[$route->getName()] = $route->getName(); } } return array_merge($permissionsToRegister, $additionalPermissions); }
/** * Registers the Acl exception routes. * * @param array $config * @return void */ public function registerAclExceptions($config) { $except = array_get($config, 'except'); AclPolicy::setExcept($except); }