array('siret', 'raisonSociale', 'numero', 'voie', 'cpVille', 'telFax', 'naf', 'pays'), 'dir' => array('dirNom', 'dirPrenom', 'dirDateNaissJJ', 'dirDateNaissMM', 'dirDateNaissAAAA', 'dirCpVille'), 'act' => array('actNomRs', 'cpVille', 'siret', 'pays', 'pctMin', 'pctMax'), 'annonce' => array('formA'), 'refclient' => array('ref'), ); public function __construct() { $session = new Zend_Session_Namespace($this->index); $this->listeRecherche = $session->liste; } /** * Sauvegarde des éléments pour la recherche * @param string $type * @param array $params * @return string */ public function save($type, $params) { //Controle des éléments $elements = array(); foreach($params as $key => $value){ if (in_array($key, $this->listParams[$type])){ $elements[$key] = $value; } } //Vérification du nombre d'éléments if (count($this->listeRecherche)>=$this->rechercheMax){ array_shift($this->listeRecherche); } $token = uniqid(); $this->listeRecherche[] = array( 'type' => $type, 'token' => $token, 'params' => $elements, ); $session = new Zend_Session_Namespace($this->index); $session->liste = $this->listeRecherche; return $token; } /** * Assigne les informations pour une recherche (type = dir|ent) * @param string $siret * @param integer $id * @param string $raisonSociale */ public function assignInfo($siret, $id, $raisonSociale) { $rindex = count($this->listeRecherche)-1; $this->listeRecherche[$rindex]['consult'] = array( 'siret' => $siret, 'id' => $id, 'raisonSociale' => $raisonSociale, ); $session = new Zend_Session_Namespace($this->index); $session->liste = $this->listeRecherche; } /** * Retourne la liste des éléments de la session dans le bon ordre */ public function liste() { if (count($this->listeRecherche)>0) { return array_reverse($this->listeRecherche); } else { return array(); } } /** * Retourne un élément de la liste * @param integer $index */ public function item($index) { $rindex = count($this->listeRecherche)-1-$index; return $this->listeRecherche[$rindex]; } public function get($token) { if (count($this->listeRecherche)>0) { foreach($this->listeRecherche as $item) { if($token == $item['token']){ return $item; break; } } } return false; } }