table; } if (!count($langue_doc)) { $langue_doc = new marc_list('lang'); $langue_doc = $langue_doc->table; } if (!count($icon_doc)) { $icon_doc = new marc_list('icondoc'); $icon_doc = $icon_doc->table; } require_once($include_path."/templates/collstate.tpl.php"); // Use this class if you want to show responsability functions before authors. // This class defines a new fetch_auteurs function that overwrites the one included in the parent class notice_affichage // using this function you can load the author functions from the litteral_function.xml file if this exists in the lang directory. // Marco Vaninetti class notice_affichage_custom_it extends notice_affichage { function fetch_auteurs() { global $fonction_auteur0; global $dbh ; global $include_path; global $lang, $tdoc, $langue_doc; $this->responsabilites = array() ; $auteurs = array() ; $res["responsabilites"] = array() ; $res["auteurs"] = array() ; // if literal_function.xml exists we use this instead of function.xml $ISBDv2=0; if (is_file("$include_path/marc_tables/$lang/literal_function.xml")) $ISBDv2=1; if (!count($tdoc)) $tdoc = new marc_list('doctype'); if (!count($fonction_auteur0)) { if ($ISBDv2) $fonction_auteur0 = new marc_list('literal_function'); else $fonction_auteur0 = new marc_list('function'); $fonction_auteur0 = $fonction_auteur0->table; } if (!count($langue_doc)) { $langue_doc = new marc_list('lang'); $langue_doc = $langue_doc->table; } $rqt = "SELECT author_id, responsability_fonction, responsability_type, author_name, author_rejete, author_type, author_date, author_see, author_web "; $rqt.= "FROM responsability, authors "; $rqt.= "WHERE responsability_notice='".$this->notice_id."' AND responsability_author=author_id "; $rqt.= "ORDER BY responsability_type, responsability_ordre, responsability_fonction " ; $res_sql = mysql_query($rqt, $dbh); while (($notice=mysql_fetch_object($res_sql))) { $responsabilites[] = $notice->responsability_type ; if ($notice->author_rejete) $auteur_isbd = $notice->author_rejete." ".$notice->author_name ; else $auteur_isbd = $notice->author_name ; // on s'arrête là pour auteur_titre = "Prénom NOM" uniquement $auteur_titre = $auteur_isbd ; // on complète auteur_isbd pour l'affichage complet if ($notice->author_date) $auteur_isbd .= " (".$notice->author_date.")" ; // URL de l'auteur if ($notice->author_web) $auteur_web_link = " "; else $auteur_web_link = "" ; if (!$this->to_print) $auteur_isbd .= $auteur_web_link ; $auteur_isbd = inslink($auteur_isbd, str_replace("!!id!!", $notice->author_id, $this->lien_rech_auteur)) ; if ($notice->responsability_fonction) $fonction_aut=$fonction_auteur0[$notice->responsability_fonction] ; else { $fonction_aut=""; $notice->responsability_fonction="0"; } $auteurs[] = array( 'id' => $notice->author_id, 'fonction' => $notice->responsability_fonction, 'responsability' => $notice->responsability_type, 'name' => $notice->author_name, 'rejete' => $notice->author_rejete, 'date' => $notice->author_date, 'type' => $notice->author_type, 'fonction_aff' => $fonction_aut, 'auteur_isbd' => $auteur_isbd, 'auteur_titre' => $auteur_titre ) ; } $res["responsabilites"] = $responsabilites ; $res["auteurs"] = $auteurs ; $this->responsabilites = $res; // $this->auteurs_principaux // on ne prend que le auteur_titre = "Prénom NOM" $as = array_search ("0", $this->responsabilites["responsabilites"]) ; if ($as!== FALSE && $as!== NULL) { $auteur_0 = $this->responsabilites["auteurs"][$as] ; $this->auteurs_principaux = $auteur_0["auteur_titre"]; } else { $as = array_keys ($this->responsabilites["responsabilites"], "1" ) ; for ($i = 0 ; $i < count($as) ; $i++) { $indice = $as[$i] ; $auteur_1 = $this->responsabilites["auteurs"][$indice] ; $aut1_libelle[]= $auteur_1["auteur_titre"]; } $auteurs_liste = implode ("; ",$aut1_libelle) ; if ($auteurs_liste) $this->auteurs_principaux = $auteurs_liste ; } $flag1=0; // $this->auteurs_tous $mention_resp = array() ; $as = array_search ("0", $this->responsabilites["responsabilites"]) ; if ($as!== FALSE && $as!== NULL) { $auteur_0 = $this->responsabilites["auteurs"][$as] ; $mention_resp_lib = $auteur_0["auteur_isbd"]; if($auteur_0["fonction"]!="0" and $auteur_0["fonction"]!= 70) $mention_resp_lib= $auteur_0["fonction_aff"]." ".$mention_resp_lib; $first_mention=$auteur_0["fonction_aff"]; $mention_resp[] = $mention_resp_lib ; } $i=0; $as = array_keys ($this->responsabilites["responsabilites"], "1" ) ; while ($i < count($as) ) { $j=count($as)-$i-1; $indice = $as[$j] ; $auteur_1 = $this->responsabilites["auteurs"][$indice] ; $flag= $auteur_1["fonction"]; $fonct_aff=$auteur_1["fonction_aff"]; $mention_resp_lib = ""; $k=0; $sep=""; while ($flag==$auteur_1["fonction"]) { $mention_resp_lib =$auteur_1["auteur_isbd"].$sep.$mention_resp_lib; if ($k==0) $sep= " e "; else $sep=","; $k++; $indice = $as[$j-$k] ; $auteur_1 = $this->responsabilites["auteurs"][$indice] ; } $i=$i+$k; if($fonct_aff==$first_mention) { if ($k==1)$mention_resp_lib=$mention_resp[0]." e ".$mention_resp_lib; else $mention_resp_lib=$mention_resp[0].", ".$mention_resp_lib; $flag1++; } else if($fonct_aff !="") $mention_resp_lib=$fonct_aff." ".$mention_resp_lib; $mention_resp1[] = $mention_resp_lib ; } $mention_resp1 =array_reverse($mention_resp1); if($flag1==1) $mention_resp=$mention_resp1; else $mention_resp= array_merge($mention_resp,$mention_resp1); $as = array_keys ($this->responsabilites["responsabilites"], "2" ) ; $i=0; while ($i < count($as) ) { $j=count($as)-$i-1; $indice = $as[$j] ; $auteur_2 = $this->responsabilites["auteurs"][$indice] ; $flag= $auteur_2["fonction"]; $fonct_aff=$auteur_2["fonction_aff"]; $mention_resp_lib = ""; $k=0; $sep=""; while ($flag==$auteur_2["fonction"]) { $mention_resp_lib =$auteur_2["auteur_isbd"].$sep.$mention_resp_lib; if ($k==0) $sep= " e "; else $sep=","; $k++; $indice = $as[$j-$k] ; $auteur_2 = $this->responsabilites["auteurs"][$indice] ; } $i=$i+$k; $mention_resp_lib =$fonct_aff." ".$mention_resp_lib; $mention_resp2[] =$mention_resp_lib ; } $mention_resp2 =array_reverse($mention_resp2); $mention_resp= array_merge($mention_resp,$mention_resp2); $libelle_mention_resp = implode (" ; ",$mention_resp) ; if ($libelle_mention_resp) $this->auteurs_tous = $libelle_mention_resp ; else $this->auteurs_tous ="" ; } // end fetch_auteurs } // end class notice_affichage_custom_it class notice_affichage_custom_bretagne extends notice_affichage { function do_public($short=0,$ex=1) { global $dbh; global $msg; global $charset; global $opac_url_base, $opac_permalink; $this->fetch_categories() ; $this->notice_public=""; // ******* afin de pouvoir concaténer en td /td sous-collection et collection le cas échéant global $colspanbretagne; if ($this->notice->subcoll_id || ($this->notice->year && $this->notice->ed1_id)) $colspanbretagne = " colspan='3' "; else $colspanbretagne = ""; // Notices parentes $this->notice_public.=$this->parents; // constitution de la mention de titre if ($this->notice->serie_name) { $this->notice_public.= "\n\t"; } $this->notice_public .= "\n\t"; $this->notice_public .= ""; if ($this->notice->tit2) $this->notice_public .= "\n\t" ; if ($this->notice->tit3) $this->notice_public .= "\n\t" ; if ($this->auteurs_tous) $this->notice_public .= "\n\t"; // mention d'édition if ($this->notice->mention_edition) $this->notice_public .= "\n\t"; // zone de l'éditeur if ($this->notice->year) { $annee = ", ".$this->notice->year; $colspanbretagneediteur=""; } else $colspanbretagneediteur=$colspanbretagne; if ($this->notice->ed1_id) { $editeur = new publisher($this->notice->ed1_id); $this->notice_public .= "\n\t" ; $annee = "" ; } // *** collection et sous-collection // ******* concaténer en td /td sous-collection et collection if ($this->notice->nocoll) $affnocoll = " ".str_replace("!!nocoll!!", $this->notice->nocoll, $msg['subcollection_details_nocoll']) ; else $affnocoll = ""; if($this->notice->subcoll_id) { $subcollection = new subcollection($this->notice->subcoll_id); $collection = new collection($this->notice->coll_id); $this->notice_public .= "\n\t"; $this->notice_public .= "\n\t"; } elseif ($this->notice->coll_id) { $collection = new collection($this->notice->coll_id); $this->notice_public .= "\n\t"; } // $annee est vide si ajoutée avec l'éditeur, donc si pas éditeur, on l'affiche ici if ($annee) $this->notice_public .= "\n\t" ; // Titres uniformes if(($tu_liste=$this->notice->tu->get_print_type(2,$opac_url_base."/index.php?lvl=titre_uniforme_see&id=" ))) { $this->notice_public.= ""; } // zone de la collation if($this->notice->npages) { if ($this->notice->niveau_biblio<>"a") { $this->notice_public .= "\n\t"; } else { $this->notice_public .= "\n\t"; } } if ($this->notice->ill) $this->notice_public .= "\n\t"; if ($this->notice->size) $this->notice_public .= "\n\t"; if ($this->notice->accomp) $this->notice_public .= "\n\t"; // note générale if ($this->notice->n_gen) $zoneNote = nl2br(htmlentities($this->notice->n_gen,ENT_QUOTES, $charset)); if ($zoneNote) $this->notice_public .= "\n\t"; // Permalink avec Id if ($opac_permalink) $ret.= "\n\t"; // langues if (count($this->langues)) { $this->notice_public .= "\n\t"; } elseif (count($this->languesorg)) { $this->notice_public .= "\n\t"; } $this->notice_public.=$this->genere_in_perio(); if (!$short) $this->notice_public .= $this->aff_suite() ; $this->notice_public.="
".$msg['tparent_start']."".inslink($this->notice->serie_name, str_replace("!!id!!", $this->notice->tparent_id, $this->lien_rech_serie));; if ($this->notice->tnvol) $this->notice_public .= ', '.$this->notice->tnvol; $this->notice_public .="
".$msg['title']." :".$this->notice->tit1 ; if ($this->notice->tit4) $this->notice_public .= ": ".$this->notice->tit4 ; $this->notice_public.="
".$msg['other_title_t2']." :".$this->notice->tit2."
".$msg['other_title_t3']." :".$this->notice->tit3."
".$msg['auteur_start']."".$this->auteurs_tous."
".$msg['mention_edition_start']."".$this->notice->mention_edition."
".$msg['editeur_start']."".inslink($editeur->display, str_replace("!!id!!", $this->notice->ed1_id, $this->lien_rech_editeur)). $annee."
".$msg['coll_start']."".inslink($collection->name, str_replace("!!id!!", $this->notice->coll_id, $this->lien_rech_collection))."
".$msg['subcoll_start']."".inslink($subcollection->name, str_replace("!!id!!", $this->notice->subcoll_id, $this->lien_rech_subcollection)); $this->notice_public .=$affnocoll."
".$msg['coll_start']."".inslink($collection->isbd_entry, str_replace("!!id!!", $this->notice->coll_id, $this->lien_rech_collection)) ; $this->notice_public .=$affnocoll."
".$msg['year_start']."".$this->notice->year."
".$msg['titre_uniforme_aff_public']."".$tu_liste."
".$msg['npages_start']."".$this->notice->npages."
".$msg['npages_start_perio']."".$this->notice->npages."
".$msg['ill_start']."".$this->notice->ill."
".$msg['size_start']."".$this->notice->size."
".$msg['accomp_start']."".$this->notice->accomp."
".$msg['n_gen_start']."".$zoneNote."
".$msg["notice_permalink"]."".substr($opac_url_base."index.php?lvl=notice_display&id=".$this->notice_id,0,80)."
".$msg['537']." :".$this->construit_liste_langues($this->langues); if (count($this->languesorg)) $this->notice_public .= " ".$msg['711']." : ".$this->construit_liste_langues($this->languesorg); $this->notice_public.="
".$msg['711']." :".$this->construit_liste_langues($this->languesorg)."
\n"; //Notices liées // ajoutées en dehors de l'onglet PUBLIC ailleurs if ($ex) $this->affichage_resa_expl = $this->aff_resa_expl() ; return; } // end do_public // fonction d'affichage de la suite ISBD ou PUBLIC : partie commune, pour éviter la redondance de calcul function aff_suite() { global $msg; global $charset; global $opac_allow_tags_search, $opac_permalink, $opac_url_base; global $tdoc; // afin d'éviter de recalculer un truc déjà calculé... // MODIF ER 21 oct 2008 : pour la Bretagne, on recalcule forcément à cause du colspanbretagne // if ($this->affichage_suite) return $this->affichage_suite ; // ******* afin de pouvoir concaténer en td /td sous-collection et collection le cas échéant, // récupérer $colspanbretagne calculé par do_public global $colspanbretagne; // serials : si article //$ret .= $this->genere_in_perio () ; //Espace $ret.="\n\t "; // résumé if($this->notice->n_resume) $ret .= "\n\t".$msg['n_resume_start']."".nl2br($this->notice->n_resume).""; // note de contenu if($this->notice->n_contenu) $ret .= "\n\t".$msg['n_contenu_start']."".nl2br(htmlentities($this->notice->n_contenu,ENT_QUOTES, $charset)).""; // toutes indexations $ret_index = ""; // Catégories if ($this->categories_toutes) $ret_index .= "\n\t".$msg['categories_start']."".$this->categories_toutes.""; // Affectation du libellé mots clés ou tags en fonction de la recherche précédente if ($opac_allow_tags_search == 1) $libelle_key = $msg['tags']; else $libelle_key = $msg['motscle_start']; // indexation libre $mots_cles = $this->do_mots_cle() ; if ($mots_cles) $ret_index.= "\n\t".$libelle_key."".$mots_cles.""; // indexation interne if($this->notice->indexint) { $indexint = new indexint($this->notice->indexint); $ret_index.= "\n\t".$msg['indexint_start']."".inslink($indexint->name, str_replace("!!id!!", $this->notice->indexint, $this->lien_rech_indexint))." ".nl2br(htmlentities($indexint->comment,ENT_QUOTES, $charset))."" ; } if ($ret_index) { $ret.=$ret_index; // espace // $ret.=" "; } //Champs personalisés $perso_aff = "" ; if (!$this->p_perso->no_special_fields) { $perso_=$this->p_perso->show_fields($this->notice_id); for ($i=0; $i".$tdoc->table[$this->notice->typdoc]."  ;"; $perso_aff .="  ".$p["AFF"].""; } elseif($p['OPAC_SHOW'] && $p["AFF"]) { $perso_aff .="\n\t".strip_tags($p["TITRE"])."".$p["AFF"].""; } } } if ($perso_aff) { $ret .= $perso_aff ; } if ($this->notice->lien) { //$ret.="\n\t "; $ret.="\n\t".$msg["lien_start"]."" ; if (substr($this->notice->eformat,0,3)=='RSS') { $ret .= affiche_rss($this->notice->notice_id) ; } else { if (strlen($this->notice->lien)>80) { $ret.="notice->lien."\" target=\"top\" class='lien856'>".htmlentities(substr($this->notice->lien, 0, 80),ENT_QUOTES,$charset)." [...]"; } else { $ret.="notice->lien."\" target=\"top\" class='lien856'>".htmlentities($this->notice->lien,ENT_QUOTES,$charset).""; } } $ret.=""; if ($this->notice->eformat && substr($this->notice->eformat,0,3)!='RSS') $ret.="".$msg["eformat_start"]."".htmlentities($this->notice->eformat,ENT_QUOTES,$charset).""; } // Permalink avec Id if ($opac_permalink) { if($this->notice->niveau_biblio != "b"){ $ret.= "\n\t".$msg["notice_permalink"]."".substr($opac_url_base."index.php?lvl=notice_display&id=".$this->notice_id,0,80).""; }else { $ret.= "\n\t".$msg["notice_permalink"]."".substr($opac_url_base."index.php?lvl=bulletin_display&id=".$this->bulletin_id,0,80).""; } } $this->affichage_suite = $ret ; return $ret ; } // fonction de génération de ,la mention in titre du pério + numéro function genere_in_perio () { global $charset ; // serials : si article if($this->notice->niveau_biblio == 'a' && $this->notice->niveau_hierar == 2) { $bulletin = $this->parent_title; $notice_mere = inslink("".$this->parent_title."", str_replace("!!id!!", $this->parent_id, $this->lien_rech_perio)); if($this->parent_numero) $numero = $this->parent_numero." " ; // affichage de la mention de date utile : mention_date si existe, sinon date_date if ($this->parent_date) $date_affichee = " (".$this->parent_date.")"; elseif ($this->parent_date_date) $date_affichee .= " [".formatdate($this->parent_date_date)."]"; else $date_affichee="" ; $bulletin = inslink("".$numero.$date_affichee."", str_replace("!!id!!", $this->bulletin_id, $this->lien_rech_bulletin)); $this->bulletin_numero=$numero; $this->bulletin_date=$date_affichee; $mention_parent = "in $notice_mere > $bulletin "; $retour .= "
$mention_parent"; $pagination = htmlentities($this->notice->npages,ENT_QUOTES, $charset); //if ($pagination) $retour .= ". - $pagination"; } return $retour ; } // fin genere_in_perio () } // end class notice_affichage_custom_bretagne class notice_affichage_custom_alstom extends notice_affichage { // fonction d'affichage de la suite ISBD ou PUBLIC : partie commune, pour éviter la redondance de calcul function aff_suite() { global $msg; global $charset; global $opac_permalink, $opac_url_base; // afin d'éviter de recalculer un truc déjà calculé... if ($this->affichage_suite) return $this->affichage_suite ; // serials : si article $ret .= $this->genere_in_perio () ; //Espace $ret.=" "; // résumé if($this->notice->n_resume) $ret .= "".$msg['n_resume_start']."".nl2br($this->notice->n_resume).""; // note de contenu if($this->notice->n_contenu) $ret .= "".$msg['n_contenu_start']."".nl2br(htmlentities($this->notice->n_contenu,ENT_QUOTES, $charset)).""; // Catégories if($this->categories_toutes) $ret .= "".$msg['categories_start']."".$this->categories_toutes.""; // indexation libre $mots_cles = $this->do_mots_cle() ; if($mots_cles) $ret .= "".$msg['motscle_start']."".$mots_cles.""; // indexation interne if($this->notice->indexint) { $indexint = new indexint($this->notice->indexint); $ret .= "".$msg['indexint_start']."".inslink($indexint->name, str_replace("!!id!!", $this->notice->indexint, $this->lien_rech_indexint))." ".nl2br(htmlentities($indexint->comment,ENT_QUOTES, $charset))."" ; } //Champs personalisés $perso_aff = "" ; if (!$this->p_perso->no_special_fields) { $perso_=$this->p_perso->show_fields($this->notice_id); for ($i=0; $i".$p["AFF"].""; } } if ($perso_aff) { //Espace $ret.=" "; $ret .= $perso_aff ; } if ($this->notice->lien) { $ret.=" "; $ret.="".$msg["lien_start"]."" ; if (substr($this->notice->eformat,0,3)=='RSS') { $ret .= affiche_rss($this->notice->notice_id) ; } else { $ret.="notice->lien."\" target=\"top\">".htmlentities($this->notice->lien,ENT_QUOTES,$charset).""; } $ret.=""; if ($this->notice->eformat && substr($this->notice->eformat,0,3)!='RSS') $ret.="".$msg["eformat_start"]."".htmlentities($this->notice->eformat,ENT_QUOTES,$charset).""; } // Permalink avec Id if ($opac_permalink) { if($this->notice->niveau_biblio != "b"){ $ret.= "".$msg["notice_permalink"]."".substr($opac_url_base."index.php?lvl=notice_display&id=".$this->notice_id,0,80).""; }else { $ret.= "".$msg["notice_permalink"]."".substr($opac_url_base."index.php?lvl=bulletin_display&id=".$this->bulletin_id,0,80).""; } } $this->affichage_suite = $ret ; return $ret ; } } class notice_affichage_mw extends notice_affichage { //affichage alterné de 2 styles différents dans les lignes du tableau des notices var $x=""; //gestion de l'alternance des lignes colorées dans le tableau HTML // génération de l'affichage public---------------------------------------- function do_public($short=0,$ex=1) { global $msg; global $tdoc; global $charset; global $opac_url_base; $this->fetch_categories() ; $this->notice_public = ""; // constitution de la mention de titre $x=""; if ($this->notice->serie_name) { if ($x=="2") $x=""; else $x="2"; $this->notice_public.= ""; } if ($x=="2") $x=""; else $x="2"; $this->notice_public.= ""; $this->notice_public .= ""; if ($this->notice->tit2) { if ($x=="2") {$x="";} else {$x="2";} $this->notice_public .= "" ; } if ($this->notice->tit3) { if ($x=="2") {$x="";} else {$x="2";} $this->notice_public .= "" ; } //type de document if ($tdoc->table[$this->notice->typdoc]) { if ($x=="2") {$x="";} else {$x="2";} $this->notice_public .= ""; } //auteur if ($this->auteurs_tous) { if ($x=="2") {$x="";} else {$x="2";} $this->notice_public .= ""; } // mention d'édition if ($this->notice->mention_edition) { if ($x=="2") {$x="";} else {$x="2";} $this->notice_public .= ""; } //Date de publication if ($this->notice->ed1_id) { if ($x=="2") {$x="";} else {$x="2";} $editeur = new publisher($this->notice->ed1_id); $this->notice_public .= ""; if ($this->notice->year){ if ($x=="2") {$x="";} else {$x="2";} $this->notice_public .= ""; $annee=true; } } // collection if($this->notice->subcoll_id) { if ($x=="2") $x=""; else $x="2"; $subcollection = new subcollection($this->notice->subcoll_id); $collection = new collection($this->notice->coll_id); $this->notice_public .= "" ; if ($x=="2") $x=""; else $x="2"; $this->notice_public .= "" ; } elseif ($this->notice->coll_id) { if ($x=="2") {$x="";} else {$x="2";} $collection = new collection($this->notice->coll_id); $this->notice_public .= ""; // ajout $annee si pas vide. Est vide si déjà ajouté plus haut if (!$annee) $this->notice_public .= $annee ; // Titres uniformes if(($tu_liste=$this->notice->tu->get_print_type(2,$opac_url_base."/index.php?lvl=titre_uniforme_see&id=" ))) { $this->notice_public.= ""; } // zone de la collation if($this->notice->npages) if ($this->notice->niveau_biblio<>"a") { if ($x=="2") {$x="";} else {$x="2";} $this->notice_public .= ""; } else { if ($x=="2") {$x="";} else {$x="2";} $this->notice_public .= ""; } if ($this->notice->ill){ if ($x=="2") {$x="";} else {$x="2";} $this->notice_public .= ""; } if ($this->notice->size){ if ($x=="2") {$x="";} else {$x="2";} $this->notice_public .= ""; } if ($this->notice->accomp){ if ($x=="2") {$x="";} else {$x="2";} $this->notice_public .= ""; } // ISBN ou NO. commercial if ($this->notice->code){ if ($x=="2") {$x="";} else {$x="2";} $this->notice_public .= ""; } if ($this->notice->prix){ if ($x=="2") {$x="";} else {$x="2";} $this->notice_public .= ""; } // note générale if ($this->notice->n_gen) $zoneNote = nl2br(htmlentities($this->notice->n_gen,ENT_QUOTES, $charset)); if ($zoneNote) { if ($x=="2") {$x="";} else {$x="2";} $this->notice_public .= ""; } // langues if (count($this->langues)) { if ($x=="2") {$x="";} else {$x="2";} $this->notice_public .= ""; } else if (count($this->languesorg)) { if ($x=="2") {$x="";} else {$x="2";} $this->notice_public .= ""; } if (!$short) $this->notice_public .= $this->aff_suite() ; else $this->notice_public.=$this->genere_in_perio(); $this->notice_public.="
".$msg['tparent_start']."".inslink($this->notice->serie_name, str_replace("!!id!!", $this->notice->tparent_id, $this->lien_rech_serie));; if ($this->notice->tnvol) $this->notice_public .= ', '.$this->notice->tnvol; $this->notice_public .="
".$msg['title']." :".$this->notice->tit1 ; if ($this->notice->tit4) $this->notice_public .= ": ".$this->notice->tit4 ; $this->notice_public.="
".$msg['other_title_t2']." :".$this->notice->tit2."
".$msg['other_title_t3']." :".$this->notice->tit3."
".$msg['typdocdisplay_start']."".$tdoc->table[$this->notice->typdoc]."
".$msg['auteur_start']."".$this->auteurs_tous."
".$msg['mention_edition_start']."".$this->notice->mention_edition."
".$msg['editeur_start']."".inslink($editeur->display, str_replace("!!id!!", $this->notice->ed1_id, $this->lien_rech_editeur)) ; $this->notice_public.="
".$msg['year_start']."".$this->notice->year."
".$msg['coll_start']."".inslink($collection->name, str_replace("!!id!!", $this->notice->coll_id, $this->lien_rech_collection))."
".$msg['subcoll_start']."".inslink($subcollection->name, str_replace("!!id!!", $this->notice->subcoll_id, $this->lien_rech_subcollection))."
".$msg['coll_start']."".inslink($collection->isbd_entry, str_replace("!!id!!", $this->notice->coll_id, $this->lien_rech_collection)) ; } if ($this->notice->nocoll) $this->notice_public .= " ".str_replace("!!nocoll!!", $this->notice->nocoll, $msg['subcollection_details_nocoll']) ; $this->notice_public.="
".$msg['titre_uniforme_aff_public']." ".$tu_liste."
".$msg['npages_start']."".$this->notice->npages."
".$msg['npages_start_perio']."".$this->notice->npages."
".$msg['ill_start']."".$this->notice->ill."
".$msg['size_start']."".$this->notice->size."
".$msg['accomp_start']."".$this->notice->accomp."
".$msg['code_start']."".$this->notice->code."
".$msg['price_start']."".$this->notice->prix."
".$msg['n_gen_start']."".$zoneNote."
".$msg['537']." :".$this->construit_liste_langues($this->langues); if (count($this->languesorg)) $this->notice_public .= " ".$msg['711']." : ".$this->construit_liste_langues($this->languesorg); $this->notice_public.="
".$msg['711']." :".$this->construit_liste_langues($this->languesorg)."
\n"; if ($ex) $this->affichage_resa_expl = $this->aff_resa_expl() ; return; } function aff_suite() { global $msg; global $charset; global $opac_permalink, $opac_url_base; // afin d'éviter de recalculer un truc déjà calculé... if ($this->affichage_suite) return $this->affichage_suite ; // serials : si article $ret .= $this->genere_in_perio () ; //Espace $ret.=" "; // résumé $x="" ; if($this->notice->n_resume){ if ($x=="2") $x=""; else $x="2"; $ret .= "".$msg['n_resume_start']."".nl2br($this->notice->n_resume).""; } // note de contenu if($this->notice->n_contenu){ if ($x=="2") {$x="";} else {$x="2";} $ret .= "".$msg['n_contenu_start']."".nl2br(htmlentities($this->notice->n_contenu,ENT_QUOTES, $charset)).""; } // Catégories if($this->categories_toutes){ if ($x=="2") {$x="";} else {$x="2";} $ret .= "".$msg['categories_start']."".$this->categories_toutes.""; } // indexation libre $mots_cles = $this->do_mots_cle() ; if($mots_cles){ if ($x=="2") {$x="";} else {$x="2";} $ret .= "".$msg['motscle_start']."".$mots_cles.""; } // indexation interne if($this->notice->indexint) { if ($x=="2") {$x="";} else {$x="2";} $indexint = new indexint($this->notice->indexint); $ret .= "".$msg['indexint_start']."".inslink($indexint->name, str_replace("!!id!!", $this->notice->indexint, $this->lien_rech_indexint))." ".nl2br(htmlentities($indexint->comment,ENT_QUOTES, $charset))."" ; } //Champs personalisés $perso_aff = "" ; if (!$this->p_perso->no_special_fields) { $perso_=$this->p_perso->show_fields($this->notice_id); for ($i=0; $i".$p["AFF"].""; } } if ($perso_aff) { //Espace $ret.=" "; $ret .= $perso_aff ; } if ($this->notice->lien) { if ($x=="2") {$x="";} else {$x="2";} $ret.=" "; $ret.="".$msg["lien_start"]."" ; if (substr($this->notice->eformat,0,3)=='RSS') { $ret .= affiche_rss($this->notice->notice_id) ; } else { $ret.="notice->lien."\" target=\"top\">".htmlentities($this->notice->lien,ENT_QUOTES,$charset).""; } $ret.=""; if ($this->notice->eformat && substr($this->notice->eformat,0,3)!='RSS'){ if ($x=="2") {$x="";} else {$x="2";} $ret.="".$msg["eformat_start"]."".htmlentities($this->notice->eformat,ENT_QUOTES,$charset).""; } } // Permalink avec Id if ($opac_permalink) { if($this->notice->niveau_biblio != "b"){ $ret.= "".$msg["notice_permalink"]."".substr($opac_url_base."index.php?lvl=notice_display&id=".$this->notice_id,0,80).""; }else { $ret.= "".$msg["notice_permalink"]."".substr($opac_url_base."index.php?lvl=bulletin_display&id=".$this->bulletin_id,0,80).""; } } $this->affichage_suite = $ret ; return $ret ; } // fonction d'affichage des exemplaires, résa et expl_num function aff_resa_expl() { global $opac_resa ; global $opac_max_resa ; global $opac_show_exemplaires ; global $msg; global $dbh; global $popup_resa ; global $opac_resa_popup ; // la résa se fait-elle par popup ? global $allow_book ; // afin d'éviter de recalculer un truc déjà calculé... if ($this->affichage_resa_expl) return $this->affichage_resa_expl ; if ( (is_null($this->dom) &&$opac_show_exemplaires && $this->visu_expl && (!$this->visu_expl_abon || ($this->visu_expl_abon && $_SESSION["user_code"]))) || ($this->rights & 8) ) { $resa_check=check_statut($this->notice_id,0) ; // vérification si exemplaire réservable if ($resa_check) { // déplacé dans le IF, si pas visible : pas de bouton résa $requete_resa = "SELECT count(1) FROM resa WHERE resa_idnotice='$this->notice_id'"; $nb_resa_encours = mysql_result(mysql_query($requete_resa,$dbh), 0, 0) ; if ($nb_resa_encours) $message_nbresa = str_replace("!!nbresa!!", $nb_resa_encours, $msg["resa_nb_deja_resa"]) ; if (($this->notice->niveau_biblio=="m") && ($_SESSION["user_code"] && $allow_book) && $opac_resa && !$popup_resa) { $ret .= "

".$msg["bulletin_display_resa"]."

"; if ($opac_max_resa==0 || $opac_max_resa>$nb_resa_encours) { if ($opac_resa_popup) $ret .= "notice_id."&oresa=popup','doresa','scrollbars=yes,width=500,height=600,menubar=0,resizable=yes'); w.focus(); return false;\" id=\"bt_resa\">".$msg["bulletin_display_place_resa"]."" ; else $ret .= "".$msg["bulletin_display_place_resa"]."" ; $ret .= $message_nbresa ; } else $ret .= str_replace("!!nb_max_resa!!", $opac_max_resa, $msg["resa_nb_max_resa"]) ; $ret.= "
"; } elseif ( ($this->notice->niveau_biblio=="m") && !($_SESSION["user_code"]) && $opac_resa && !$popup_resa) { // utilisateur pas connecté // préparation lien réservation sans être connecté $ret .= "

".$msg["bulletin_display_resa"]."

"; if ($opac_resa_popup) $ret .= "notice_id."&oresa=popup','doresa','scrollbars=yes,width=500,height=600,menubar=0,resizable=yes'); w.focus(); return false;\" id=\"bt_resa\">".$msg["bulletin_display_place_resa"]."" ; else $ret .= "".$msg["bulletin_display_place_resa"]."" ; $ret .= $message_nbresa ; $ret .= "
"; } } $temp = $this->expl_list($this->notice->niveau_biblio,$this->notice->notice_id); $ret .= $temp ; $this->affichage_expl = $temp ; } if ($this->visu_explnum && (!$this->visu_explnum_abon || ($this->visu_explnum_abon && $_SESSION["user_code"]))) { if (($explnum = show_explnum_per_notice($this->notice_id, 0, ''))) { $ret .= "

$msg[explnum]

".$explnum; $this->affichage_expl .= "

$msg[explnum]

".$explnum; } } $this->affichage_resa_expl = $ret ; return $ret ; } // génération du de l'affichage double avec onglets --------------------------------------------- // si $depliable=1 alors inclusion du parent / child function genere_double($depliable=1, $premier='ISBD') { global $msg; global $cart_aff_case_traitement; global $opac_url_base ; global $opac_avis_allow; global $opac_allow_add_tag; $basket="
"; if ($this->cart_allowed) { $basket.="\"".$msg[notice_title_basket]."\"".$msg[notice_bt_panier].""; } if (($opac_avis_allow && $opac_avis_allow != 2) || ($_SESSION["user_code"] && $opac_avis_allow == 2)) {//Avis $basket.="  notice_id','avis','width=520,height=290,scrollbars=yes,resizable=yes')\">".$msg[notice_bt_avis]."

"; } if (($opac_allow_add_tag==1)||(($opac_allow_add_tag==2)&&($_SESSION["user_code"]))){//add tags $basket.="  notice_id','Ajouter_un_tag','width=350,height=150,scrollbars=yes,resizable=yes')\">".$msg[notice_bt_tag].""; } if ((!$this->cart_allowed)&&($opac_avis_allow==0)) { $basket.=""; } $basket.="


"; // préparation de la case à cocher pour traitement panier if ($cart_aff_case_traitement) $case_a_cocher = " "; else $case_a_cocher = "" ; if ($this->notice->niveau_biblio=="s") $icon="icon_per_16x16.gif"; elseif ($this->notice->niveau_biblio=="a") $icon="icon_art_16x16.gif"; else $icon="icon_".$this->notice->typdoc."_16x16.gif"; if ($depliable) { $template="
$case_a_cocher "; if ($icon) $template.=" "; $template.=" !!heada!!