示例#1
0
 /**
  * @return \Illuminate\Http\RedirectResponse
  * @throws \Dvlpp\Sharp\Exceptions\MandatoryClassNotFoundException
  */
 public function logout()
 {
     $authService = SharpSiteConfig::getAuthService();
     $authService->logout();
     Session::forget("sharp_user");
     return redirect()->to("/");
 }
示例#2
0
 /**
  * Return true if current user is authorized for the action.
  *
  * @param $type string view, update, create or delete
  * @param $action
  * @param $key
  * @return bool
  * @throws \Dvlpp\Sharp\Exceptions\MandatoryClassNotFoundException
  */
 static function granted($type, $action, $key)
 {
     $authService = SharpSiteConfig::getAuthService();
     if (!$authService) {
         // No access management
         return true;
     }
     return $authService->checkAccess(\Session::get("sharp_user"), $type, $action, $key);
 }
示例#3
0
 function current()
 {
     $languages = SharpSiteConfig::getLanguages();
     if ($languages) {
         $lang = Session::get("sharp_lang");
         if (!$lang || !array_key_exists($lang, $languages)) {
             $lang = array_keys($languages)[0];
             Session::put("sharp_lang", $lang);
         }
         return $lang;
     }
     return null;
 }
示例#4
0
文件: routes.php 项目: dvlpp/sharp
        if (!$language || !array_key_exists($language, $languages)) {
            $language = array_values($languages)[0];
        } else {
            $language = $languages[$language];
        }
    }
    $view->with('language', $language);
    // Get sharp version
    $view->with('sharpVersion', File::get(__DIR__ . "/../version.txt"));
});
Route::filter('sharp_auth', function () {
    $authService = SharpSiteConfig::getAuthService();
    if ($authService && !$authService->checkAdmin()) {
        return redirect()->guest("admin/login");
    }
});
Route::filter('sharp_guest', function () {
    $authService = SharpSiteConfig::getAuthService();
    if (!$authService || $authService->checkAdmin()) {
        return redirect()->to("/admin/cms");
    }
});
Route::filter('sharp_access_granted', function ($route, $request, $value) {
    list($type, $action, $key) = explode(" ", $value);
    if (starts_with($key, "*")) {
        $key = $route->getParameter(substr($key, 1));
    }
    if (!sharp_granted($type, $action, $key)) {
        return redirect()->to("/admin/cms");
    }
});
示例#5
0
 private function changeLang($lang)
 {
     $languages = SharpSiteConfig::getLanguages();
     if ($languages) {
         if (!$lang || !array_key_exists($lang, $languages)) {
             $lang = array_values($languages)[0];
         }
         session()->put("sharp_lang", $lang);
     }
 }