diff options
| author | 2013-12-15 11:24:14 +0100 | |
|---|---|---|
| committer | 2013-12-15 11:24:14 +0100 | |
| commit | 4ee4f16ffe06e247d2cb79a2054ab5d5315d82b2 (patch) | |
| tree | 1210892f3fd3da163bcdf8ae3a8024b29607f293 /lib/Minz/Session.php | |
| parent | a29dad13761208bfdf024e7f6703023d85428695 (diff) | |
Problème de casse renommage répertoire
Diffstat (limited to 'lib/Minz/Session.php')
| -rw-r--r-- | lib/Minz/Session.php | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/lib/Minz/Session.php b/lib/Minz/Session.php new file mode 100644 index 000000000..878caa556 --- /dev/null +++ b/lib/Minz/Session.php @@ -0,0 +1,78 @@ +<?php + +/** + * La classe Session gère la session utilisateur + * C'est un singleton + */ +class Minz_Session { + /** + * $session stocke les variables de session + */ + private static $session = array (); + + /** + * Initialise la session + */ + public static function init () { + // démarre la session + session_name (md5 (Minz_Configuration::selApplication ())); + session_start (); + + if (isset ($_SESSION)) { + self::$session = $_SESSION; + } + } + + + /** + * Permet de récupérer une variable de session + * @param $p le paramètre à récupérer + * @return la valeur de la variable de session, false si n'existe pas + */ + public static function param ($p, $default = false) { + if (isset (self::$session[$p])) { + $return = self::$session[$p]; + } else { + $return = $default; + } + + return $return; + } + + + /** + * Permet de créer ou mettre à jour une variable de session + * @param $p le paramètre à créer ou modifier + * @param $v la valeur à attribuer, false pour supprimer + */ + public static function _param ($p, $v = false) { + if ($v === false) { + unset ($_SESSION[$p]); + unset (self::$session[$p]); + } else { + $_SESSION[$p] = $v; + self::$session[$p] = $v; + + if($p == 'language') { + // reset pour remettre à jour le fichier de langue à utiliser + Minz_Translate::reset (); + } + } + } + + + /** + * Permet d'effacer une session + * @param $force si à false, n'efface pas le paramètre de langue + */ + public static function unset_session ($force = false) { + $language = self::param ('language'); + + session_unset (); + self::$session = array (); + + if (!$force) { + self::_param ('language', $language); + } + } +} |
