author_type = $author_type+0; } protected function get_hidden_search_content_form() { $content_form = parent::get_hidden_search_content_form(); $content_form .= ""; return $content_form; } protected function get_results_all_types() { global $msg, $charset; global $titre_resume; global $nb_result_resume; global $link_type_resume; $level1_authors_search = new level1_authors_search('authors', 'level1_authors_search'); $level1_authors_search->set_user_query($this->user_query); $level1_authors_search->set_author_type(70); $nb_result_auteurs_physiques = $level1_authors_search->get_nb_results(); $level1_authors_search = new level1_authors_search('authors', 'level1_authors_search'); $level1_authors_search->set_user_query($this->user_query); $level1_authors_search->set_author_type(71); $nb_result_auteurs_collectivites = $level1_authors_search->get_nb_results(); $level1_authors_search = new level1_authors_search('authors', 'level1_authors_search'); $level1_authors_search->set_user_query($this->user_query); $level1_authors_search->set_author_type(72); $nb_result_auteurs_congres = $level1_authors_search->get_nb_results(); $this->nb_results = $nb_result_auteurs_physiques+$nb_result_auteurs_collectivites+$nb_result_auteurs_congres; $this->add_in_session(); if($nb_result_auteurs_physiques == $this->nb_results) { // Il n'y a que des auteurs physiques, affichage type: Auteurs xx résultat(s) afficher $titre_resume[0]=$msg["authors"]; $nb_result_resume[0]=$this->nb_results; $link_type_resume[0]="70"; } else if($nb_result_auteurs_collectivites == $this->nb_results) { // Il n'y a que des collectivites, affichage type: Collectivités xx résultat(s) afficher $titre_resume[0]=$msg["collectivites_search"]; $nb_result_resume[0]=$this->nb_results; $link_type_resume[0]="71"; } else if($nb_result_auteurs_congres == $this->nb_results) { // Il n'y a que des congres, affichage type: Collectivités xx résultat(s) afficher $titre_resume[0]=$msg["congres_search"]; $nb_result_resume[0]=$this->nb_results; $link_type_resume[0]="72"; } else { // il y a un peu de tout, affichage en titre type: Auteurs xx résultat(s) afficher $titre_resume[0]=$msg["authors"]; $nb_result_resume[0]=$this->nb_results; $link_type_resume[0]=""; if($nb_result_auteurs_physiques) { // Il n'y a des auteurs physiques, affichage en sous-titre titre: Auteurs physiques xx résultat(s) afficher $titre_resume[]=$msg["personnes_physiques_search"]; $nb_result_resume[]=$nb_result_auteurs_physiques; $link_type_resume[]="70"; } if($nb_result_auteurs_collectivites) { // Il n'y a des collectivites, affichage en sous-titre titre: Collectivités xx résultat(s) afficher $titre_resume[]=$msg["collectivites_search"]; $nb_result_resume[]=$nb_result_auteurs_collectivites; $link_type_resume[]="71"; } if($nb_result_auteurs_congres) { // Il n'y a des congres, affichage en sous-titre titre: Congrès xx résultat(s) afficher $titre_resume[]=$msg["congres_search"]; $nb_result_resume[]=$nb_result_auteurs_congres; $link_type_resume[]="72"; } } } public function proceed() { global $msg, $charset; global $opac_allow_affiliate_search; global $titre_resume; global $nb_result_resume; global $link_type_resume; $this->get_results_all_types(); if($opac_allow_affiliate_search){ print "
".$titre_resume[0].""; print"
"; for($i=0;$i".$msg['in_catalog']." ".$nb_result_resume[$i]." ".$msg['results']." "; }else{ if($i==1) { print "
"; } print " ".$titre_resume[$i]." ".$nb_result_resume[$i]." ".$msg['results']." "; } if ($nb_result_resume[$i]) { print "get_hidden_search_form_name().".count.value='".$nb_result_resume[$i]."'; document.forms.".$this->get_hidden_search_form_name().".author_type.value='$link_type_resume[$i]'; document.forms.".$this->get_hidden_search_form_name().".action ='".$this->get_form_action()."&tab=catalog'; document.forms['".$this->get_hidden_search_form_name()."'].submit(); return false;\">".$msg['suite']." "; } print "
"; } if($i>1) { print "
"; } print "
".$msg['in_affiliate_source']."
"; $form = "
"; $form .= $this->get_hidden_search_form(); $form .= "
"; print $form; print "
"; }else{ if ($this->get_nb_results()) { print "
"; for($i=0;$i"; } print "$titre_resume[$i] ".$nb_result_resume[$i]." ".$msg['results']." "; // Le lien validant le formulaire est inséré avant le formulaire, cela évite les blancs à l'écran if ($nb_result_resume[$i]) { print "get_hidden_search_form_name().".count.value='".$nb_result_resume[$i]."'; document.forms.".$this->get_hidden_search_form_name().".author_type.value='$link_type_resume[$i]'; document.forms['".$this->get_hidden_search_form_name()."'].submit(); return false;\">".$msg['suite']." "; } print "
"; } if($i>1) { print ""; } // tout bon, y'a du résultat, on lance le pataquès d'affichage $form = "
"; $form .= $this->get_hidden_search_form(); $form .= "
"; print $form; print "
"; } } $this->search_log($this->get_nb_results()); } /** * Enregistrement des stats */ protected function search_log($count) { global $nb_results_tab; global $author_type; switch($author_type) { case '71': $nb_results_tab['collectivites'] = $count; break; case '72': $nb_results_tab['congres'] = $count; break; case '70': default: $nb_results_tab['physiques'] = $count; break; } } public function get_nb_results() { if(!isset($this->nb_results)) { $searcher = $this->get_searcher_instance(); if(is_object($searcher)){ $elements_ids = $searcher->get_result(); if($elements_ids){ $query = "select count(id_authority) from authorities "; if($this->author_type){ $query.= "join authors on author_id = num_object and author_type = '".$this->author_type."' "; } $query.= "where authorities.num_object AND authorities.type_object = ".$this->get_authority_type_const()." AND id_authority IN (".$elements_ids.")"; $result = pmb_mysql_query($query); $this->nb_results = pmb_mysql_result($result, 0 , 0); } } if($this->nb_results) { $this->add_in_session(); } } return $this->nb_results; } } ?>