X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=classes%2Fs.php;h=0ee548e1fb44b7e89828637ca07c60509ab4aa21;hb=2ab75571bf840471fa9559292b75852bfce004d3;hp=030cca91d77f627a26a4dffaba499f77b9f3c609;hpb=8cd8f58b0e58ee8ebc2ebf1bb79f2e20eb05808d;p=platal.git diff --git a/classes/s.php b/classes/s.php index 030cca9..0ee548e 100644 --- a/classes/s.php +++ b/classes/s.php @@ -1,6 +1,6 @@ isValid($uid)) { if (S::has('suid')) { $suid = S::v('suid'); - S::set('log', new PlLogger(S::v('uid', $uid), $suid['uid'])); + S::set('log', PlLogger::get(S::i('uid', $uid), $suid['uid'])); } else if (S::has('uid') || $uid) { - S::set('log', new PlLogger(S::v('uid', $uid))); + S::set('log', PlLogger::get(S::i('uid', $uid))); + } else { + S::set('log', PlLogger::dummy($uid)); } } return S::v('log'); @@ -96,17 +118,12 @@ class S private static $user = null; public static function &user() { - if (self::$user == null) { + if (self::$user == null && class_exists('User')) { self::$user = User::getSilentWithValues(S::i('uid'), $_SESSION); } return self::$user; } - public static function has_perms() - { - return Platal::session()->checkPerms(PERMS_ADMIN); - } - public static function logged() { return S::i('auth', AUTH_PUBLIC) >= Platal::session()->loggedLevel(); @@ -117,6 +134,25 @@ class S return S::i('auth', AUTH_PUBLIC) >= Platal::session()->sureLevel(); } + public static function admin() + { + return Platal::session()->checkPerms(PERMS_ADMIN); + } + + public static function suid($field = null, $default = null) + { + if (is_null($field)) { + return !S::blank('suid'); + } else { + $suid = S::v('suid', array()); + if (!empty($suid) && isset($suid[$field])) { + return $suid[$field]; + } else { + return $default; + } + } + } + // Anti-XSRF protections. public static function has_xsrf_token() { @@ -130,8 +166,14 @@ class S } } + public static function hasAuthToken() + { + return !S::blank('token'); + } + public static function rssActivated() { + // XXX: Deprecated, to be replaced by S::hasToken() return S::has('core_rss_hash') && S::v('core_rss_hash'); } }