Ubiquity  2.0.0
php rapid development framework
SessionUtils.php
Go to the documentation of this file.
1 <?php
2 
3 namespace Ubiquity\utils;
4 
10 class SessionUtils {
11 
17  public static function getArray($arrayKey) {
18  if (isset($_SESSION[$arrayKey])) {
19  $array=$_SESSION[$arrayKey];
20  if (!is_array($array))
21  $array=array ();
22  } else
23  $array=array ();
24  return $array;
25  }
26 
27  public static function addOrRemoveValueFromArray($arrayKey, $value, $add=true) {
28  $array=self::getArray($arrayKey);
29  $_SESSION[$arrayKey]=$array;
30  $search=array_search($value, $array);
31  if ($search === FALSE && $add) {
32  $_SESSION[$arrayKey][]=$value;
33  return true;
34  } else {
35  unset($_SESSION[$arrayKey][$search]);
36  $_SESSION[$arrayKey]=array_values($_SESSION[$arrayKey]);
37  return false;
38  }
39  }
40 
41  public static function removeValueFromArray($arrayKey, $value) {
42  return self::addOrRemoveValueFromArray($arrayKey, $value, false);
43  }
44 
45  public static function checkBoolean($key) {
46  $_SESSION[$key]=!self::getBoolean($key);
47  return $_SESSION[$key];
48  }
49 
50  public static function getBoolean($key) {
51  $ret=false;
52  if (isset($_SESSION[$key])) {
53  $ret=$_SESSION[$key];
54  }
55  return $ret;
56  }
57 
58  public static function session($key, $default=NULL) {
59  return isset($_SESSION[$key]) ? $_SESSION[$key] : $default;
60  }
61 
62  public static function get($key, $default=NULL) {
63  return isset($_SESSION[$key]) ? $_SESSION[$key] : $default;
64  }
65 
71  public static function set($key, $value) {
72  $_SESSION[$key]=$value;
73  }
74 
79  public static function delete($key) {
80  unset($_SESSION[$key]);
81  }
82 
83  public static function start($name=null){
84  if(isset($name)) \session_name();
85  if (!isset($_SESSION)) { \session_start(); }
86  }
87 
88  public static function isStarted(){
89  return isset($_SESSION);
90  }
91 
97  public static function exists($key){
98  return isset($_SESSION[$key]);
99  }
100 
101  public static function terminate(){
102  if(!self::isStarted())
103  return;
104  $_SESSION = array();
105 
106  if (\ini_get("session.use_cookies")) {
107  $params = \session_get_cookie_params();
108  \setcookie(\session_name(), '', \time() - 42000,
109  $params["path"], $params["domain"],
110  $params["secure"], $params["httponly"]
111  );
112  }
113  \session_destroy();
114  }
115 }
static exists($key)
Returns true if the key exists in Session.
static start($name=null)
static session($key, $default=NULL)
static addOrRemoveValueFromArray($arrayKey, $value, $add=true)
static removeValueFromArray($arrayKey, $value)
static getArray($arrayKey)
Retourne un tableau stocké en variable de session sous le nom $arrayKey.
Session utilities.