Exemple #1
0
 public static function kill($session = null)
 {
     if (is_null($session)) {
         session_destroy();
     } else {
         if ($session === 'cookies') {
             $_COOKIE = array();
             if (isset($_SERVER['HTTP_COOKIE'])) {
                 $cookies = explode(';', $_SERVER['HTTP_COOKIE']);
                 foreach ($cookies as $cookie) {
                     $parts = explode('=', $cookie, 2);
                     $name = trim($parts[0]);
                     setcookie($name, null, -1);
                     setcookie($name, null, -1, '/');
                 }
             }
         } else {
             if (strpos($session, 'cookie:') === 0) {
                 $name = substr($session, 7);
                 if (strpos($session, '.') !== false) {
                     $name_a = explode('.', $name);
                     if (isset($_COOKIE[$name_a[0]])) {
                         $old = Converter::strEval($_COOKIE[$name_a[0]]);
                         Mecha::UVR($old, $name);
                         foreach ($old as $key => $value) {
                             $_COOKIE[$name_a[0]][$key] = is_array($value) ? base64_encode(json_encode($value, true)) : $value;
                         }
                         $c = Converter::strEval($_COOKIE['__' . $name_a[0]]);
                         setcookie($name_a[0], base64_encode(json_encode($old, true)), $c[0], $c[1], $c[2], $c[3], $c[4]);
                     }
                 } else {
                     unset($_COOKIE[$name]);
                     self::set($session, null, -1);
                 }
             } else {
                 Mecha::UVR($_SESSION, $session);
             }
         }
     }
 }
Exemple #2
0
 /**
  * =============================================================
  *  REMOVE CONFIGURATION DATA BY ITS KEY
  * =============================================================
  *
  * -- CODE: ----------------------------------------------------
  *
  *    Config::reset();
  *
  * -------------------------------------------------------------
  *
  *    Config::reset('foo');
  *
  * -------------------------------------------------------------
  *
  */
 public static function reset($key = null)
 {
     if (!is_null($key)) {
         Mecha::UVR(self::$bucket, $key);
     } else {
         self::$bucket = array();
     }
     return new static();
 }