<?php $p_permissions = Smartcms\Core\Services\Core\CoreService::getAllPermissions(); if (!isset($ownPermissions)) { $ownPermissions = array(); } $arr_own_permissions_key = array_keys($ownPermissions); $arr_own_permissions = array(); $list_permissions = $p_permissions; if (count($p_permissions)) { foreach ($p_permissions as $md => $permission_arr) { if (is_array($permission_arr) && count($permission_arr)) { foreach ($permission_arr as $key => $permission) { if (is_array($permission)) { $value = isset($permission['value']) ? $permission['value'] : ''; $description = isset($permission['description']) ? $permission['description'] : ''; if ($value) { if (!$description) { $permission['description'] = $value; } if (in_array($value, $arr_own_permissions_key)) { unset($list_permissions[$md][$key]); $p = array("value" => $value, "description" => $description, "module" => $md); $arr_own_permissions[$value] = $p; } } } } } } }
// save the attempted url Session::put('attemptedUrl', URL::current()); return Redirect::route('getLogin'); } View::share('currentUser', Sentry::getUser()); }); Route::filter('notAuth', function () { if (Sentry::check()) { $url = Session::get('attemptedUrl'); if (!isset($url)) { $url = URL::route('indexDashboard'); } Session::forget('attemptedUrl'); return Redirect::to($url); } }); Route::filter('hasPermissions', function ($route, $request, $userPermission = null) { if (Route::currentRouteNamed('putUser') && Sentry::getUser()->id == Request::segment(3) || Route::currentRouteNamed('showUser') && Sentry::getUser()->id == Request::segment(3)) { } else { if ($userPermission === null) { $permission = Smartcms\Core\Services\Core\CoreService::getPermissionWithRoute(Route::current()->getName()); } else { $permission = $userPermission; } if ($permission) { if (!Sentry::getUser()->hasAccess($permission)) { return Redirect::route('accessDenied'); } } } });