コード例 #1
0
<?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;
                        }
                    }
                }
            }
        }
    }
}
コード例 #2
0
ファイル: filters.php プロジェクト: leehanse/smartadmin
        // 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');
            }
        }
    }
});