Update version.php to 3.3.0
[isso.git] / Functions.php
index bb4c2bfbc42770289638f0c005d20d1e45dc9ed0..fcd14f9ac8360e60ce7bfd3e01087e9878ccadbd 100644 (file)
  */
 class BSFunctions
 {
-       /**
-        * Cookie path
-        * @var string
-        */
-       private static $cookiePath = '/';
-       
-       /**
-        * Cookie domain setting
-        * @var string
-        */
-       private static $cookieDomain = '';
-       
-       /**
-        * Cookie expiration time
-        * @var integer
-        */
-       private static $cookieTimeout = 900;
-       
-       /**
-        * Current swapped CSS class
-        * @var string
-        */
-       public static $cssClass = '';
-       
        /**
         * Make class static
         */
        private function __construct()
        {}
        
-       /**
-        * Sets the cookie path
-        *
-        * @param       string  New path
-        */
-       public static function set_cookie_path($path)
-       {
-               self::$cookiePath = $path;
-       }
-       
-       /**
-        * Sets the cookie domain setting
-        *
-        * @param       string  Cookie domain
-        */
-       public static function set_cookie_domain($domain)
-       {
-               self::$cookieDomain = $domain;
-       }
-       
-       /**
-        * Sets the cookie timeout
-        *
-        * @param       integer Cookie timeout
-        */
-       public static function set_cookie_timeout($timeout)
-       {
-               self::$cookieTimeout = intval($timeout);
-       }
-       
        /**
         * Sets a cookie in the user's computer/browing session
         *
         * @param       string  Name of the cookie
-        * @param       string  Value of the cookie, FALSE to clear
-        * @param       bool    Is the cookie permanent?
+        * @param       string  Value of the cookie
+        * @param       integer Timeout in seconds for non-sticky cookies. Can also be ::COOKIE_EXPIRE or ::COOKIE_STICKY
+        * @param       string  Cookie path
+        * @param       string  Domain
         */
-       public static function cookie($name, $value, $sticky = true)
+       const COOKIE_EXPIRE = -1;
+       const COOKIE_STICKY = -2;
+       
+       public static function cookie($name, $value, $timeout = 900, $path = '/', $domain = '')
        {
                // expire the cookie
-               if ($value === false)
+               if ($timeout == self::COOKIE_EXPIRE)
                {
-                       setcookie($name, $value, time() - (2 * self::$cookieTimeout), self::$cookiePath, self::$cookieDomain);
+                       setcookie($name, $value, time() - 1800, $path, $domain);
                }
                // set the cookie
                else
                {
-                       if ($sticky)
+                       // it's sticky so keep it around for a while
+                       if ($timeout == self::COOKIE_STICKY)
                        {
                                $expire = time() + 60 * 60 * 24 * 365;
                        }
                        else
                        {
-                               $expire = time() + self::$cookieTimeout;
+                               $expire = time() + $timeout;
                        }
                        
-                       setcookie($name, $value, $expire, self::$cookiePath, self::$cookieDomain);
+                       setcookie($name, $value, $expire, $path, $domain);
                }
        }
        
@@ -137,9 +89,7 @@ class BSFunctions
        public static function swap_css_classes($class1 = 'alt1', $class2 = 'alt2')
        {
                static $count;
-               
-               self::$cssClass = ($count % 2) ? $class1 : $class2;
-               $count++;
+               return ($count++ % 2) ? $class1 : $class2;
        }
        
        /**