Skip to content
Snippets Groups Projects
Commit 2fa7fabd authored by llaffont's avatar llaffont
Browse files

La table des recherches infructueuses utilise le même rendu des critères que...

La table des recherches infructueuses utilise le même rendu des critères que pour l'historique des recherches
parent f87c4d96
Branches
Tags
No related merge requests found
......@@ -6,9 +6,7 @@ print('<h4>Nombre de recherches infructueuses : '.$this->nombre_total.'</h4>');
print('<table class="stat" style="width:740px" border="0">');
print('<tr>');
print('<th class="stat">Date</th>');
print('<th class="stat">Type</th>');
print('<th class="stat">Expression recherchée</th>');
print('<th class="stat">Critères de sélection</th>');
print('<th class="stat">Recherche</th>');
print('</tr>');
$codification = new Class_Codification();
......@@ -17,9 +15,7 @@ $codification = new Class_Codification();
foreach($this->liste as $ligne)
{
$expression="";
addCritere("RESET","","");
$criteres="";
addSelection("RESET","","");
$crit="";
$date=substr($ligne["date_recherche"],8,2).substr($ligne["date_recherche"],4,4).substr($ligne["date_recherche"],0,4);
try {
......@@ -29,70 +25,10 @@ foreach($this->liste as $ligne)
$crit = [];
}
$crit = array_merge(array('type_doc' => 0, 'selection_bib' => 0),
$crit);
switch($ligne["type_recherche"])
{
case 1: // recherche simple
$type="simple";
$expression = isset($crit["expressionRecherche"]) ? $crit["expressionRecherche"] : '';
break;
case 2: // recherche avancée
$type="avancée";
// expression recherche
$crit = array_merge([
'expressionRecherche' => '',
'rech_titres' => '',
'rech_auteurs' => '',
'rech_matieres' => '',
'rech_dewey' => '',
'rech_editeur' => '',
'rech_collection' => '',
'type_doc' => '',
'nouveaute' => '',
'annee_debut' => '',
'annee_fin' => '',
'rubrique' => '',
'tri' => '',
'id_catalogue' => '',
'id_panier' => '',
'operateur_editeur'=> '',
'operateur_titres'=> '',
'operateur_auteurs'=> '',
'operateur_matieres' => '',
'operateur_dewey'=>'',
'operateur_editeur'=>'',
'operateur_collection'=>'',
'section' => '',
'code_rebond' => '',
'facette' => ],
$crit);
$expression=addCritere("Expression", null, $crit["expressionRecherche"]);
$expression=addCritere("Rebond ".$codification->getNomChamp($crit["code_rebond"]),
null,
$codification->getLibelleFacette($crit["code_rebond"]));
$expression=addCritere("Titre",$crit["operateur_titres"],$crit["rech_titres"]);
$expression=addCritere("Auteur",$crit["operateur_auteurs"],$crit["rech_auteurs"]);
$expression=addCritere("Sujet",$crit["operateur_matieres"],$crit["rech_matieres"]);
$expression=addCritere("Dewey",$crit["operateur_dewey"],$crit["rech_dewey"]);
$expression=addCritere("Editeur",$crit["operateur_editeur"],$crit["rech_editeur"]);
$expression=addCritere("Collection",$crit["operateur_collection"],$crit["rech_collection"]);
$expression=addCritere("Dewey",$crit["operateur_dewey"],$crit["rech_dewey"]);
// criteres de selection
$criteres=addSelection("Année début",$crit["annee_debut"]);
$criteres=addSelection("Année fin",$crit["annee_fin"]);
$criteres=addSelection("Nouveautés",$crit["nouveaute"]);
$criteres=addSelection("année début",$crit["annee_debut"]);
break;
}
// Criteres de selection communs
$criteres = addSelection("Type de doc.",$crit["type_doc"]);
$criteres = addSelection("Bibliothèques",$crit["selection_bib"]);
$criteres = $this->tagHistoriqueRecherche((new Class_CriteresRecherche())->setParams($crit));
print('<tr>');
print('<td valign="top" style="text-align:center">'.$date.'</td>');
print('<td valign="top">'.$type.'</td>');
print('<td valign="top">'.$expression.'</td>');
print('<td valign="top">'.$criteres.'</td>');
print('</tr>');
}
......@@ -102,51 +38,4 @@ print('</table>');
$pager=$this->Pager($this->nombre_total,$this->nb_par_page,$this->page,BASE_URL."/admin/stat/rechercheinfructueuse");
print('<div style="width:740px"><center>'.$pager.'</div>');
// Fonctions
function addCritere($libelle,$operateur,$texte)
{
global $expression;
if($libelle == "RESET"){ $expression=""; return; }
if(!$texte) return $expression;
if($expression) $expression.=BR;
switch($operateur)
{
case "or": $expression.="ou "; break;
case "not": $expression.="sauf "; break;
}
$expression.=$libelle;
$expression.="=".$texte;
return $expression;
}
function addSelection($libelle,$valeur)
{
global $criteres;
if($libelle == "RESET"){ $criteres=""; return; }
if(!trim($valeur)) return $criteres;
if($libelle == "Type de doc.")
{
if(!$valeur or $valeur == "0") return $criteres;
$valeur=Class_Codification::getInstance()->getLibelleFacette("T".$valeur);
}
if($libelle == "Bibliothèques" and trim($valeur) > "" )
{
$bibs=array_filter(explode(" ",$valeur));
$valeur="";
foreach($bibs as $bib)
{
if(!trim($bib)) continue;
$id_bib=substr(trim($bib),1);
$lib = fetchOne("select nom_court from int_bib join codif_annexe where code='$id_bib'");
if($valeur) $valeur.=", ";
$valeur.=$lib;
}
}
if($criteres) $criteres.=BR;
$criteres.=$libelle."=".$valeur;
return $criteres;
}
?>
<br>
......@@ -65,7 +65,9 @@ class ZendAfi_View_Helper_TagHistoriqueRecherche extends ZendAfi_View_Helper_Tag
public function visitFacette($facette) {
$libelle = Class_Codification::getInstance()->getNomFacette($facette).': '.Class_Codification::getInstance()->getLibelleFacette($facette);
if (!$libelle_facette = Class_Codification::getInstance()->getNomFacette($facette))
return;
$libelle = $libelle_facette.': '.Class_Codification::getInstance()->getLibelleFacette($facette);
$facettes = array_diff($this->_current_facettes, [$facette] );
$url=$this->_criteres_recherche->getUrlRetourListe();
$url['facettes']=implode('-', $facettes);
......
......@@ -30,6 +30,27 @@ a, .menuAdmin li {
.menuAdmin li:hover,
.tree li.album:hover,
th.stat {background-color: rgba(194, 221, 230, 0.4); color:#0058A5;}
table.stat li {
list-style: none;
}
table.stat li a {
float: left;
width: 210px;
margin-right: 20px;
display: block;
}
table.stat li ul {
float: left;
width: 380px;
display: block;
margin: 0px;
}
table.stat li img {
vertical-align: middle;
}
.menuAdmin a:visited{color:#0058A5;text-decoration:none;}
.menuAdmin li.sousMenuContent:hover{background-color:inherit;}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment