suppr doublons dans la liste des dernieres recherches, fixed issue #436

This commit is contained in:
Sebastien BEAUGRAND 2011-02-22 08:55:11 +00:00
parent 45ad59da7b
commit 3eef3e913d

View File

@ -8,19 +8,36 @@ define('RECHERCHE_MAX', 10);
*/
function recherche_save($form)
{
$recherche_list = array();
$recherche_info = array();
if( isset($_SESSION['recherche']['list']) ) $recherche_list = $_SESSION['recherche']['list'];
if( isset($_SESSION['recherche']['info']) ) $recherche_info = $_SESSION['recherche']['info'];
//Assignation données formulaire
$recherche_list[] = serialize($form);
$recherche_info[] = '';
//On supprime la première recherche soit la plus ancienne si le tableau à un taille supérieure au maximum
if(count($recherche_list)>RECHERCHE_MAX) $item_shift = array_shift($recherche_list);
if(count($recherche_info)>RECHERCHE_MAX) $item_shift = array_shift($recherche_info);
//Assignation des données dans la session
$_SESSION['recherche']['list'] = $recherche_list;
$_SESSION['recherche']['info'] = $recherche_info;
$serialized = serialize($form);
if (isset($_SESSION['recherche']['list'])) {
foreach ($_SESSION['recherche']['list'] as $item) {
if ($item == $serialized) {
return;
}
}
$recherche_list = $_SESSION['recherche']['list'];
} else {
$recherche_list = array();
}
$recherche_info = array();
if (isset($_SESSION['recherche']['info'])) {
$recherche_info = $_SESSION['recherche']['info'];
}
// Assignation données formulaire
$recherche_list[] = $serialized;
$recherche_info[] = '';
// On supprime la première recherche soit la plus ancienne
// si le tableau à une taille supérieure au maximum
if (count($recherche_list) > RECHERCHE_MAX) {
$item_shift = array_shift($recherche_list);
}
if (count($recherche_info) > RECHERCHE_MAX) {
$item_shift = array_shift($recherche_info);
}
// Assignation des données dans la session
$_SESSION['recherche']['list'] = $recherche_list;
$_SESSION['recherche']['info'] = $recherche_info;
}
/**