Add XDB::runTransaction($callback, $arg1, $arg2, $arg2...) to run a
[platal.git] / classes / env.php
index 378305f..cecee84 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2007 Polytechnique.org                              *
+ *  Copyright (C) 2003-2010 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -41,10 +41,24 @@ class Env
         return Env::_get($key, $default);
     }
 
-    public static function s($key, $default = '') 
-    { 
-        return (string)Env::_get($key, $default); 
-    } 
+    public static function s($key, $default = '')
+    {
+        return (string)Env::_get($key, $default);
+    }
+
+    public static function t($key, $default = '')
+    {
+        return trim(Env::s($key, $default));
+    }
+
+    public static function blank($key, $strict = false)
+    {
+        if (!Env::has($key)) {
+            return true;
+        }
+        $var = $strict ? Env::s($key) : Env::t($key);
+        return empty($var);
+    }
 
     public static function b($key, $default = false)
     {
@@ -90,10 +104,24 @@ class Post
         return (bool)Post::_get($key, $default);
     }
 
-    public static function s($key, $default = '') 
-    { 
-        return (string)Post::_get($key, $default); 
-    } 
+    public static function s($key, $default = '')
+    {
+        return (string)Post::_get($key, $default);
+    }
+
+    public static function t($key, $default = '')
+    {
+        return trim(Post::s($key, $default));
+    }
+
+    public static function blank($key, $strict = false)
+    {
+        if (!Post::has($key)) {
+            return true;
+        }
+        $var = $strict ? Post::s($key) : Post::t($key);
+        return empty($var);
+    }
 
     public static function i($key, $default = 0)
     {
@@ -139,6 +167,20 @@ class Get
         return (string)Get::_get($key, $default);
     }
 
+    public static function t($key, $default = '')
+    {
+        return trim(Get::s($key, $default));
+    }
+
+    public static function blank($key, $strict = false)
+    {
+        if (!Get::has($key)) {
+            return true;
+        }
+        $var = $strict ? Get::s($key) : Get::t($key);
+        return empty($var);
+    }
+
     public static function i($key, $default = 0)
     {
         $i = Get::_get($key, $default);
@@ -155,27 +197,58 @@ class Cookie
 {
     public static function _get($key, $default)
     {
+        global $globals;
+        $key = $globals->cookie_ns . $key;
         return isset($_COOKIE[$key]) ? $_COOKIE[$key] : $default;
     }
 
     public static function has($key)
     {
+        global $globals;
+        $key = $globals->cookie_ns . $key;
         return isset($_COOKIE[$key]);
     }
 
     public static function kill($key)
     {
+        global $globals;
+        $key = $globals->cookie_ns . $key;
+        setcookie($key, '', time() - 3600, $globals->cookie_path);
         unset($_COOKIE[$key]);
     }
 
+    public static function set($key, $value, $days, $secure = false) {
+        global $globals;
+        $key = $globals->cookie_ns . $key;
+        if (!$secure || @$_SERVER['HTTPS']) {
+            setcookie($key, $value, time() + 86400 * $days, $globals->cookie_path, '',
+                      $secure, $secure);
+            $_COOKIE[$key] = $value;
+        }
+    }
+
     public static function v($key, $default = null)
     {
         return Cookie::_get($key, $default);
     }
 
-    public static function s($key, $default = '') 
+    public static function s($key, $default = '')
+    {
+        return (string)Cookie::_get($key, $default);
+    }
+
+    public static function t($key, $default = '')
+    {
+        return trim(Cookie::s($key, $default));
+    }
+
+    public static function blank($key, $strict = false)
     {
-        return (string)Cookie::_get($key, $default); 
+        if (!Cookie::has($key)) {
+            return true;
+        }
+        $var = $strict ? Cookie::s($key) : Cookie::t($key);
+        return empty($var);
     }
 
     public static function b($key, $default = false)