1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
/**
* court descriptif de la classe
*
* détail de la classe
*
* @name Gestion_Session
* @author Nom de l'auteur <aloneghost30@hotmail.com>
* @link
* @copyright Anthony Rochet 2010
* @version 1.0.0
*/
class Gestion_Session {
/*~*~*~*~*~*~*~*~*~*~*/
/* 1. propriétés */
/*~*~*~*~*~*~*~*~*~*~*/
/**
* @var (String)
* @desc ID de la session
*/
private Session_ID;
/**
* @var (String)
* @desc Variable qui sera utilisé pour vérifier la validité de la session
*/
private Session_Verif;
/**
* @var (String)
* @desc Variable qui sera utilisé pour vérifier la validité de la session
*/
private Session_Error_Redirect;
/*~*~*~*~*~*~*~*~*~*~*/
/* 2. méthodes */
/*~*~*~*~*~*~*~*~*~*~*/
/**
* Constructeur
*
* <p>création de l'instance de la classe</p>
*
* @name Gestion_Session::__construct()
* @param nom du premier paramètre
* @param nom du second paramètre
* @param etc ...
* @return void
*/
public function __construct($This->Session_Verif , $This->Session_Error_Redirect)
{
var $namargs;
// On ouvre la session
session_start();
// On compte les variables qui doivent y être insérés
$numargs = func_num_args();
//On récupere l'Id de la session
$this->Session_ID = Session_Id();
// Si il y a des arguments alors
if ($numargs >= 3)
{ // On boucle sur le nombre d'éléments et on les met dans la session
for (i=2 , $numargs , i++)
{
Session_Register( func_get_arg(i) );
}
}
}
/*~*~*~*~*~*~*~*~*~*~*~*~*~*/
/* 2.1 méthodes privées */
/*~*~*~*~*~*~*~*~*~*~*~*~*~*/
/**
* @name Redirect_Session ()
* @desc Redirige l'utilisateur vers une page prédéfinie si
* @desc une variable prédéfinie n'est pas initialisée
*/
Private unction Redirect_Session ()
{
// Si la variable prédéfinie est vide dans la session
if ( !empty('$This->Session_Verif'))
{
// On redirige vers la page par defaut
header('Location: '.$This->Session_Error_Redirect);
// Et on appelle le destructeur
$This->__destruct();
}
}
/*~*~*~*~*~*~*~*~*~*~*~*~*~*/
/* 2.1 méthodes publiques */
/*~*~*~*~*~*~*~*~*~*~*~*~*~*/
/**
* @name Verification_Session ()
* @desc Verifie si la session est initialisée.
* @desc si elle ne l'est pas on redirige
*/
Public function Verification_Session ()
{
Redirect_Session ();
}
/**
* @name Register_Variable_Session ()
* @desc Permet d'ajouter des variables dans la session
* @desc et si necessaire de l'initialiser
*/
Public function Register_Variable_Session ($Nom_Variable_Session , $Valeur_initiale)
{
// Si la variable n'existe pas déja alors
If (!Session_Is_registered($Nom_Variable_Session))
{
// On la créé
Session_Register('$Nom_Variable_Session');
}
// Maintenant qu'elle est déclaré, si une valeur a été donné on l'enregistre
// Si elle était déja déclaré, cela la met à jour
$HTTP_SESSION_VARS['$Nom_Variable_Session'] = $Valeur_initiale;
}
/**
* Destructeur
*
* <p>Destruction de l'instance de classe</p>
*
* @name Nom de la classe::__destruct()
* @param nom du premier paramètre
* @param nom du second paramètre
* @param etc ...
* @return void
*/
public function __destruct()
{
Session_Unset();
Session_Destroy();
}
}
?> |
Partager