odea/library/Scores/SessionCiblage.php

107 lines
2.2 KiB
PHP
Raw Normal View History

<?php
class SessionCiblage
{
protected $valeur;
2011-12-29 22:06:17 +01:00
protected $total = null;
protected $insee = null;
public function __construct()
{
$session = new Zend_Session_Namespace('ciblage');
2012-01-02 17:55:50 +01:00
$this->valeur = empty($session->ciblage) ? array() : $session->ciblage;
2011-12-29 22:06:17 +01:00
if (isset($this->valeur['NB']['total'])){ $this->total = $this->valeur['NB']['total']; }
if (isset($this->valeur['NB']['insee'])){ $this->insee = $this->valeur['NB']['insee']; }
if (isset($this->valeur['NB'])){ unset($this->valeur['NB']); }
}
2011-12-29 22:10:23 +01:00
/**
* Enregistre les informations dans la session
*/
protected function setSession()
{
2011-12-29 22:06:17 +01:00
$session = new Zend_Session_Namespace('ciblage');
$this->valeur['NB']['total'] = $this->total;
$this->valeur['NB']['insee'] = $this->insee;
$session->ciblage = $this->valeur;
}
2011-12-29 22:10:23 +01:00
/**
* Enregistre un critère et sa valeur
* @param unknown_type $key
* @param unknown_type $value
*/
public function setCritere($key, $value)
{
$this->valeur[$key] = $value;
$this->setSession();
}
2011-12-29 22:10:23 +01:00
/**
* Définir les critères en une fois
* @param array $criteres
*/
public function setCriteres($criteres)
{
$this->valeur = $criteres;
$this->setSession();
}
2011-12-29 22:10:23 +01:00
/**
* Désactivation d'un critère
* @param unknown_type $key
*/
public function unsetCritere($key)
{
if(key_exists($key, $this->valeur)) {
unset($this->valeur[$key]);
$this->setSession();
}
}
2011-12-29 22:10:23 +01:00
/**
* Récupération de la valeur d'un critère
* @param unknown_type $key
*/
public function getCritere($key)
{
if(array_key_exists($key, $this->valeur)) {
return $this->valeur[$key];
}
return null;
}
2011-12-29 22:10:23 +01:00
/**
* Récupération des critères et de leurs valeurs
*/
public function getCriteres()
{
return $this->valeur;
}
2011-12-29 22:06:17 +01:00
2011-12-29 22:10:23 +01:00
/**
* Définit un élément de comptage
* @param unknown_type $element
* @param unknown_type $nb
*/
2011-12-29 22:06:17 +01:00
public function setNb($element, $nb)
{
$this->{$element} = $nb;
$this->setSession();
}
2011-12-29 22:10:23 +01:00
/**
* Récupére la valeur d'un élément de comptage
* @param unknown_type $element
*/
2011-12-29 22:06:17 +01:00
public function getNb($element)
{
return $this->{$element};
}
2012-01-03 11:44:45 +01:00
public function clearCiblage()
{
Zend_Session::namespaceUnset('ciblage');
}
}