fix toggledesc in PlFilterOrder. Fixes all order bugs in PlSets
[platal.git] / classes / s.php
index e07a257..9f71872 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2009 Polytechnique.org                              *
+ *  Copyright (C) 2003-2010 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -95,11 +95,12 @@ class S
     {
         $uid = S::i('uid', $uid);
         if (!S::has('log') || !S::v('log')->isValid($uid)) {
+            global $platal;
             if (S::has('suid')) {
                 $suid = S::v('suid');
-                S::set('log', PlLogger::get(S::i('uid', $uid), $suid['uid']));
+                S::set('log', $platal->buildLogger(S::i('uid', $uid), $suid['uid']));
             } else if (S::has('uid') || $uid) {
-                S::set('log', PlLogger::get(S::i('uid', $uid)));
+                S::set('log', $platal->buildLogger(S::i('uid', $uid)));
             } else {
                 S::set('log', PlLogger::dummy($uid));
             }
@@ -119,17 +120,15 @@ class S
     public static function &user()
     {
         if (self::$user == null && class_exists('User')) {
-            self::$user = User::getSilentWithValues(S::i('uid'), $_SESSION);
+            if (S::has('user') && S::v('user') instanceof User) {
+                self::$user = S::v('user');
+            } else {
+                self::$user = User::getSilentWithValues(S::i('uid'), $_SESSION);
+            }
         }
         return self::$user;
     }
 
-    public static function has_perms()
-    {
-        // XXX: Deprecated, use S::admin() instead
-        return self::admin();
-    }
-
     public static function logged()
     {
         return S::i('auth', AUTH_PUBLIC) >= Platal::session()->loggedLevel();