14,43 → 14,30 |
Class DonneeTemporaireModele extends Modele { |
|
private $config = array(); |
|
|
public function stockerDonneeTemporaire($donnee, $id_aleatoire = false) { |
|
$this->maintenanceDonneesTemporaires(); |
|
|
// on protège et on sérialise les données |
$identifiant = $this->calculerIdentifiant($id_aleatoire); |
$donnees = $this->encoderDonneeTemporaire($donnee); |
|
$requete_insertion = 'INSERT INTO annu_donnees_temp ('. |
'adt_id ,'. |
'adt_donnees ,'. |
'adt_date'. |
')'. |
'VALUES '. |
'('.$this->proteger($identifiant).','.$this->proteger($donnees).', NOW())'; |
$requete_insertion = 'INSERT INTO annu_donnees_temp (adt_id, adt_donnees, adt_date) '. |
'VALUES ('.$this->proteger($identifiant).','.$this->proteger($donnees).', NOW())'; |
|
$insertion = $this->requete($requete_insertion); |
$retour = (!$insertion) ? false : $identifiant; |
return $retour; |
} |
|
if(!$insertion) { |
return false; |
} |
|
return $identifiant; |
|
} |
|
public function chargerListeDonneeTemporaire($longueur_id = '8') { |
|
$requete_chargement_donnee = 'SELECT * FROM annu_donnees_temp '. |
' WHERE LENGTH(adt_id) = '.$longueur_id. |
' ORDER BY adt_date DESC'; |
$requete_chargement_donnee = 'SELECT * '. |
'FROM annu_donnees_temp '. |
"WHERE LENGTH(adt_id) = $longueur_id ". |
'ORDER BY adt_date DESC '; |
|
$donnees_temp = $this->requeteTous($requete_chargement_donnee); |
|
foreach ($donnees_temp as &$donnee) { |
|
$code_confirmation = $donnee['adt_id']; |
$date_donnee_temp = $donnee['adt_date']; |
$donnee = $this->decoderDonneeTemporaire($donnee); |
57,52 → 44,36 |
|
$donnee['code_confirmation'] = $code_confirmation; |
$donnee['date'] = $date_donnee_temp; |
} |
|
} |
return $donnees_temp; |
} |
|
public function chargerDonneeTemporaire($code_donnee) { |
|
$requete_chargement_donnee = 'SELECT * FROM annu_donnees_temp '. |
' WHERE adt_id = '.$this->proteger($code_donnee); |
$codeDonneeP = $this->proteger($code_donnee); |
$requete = "SELECT * FROM annu_donnees_temp WHERE adt_id = $codeDonneeP "; |
|
$donnees_temp = $this->requeteUn($requete_chargement_donnee); |
|
if($donnees_temp) { |
return $this->decoderDonneeTemporaire($donnees_temp); |
} else { |
return false; |
} |
$donnees_temp = $this->requeteUn($requete); |
$retour = ($donnees_temp) ? $this->decoderDonneeTemporaire($donnees_temp) : false; |
return $retour; |
} |
|
public function supprimerDonneeTemporaire($code_donnee) { |
|
$requete_suppression_donnee = 'DELETE FROM annu_donnees_temp '. |
' WHERE adt_id = '.$this->proteger($code_donnee); |
|
$resultat_suppression = $this->requete($requete_suppression_donnee); |
|
if($resultat_suppression) { |
return true; |
} else { |
return false; |
} |
$requete = 'DELETE FROM annu_donnees_temp WHERE adt_id = '.$this->proteger($code_donnee); |
$resultat = $this->requete($requete); |
$retour = $resultat ? true : false; |
return $retour; |
} |
|
private function decoderDonneeTemporaire($donnee_encodee) { |
|
return unserialize(base64_decode($donnee_encodee['adt_donnees'])); |
} |
|
private function encoderDonneeTemporaire($donnee) { |
|
return base64_encode(serialize($donnee)); |
} |
|
private function calculerIdentifiant($aleatoire = false) { |
|
if(!$aleatoire) { |
if (!$aleatoire) { |
// Le code de confirmation est constitué des 8 premiers caractères de l'identifiant de session |
// lors du stockage des données d'inscription, afin d'éviter d'accumuler les demandes |
// d'inscription pour une même session |
112,22 → 83,14 |
// mais qui doit être unique pour éviter des duplicates keys. |
$code_confirmation = time(); |
} |
|
return $code_confirmation; |
} |
|
|
private function maintenanceDonneesTemporaires() { |
|
$requete_suppression_vieilles_donnees = 'DELETE FROM annu_donnees_temp WHERE adt_date < (DATE_SUB(now(), INTERVAL 14 DAY))'; |
|
$resultat_suppression_vieilles_donnees = $this->requeteUn($requete_suppression_vieilles_donnees); |
|
if($resultat_suppression_vieilles_donnees) { |
return true; |
} else { |
return false; |
} |
$requete = 'DELETE FROM annu_donnees_temp WHERE adt_date < (DATE_SUB(now(), INTERVAL 14 DAY))'; |
$resultat = $this->requeteUn($requete); |
$retour = $resultat ? true : false; |
return $retour; |
} |
|
} |
?> |