Base layout of the core.
[platal.git] / classes / s.php
index bcb8975..7ba3b24 100644 (file)
@@ -60,22 +60,34 @@ class S
         return array_map(array('S', 'v'), $keys);
     }
 
-    public static function set($key, &$value)
+    public static function set($key, $value)
     {
         $_SESSION[$key] =& $value;
     }
 
-    public static function bootstrap($key, &$value)
+    public static function bootstrap($key, $value)
     {
         if (!S::has($key)) {
             S::set($key, $value);
         }
     }
 
+    public static function logger($uid = null)
+    {
+        if (!S::has('log')) {
+            if (S::has('suid')) {
+                $suid = S::v('suid');
+                S::set('log', new PlLogger(S::v('uid'), $suid['uid']));
+            } else if (S::has('uid') || $uid) {
+                S::set('log', new PlLogger(S::v('uid', $uid)));
+            }
+        }
+        return S::v('log');
+    }
+
     public static function has_perms()
     {
-        global $session;
-        return $session->checkPerms(PERMS_ADMIN);
+        return Platal::session()->checkPerms(PERMS_ADMIN);
     }
 
     public static function logged()
@@ -85,8 +97,7 @@ class S
 
     public static function identified()
     {
-        global $session;
-        return S::v('auth', AUTH_PUBLIC) >= $session->sureLevel();
+        return S::v('auth', AUTH_PUBLIC) >= Platal::session()->sureLevel();
     }
 
     // Anti-XSRF protections.