function gere_expl_bulletin($bulletin_id) { global $dbh; $bulletin = new stdClass(); //Exemplaires $bulletin->memo_exemplaires = array(); $requete = "select expl_id, expl_cb, expl_cote, expl_statut,statut_libelle, expl_typdoc, tdoc_libelle, expl_note, expl_comment, expl_section, section_libelle, "; $requete .= "expl_owner, lender_libelle, expl_codestat, codestat_libelle, expl_date_retour, expl_date_depot, expl_note, pret_flag, expl_location, location_libelle, expl_prix "; if ($opac_sur_location_activate) { $requete .= ", ifnull(surloc_id,0) as surloc_id, ifnull(surloc_libelle,'') as surloc_libelle "; } $requete .= "from exemplaires, docs_statut, docs_type, docs_section, docs_codestat, lenders, docs_location "; if ($opac_sur_location_activate) { $requete .= "left join sur_location on surloc_num=surloc_id "; } $requete .= "where expl_bulletin=" . $bulletin_id . " and expl_statut=idstatut and expl_typdoc=idtyp_doc and expl_section=idsection and expl_owner=idlender and expl_codestat=idcode "; $requete .= "and expl_location=idlocation "; $resultat = pmb_mysql_query($requete); while ($ex = pmb_mysql_fetch_object($resultat)) { //Champs perso d'exemplaires $parametres_perso = array(); $mes_pp = new parametres_perso("expl"); if (!$mes_pp->no_special_fields) { $mes_pp->get_values($ex->expl_id); $values = $mes_pp->values; foreach ($values as $field_id => $vals) { $parametres_perso[$mes_pp->t_fields[$field_id]["NAME"]]["TITRE"] = $mes_pp->t_fields[$field_id]["TITRE"]; foreach ($vals as $value) { $parametres_perso[$mes_pp->t_fields[$field_id]["NAME"]]["VALUE"][] = $mes_pp->get_formatted_output(array($value), $field_id); } } } $ex->parametres_perso = $parametres_perso; $bulletin->memo_exemplaires[] = $ex; } //Exemplaires numériques $paramaff["mine_type"] = 1; $bulletin->memo_explnum_assoc = show_explnum_per_notice(0, $bulletin_id, "", $paramaff); return $bulletin; }
function do_isbd() { global $dbh, $base_path; global $langue_doc; global $msg; global $tdoc; global $fonction_auteur; global $charset; global $thesaurus_mode_pmb, $thesaurus_categories_categ_in_line, $pmb_keyword_sep, $thesaurus_categories_affichage_ordre; global $load_tablist_js; global $lang; global $categories_memo, $libelle_thesaurus_memo; global $categories_top, $use_opac_url_base, $opac_url_base, $thesaurus_categories_show_only_last; global $categ; global $id_empr; global $pmb_show_notice_id, $pmb_opac_url, $pmb_show_permalink; global $sort_children; global $pmb_resa_planning; global $thesaurus_concepts_active; global $pmb_map_activate; global $pmb_nomenclature_activate; // constitution de la mention de titre if ($this->tit_serie) { if ($this->print_mode) { $this->isbd = $this->tit_serie; } else { $this->isbd = $this->tit_serie_lien_gestion; } if ($this->notice->tnvol) { $this->isbd .= ', ' . $this->notice->tnvol; } } $this->isbd ? $this->isbd .= '. ' . $this->notice->tit1 : ($this->isbd = $this->notice->tit1); $tit2 = $this->notice->tit2; $tit3 = $this->notice->tit3; $tit4 = $this->notice->tit4; if ($tit3) { $this->isbd .= " = {$tit3}"; } if ($tit4) { $this->isbd .= " : {$tit4}"; } if ($tit2) { $this->isbd .= " ; {$tit2}"; } $this->isbd .= ' [' . $tdoc->table[$this->notice->typdoc] . ']'; $mention_resp = array(); // constitution de la mention de responsabilité //$this->responsabilites $as = array_search("0", $this->responsabilites["responsabilites"]); if ($as !== FALSE && $as !== NULL) { $auteur_0 = $this->responsabilites["auteurs"][$as]; $auteur = new auteur($auteur_0["id"]); if ($this->print_mode) { $mention_resp_lib = $auteur->isbd_entry; } else { $mention_resp_lib = $auteur->isbd_entry_lien_gestion; } if (!$this->print_mode) { $mention_resp_lib .= $auteur->author_web_link; } if ($auteur_0["fonction"]) { $mention_resp_lib .= ", " . $fonction_auteur[$auteur_0["fonction"]]; } $mention_resp[] = $mention_resp_lib; } $as = array_keys($this->responsabilites["responsabilites"], "1"); for ($i = 0; $i < count($as); $i++) { $indice = $as[$i]; $auteur_1 = $this->responsabilites["auteurs"][$indice]; $auteur = new auteur($auteur_1["id"]); if ($this->print_mode) { $mention_resp_lib = $auteur->isbd_entry; } else { $mention_resp_lib = $auteur->isbd_entry_lien_gestion; } if (!$this->print_mode) { $mention_resp_lib .= $auteur->author_web_link; } if ($auteur_1["fonction"]) { $mention_resp_lib .= ", " . $fonction_auteur[$auteur_1["fonction"]]; } $mention_resp[] = $mention_resp_lib; } $as = array_keys($this->responsabilites["responsabilites"], "2"); for ($i = 0; $i < count($as); $i++) { $indice = $as[$i]; $auteur_2 = $this->responsabilites["auteurs"][$indice]; $auteur = new auteur($auteur_2["id"]); if ($this->print_mode) { $mention_resp_lib = $auteur->isbd_entry; } else { $mention_resp_lib = $auteur->isbd_entry_lien_gestion; } if (!$this->print_mode) { $mention_resp_lib .= $auteur->author_web_link; } if ($auteur_2["fonction"]) { $mention_resp_lib .= ", " . $fonction_auteur[$auteur_2["fonction"]]; } $mention_resp[] = $mention_resp_lib; } $libelle_mention_resp = implode("; ", $mention_resp); if ($libelle_mention_resp) { $this->isbd .= " / {$libelle_mention_resp}"; } // mention d'édition if ($this->notice->mention_edition) { $this->isbd .= ". - " . $this->notice->mention_edition; } if ($pmb_map_activate) { if ($mapisbd = $this->map_info->get_isbd()) { $this->isbd .= $mapisbd; } } // zone de l'adresse // on récupère la collection au passage, si besoin est if ($this->notice->subcoll_id) { $collection = new subcollection($this->notice->subcoll_id); $ed_obj = new editeur($collection->editeur); if ($this->print_mode) { $editeurs .= $ed_obj->isbd_entry; $collections = $collection->isbd_entry; } else { $editeurs .= $ed_obj->isbd_entry_lien_gestion; $collections = $collection->isbd_entry_lien_gestion; } } elseif ($this->notice->coll_id) { $collection = new collection($this->notice->coll_id); $ed_obj = new editeur($collection->parent); if ($this->print_mode) { $editeurs .= $ed_obj->isbd_entry; $collections = $collection->isbd_entry; } else { $editeurs .= $ed_obj->isbd_entry_lien_gestion; $collections = $collection->isbd_entry_lien_gestion; } } elseif ($this->notice->ed1_id) { $editeur = new editeur($this->notice->ed1_id); if ($this->print_mode) { $editeurs .= $editeur->isbd_entry; } else { $editeurs .= $editeur->isbd_entry_lien_gestion; } } if ($this->notice->ed2_id) { $editeur = new editeur($this->notice->ed2_id); if ($this->print_mode) { $ed_isbd = $editeur->isbd_entry; } else { $ed_isbd = $editeur->isbd_entry_lien_gestion; } $editeurs ? $editeurs .= ' ; ' . $ed_isbd : ($editeurs = $ed_isbd); } if ($this->notice->year) { $editeurs ? $editeurs .= ', ' . $this->notice->year : ($editeurs = $this->notice->year); } elseif ($this->notice->niveau_biblio != 'b') { $editeurs ? $editeurs .= ', [s.d.]' : ($editeurs = "[s.d.]"); } if ($editeurs) { $this->isbd .= ". - {$editeurs}"; } // zone de la collation (ne concerne que a2) if ($this->notice->npages) { $collation = $this->notice->npages; } if ($this->notice->ill) { $collation .= ': ' . $this->notice->ill; } if ($this->notice->size) { $collation .= '; ' . $this->notice->size; } if ($this->notice->accomp) { $collation .= '+ ' . $this->notice->accomp; } if ($collation) { $this->isbd .= ". - {$collation}"; } if ($collections) { if ($this->notice->nocoll) { $collections .= '; ' . $this->notice->nocoll; } $this->isbd .= ". - ({$collections})" . ' '; } if (substr(trim($this->isbd), -1) != ".") { $this->isbd .= '.'; } // note générale if ($this->notice->n_gen) { $zoneNote = nl2br(htmlentities($this->notice->n_gen, ENT_QUOTES, $charset)) . ' '; } // ISBN ou NO. commercial if ($this->notice->code) { if (isISBN($this->notice->code)) { if ($zoneNote) { $zoneNote .= '. - ISBN '; } else { $zoneNote = 'ISBN '; } } else { if ($zoneNote) { $zoneNote .= '. - '; } } $zoneNote .= $this->notice->code; } if ($this->notice->prix) { if ($this->notice->code) { $zoneNote .= ' : ' . $this->notice->prix; } else { if ($zoneNote) { $zoneNote .= ' ' . $this->notice->prix; } else { $zoneNote = $this->notice->prix; } } } if ($zoneNote) { $this->isbd .= "<br /><br />{$zoneNote}."; } //In //Recherche des notices parentes if (!$this->no_link) { $requete = "select linked_notice, relation_type, rank, l.niveau_biblio as lnb, l.niveau_hierar as lnh from notices_relations, notices as l where num_notice=" . $this->notice_id . " and linked_notice=l.notice_id order by relation_type,rank"; $result_linked = pmb_mysql_query($requete) or die(pmb_mysql_error()); //Si il y en a, on prépare l'affichage if (pmb_mysql_num_rows($result_linked)) { global $relation_listup; if (!$relation_listup) { $relation_listup = new marc_list("relationtypeup"); } } $r_type = array(); $ul_opened = false; $r_type_local = ""; //Pour toutes les notices liées while ($r_rel = pmb_mysql_fetch_object($result_linked)) { //Pour avoir le lien par défaut if (!$this->print_mode && SESSrights & CATALOGAGE_AUTH) { $link_parent = $base_path . '/catalog.php?categ=isbd&id=!!id!!'; } else { $link_parent = ""; } if ($r_rel->lnb == 's' && $r_rel->lnh == '1') { // c'est une notice chapeau global $link_serial, $link_analysis, $link_bulletin, $link_explnum_serial; $link_serial_sub = $base_path . "/catalog.php?categ=serials&sub=view&serial_id=" . $r_rel->linked_notice; // function serial_display ($id, $level='1', $action_serial='', $action_analysis='', $action_bulletin='', $lien_suppr_cart="", $lien_explnum="", $bouton_explnum=1,$print=0,$show_explnum=1, $show_statut=0, $show_opac_hidden_fields=true, $draggable=0 ) { $serial = new serial_display($r_rel->linked_notice, 0, $link_serial_sub, $link_analysis, $link_bulletin, "", "", 0, $this->print_mode, $this->show_explnum, $this->show_statut, $this->show_opac_hidden_fields, 1, true); $aff = $serial->header; } else { if ($r_rel->lnb == 'a' && $r_rel->lnh == '2') { // c'est un dépouillement de bulletin global $link_serial, $link_analysis, $link_bulletin, $link_explnum_serial; if (!$link_analysis) { $link_analysis = $base_path . "/catalog.php?categ=serials&sub=bulletinage&action=view&bul_id=!!bul_id!!&art_to_show=!!id!!"; } $serial = new serial_display($r_rel->linked_notice, 0, $link_serial, $link_analysis, $link_bulletin, "", "", 0, $this->print_mode, $this->show_explnum, $this->show_statut, $this->show_opac_hidden_fields, 1, true); $aff = $serial->result; } else { if ($link_parent && $r_rel->lnb == 'b' && $r_rel->lnh == '2') { $requete = "SELECT bulletin_id FROM bulletins WHERE num_notice='" . $r_rel->linked_notice . "'"; $res = pmb_mysql_query($requete); if (pmb_mysql_num_rows($res)) { $link_parent = $base_path . "/catalog.php?categ=serials&sub=bulletinage&action=view&bul_id=" . pmb_mysql_result($res, 0, 0); } } // dans les autres cas $parent_notice = new mono_display($r_rel->linked_notice, 0, $link_parent, 1, '', "", '', 0, $this->print_mode, $this->show_explnum, $this->show_statut, '', 1, true, $this->show_opac_hidden_fields, 0); $aff = $parent_notice->header; $this->nb_expl += $parent_notice->nb_expl; } } //$parent_notice=new mono_display($r_rel->linked_notice,0,$link_parent); //Présentation différente si il y en a un ou plusieurs if (pmb_mysql_num_rows($result_linked) == 1) { $this->isbd .= "<br /><b>" . $relation_listup->table[$r_rel->relation_type] . "</b> " . $aff . "<br />"; } else { if ($r_rel->relation_type != $r_type_local) { $r_type_local = $r_rel->relation_type; if ($ul_opened) { $this->isbd .= "</ul>"; $this->isbd .= "\n<b>" . $relation_listup->table[$r_rel->relation_type] . "</b>"; $this->isbd .= "\n<ul class='notice_rel'>\n"; $ul_opened = true; } else { $this->isbd .= "\n<br />"; $this->isbd .= "\n<b>" . $relation_listup->table[$r_rel->relation_type] . "</b>"; $this->isbd .= "\n<ul class='notice_rel'>\n"; $ul_opened = true; } } $this->isbd .= "\n<li>" . $aff . "</li>\n"; } } if ($ul_opened) { $this->isbd .= "\n</ul>\n"; } } if ($pmb_show_notice_id || $pmb_show_permalink) { $this->isbd .= "<br />"; } if ($pmb_show_notice_id) { $prefixe = explode(",", $pmb_show_notice_id); $this->isbd .= "<b>" . $msg['notice_id_libelle'] . " </b>" . ($prefixe[1] ? $prefixe[1] : '') . $this->notice_id . "<br />"; } // Permalink OPAC if ($pmb_show_permalink) { $this->isbd .= "<b>" . $msg["notice_permalink_opac"] . " </b><a href='" . $pmb_opac_url . "index.php?lvl=notice_display&id=" . $this->notice_id . "' target=\"__LINK__\">" . $pmb_opac_url . "index.php?lvl=notice_display&id=" . $this->notice_id . "</a><br />"; } // niveau 1 if ($this->level == 1) { if (!$this->print_mode) { $this->isbd .= "<!-- !!bouton_modif!! -->"; } if ($this->expl) { $this->isbd .= "<br /><b>{$msg[285]}</b> (" . $this->nb_expl . ")"; $this->isbd .= $this->show_expl_per_notice($this->notice->notice_id, $this->link_expl); } if ($this->show_explnum) { $explnum_assoc = show_explnum_per_notice($this->notice->notice_id, 0, $this->link_explnum); if ($explnum_assoc) { $this->isbd .= "<b>{$msg['explnum_docs_associes']}</b>" . $explnum_assoc; } } if ($this->show_resa) { $aff_resa = resa_list($this->notice_id, 0, 0); if ($aff_resa) { $this->isbd .= "<b>{$msg['resas']}</b>" . $aff_resa; } } if ($this->show_planning && $pmb_resa_planning) { $aff_resa_planning = planning_list($this->notice_id, 0, 0); if ($aff_resa_planning) { $this->isbd .= "<b>{$msg['resas_planning']}</b>" . $aff_resa_planning; } } $this->simple_isbd = $this->isbd; $this->do_image($this->isbd); return; } // map if ($pmb_map_activate && $this->show_map) { $this->isbd .= $this->map->get_map(); } if ($pmb_nomenclature_activate) { $nomenclature = new nomenclature_record_ui($this->notice_id); $this->isbd .= $nomenclature->get_isbd(); } // résumé if ($this->notice->n_resume) { // $this->isbd .= "<br /><b>${msg[267]}</b> : ".nl2br(htmlentities($this->notice->n_resume,ENT_QUOTES, $charset)); $this->isbd .= "<br /><b>{$msg[267]}</b> : " . nl2br($this->notice->n_resume); } // note de contenu if ($this->notice->n_contenu) { // $this->isbd .= "<br /><b>${msg[266]}</b> : ".nl2br(htmlentities($this->notice->n_contenu,ENT_QUOTES, $charset)); $this->isbd .= "<br /><b>{$msg[266]}</b> : " . nl2br($this->notice->n_contenu); } // catégories $categ_repetables = array(); if (!count($categories_top)) { $q = "select num_thesaurus,id_noeud from noeuds where num_parent in(select id_noeud from noeuds where autorite='TOP') "; $r = pmb_mysql_query($q, $dbh); while ($res = pmb_mysql_fetch_object($r)) { $categories_top[] = $res->id_noeud; } } $requete = "select * from (\n\t\tselect libelle_thesaurus, if (catlg.num_noeud is null, catdef.libelle_categorie, catlg.libelle_categorie ) as categ_libelle, noeuds.id_noeud , noeuds.num_parent, langue_defaut,id_thesaurus, if(catdef.langue = '" . $lang . "',2, if(catdef.langue= thesaurus.langue_defaut ,1,0)) as p, ordre_vedette, ordre_categorie\n\t\tFROM ((noeuds\n\t\tjoin thesaurus ON thesaurus.id_thesaurus = noeuds.num_thesaurus\n\t\tleft join categories as catdef on noeuds.id_noeud=catdef.num_noeud and catdef.langue = thesaurus.langue_defaut\n\t\tleft join categories as catlg on catdef.num_noeud = catlg.num_noeud and catlg.langue = '" . $lang . "'))\n\t\t,notices_categories\n\t\twhere notices_categories.num_noeud=noeuds.id_noeud and\n\t\tnotices_categories.notcateg_notice=" . $this->notice_id . "\torder by id_thesaurus, noeuds.id_noeud, p desc\n\t\t) as list_categ group by id_noeud"; if ($thesaurus_categories_affichage_ordre == 1) { $requete .= " order by ordre_vedette, ordre_categorie"; } $result_categ = @pmb_mysql_query($requete); if (pmb_mysql_num_rows($result_categ)) { while ($res_categ = pmb_mysql_fetch_object($result_categ)) { $libelle_thesaurus = $res_categ->libelle_thesaurus; $categ_id = $res_categ->id_noeud; $libelle_categ = $res_categ->categ_libelle; $num_parent = $res_categ->num_parent; $langue_defaut = $res_categ->langue_defaut; $categ_head = 0; if (in_array($categ_id, $categories_top)) { $categ_head = 1; } if ($thesaurus_categories_show_only_last || $categ_head) { if ($use_opac_url_base) { $url_base_lien_aut = $opac_url_base . "index.php?&lvl=categ_see&id="; } else { $url_base_lien_aut = $base_path . "/autorites.php?categ=categories&sub=categ_form&id="; } if ((SESSrights & AUTORITES_AUTH || $use_opac_url_base) && !$this->print_mode) { $libelle_aff_complet = "<a href='" . $url_base_lien_aut . $categ_id . "' class='lien_gestion'>" . $libelle_categ . "</a>"; } else { $libelle_aff_complet = $libelle_categ; } if ($thesaurus_mode_pmb) { $categ_repetables[$libelle_thesaurus][] = $libelle_aff_complet; } else { $categ_repetables['MONOTHESAURUS'][] = $libelle_aff_complet; } } else { if (!$categories_memo[$categ_id]) { $anti_recurse[$categ_id] = 1; $path_table = ''; $requete = "select id_noeud as categ_id, num_noeud, num_parent as categ_parent, libelle_categorie as categ_libelle, num_renvoi_voir as categ_see, note_application as categ_comment, if(langue = '" . $lang . "',2, if(langue= '" . $langue_defaut . "' ,1,0)) as p\n\t\t\t\t\t\tFROM noeuds, categories where id_noeud ='" . $num_parent . "'\n\t\t\t\t\t\tAND noeuds.id_noeud = categories.num_noeud\n\t\t\t\t\t\torder by p desc limit 1"; $result = @pmb_mysql_query($requete); if (pmb_mysql_num_rows($result)) { $parent = pmb_mysql_fetch_object($result); $anti_recurse[$parent->categ_id] = 1; $path_table[] = array('id' => $parent->categ_id, 'libelle' => $parent->categ_libelle); // on remonte les ascendants while ($parent->categ_parent && !$anti_recurse[$parent->categ_parent]) { $requete = "select id_noeud as categ_id, num_noeud, num_parent as categ_parent, libelle_categorie as categ_libelle,\tnum_renvoi_voir as categ_see, note_application as categ_comment, if(langue = '" . $lang . "',2, if(langue= '" . $langue_defaut . "' ,1,0)) as p\n\t\t\t\t\t\t\t\tFROM noeuds, categories where id_noeud ='" . $parent->categ_parent . "'\n\t\t\t\t\t\t\t\tAND noeuds.id_noeud = categories.num_noeud\n\t\t\t\t\t\t\t\torder by p desc limit 1"; $result = @pmb_mysql_query($requete); if (pmb_mysql_num_rows($result)) { $parent = pmb_mysql_fetch_object($result); $anti_recurse[$parent->categ_id] = 1; $path_table[] = array('id' => $parent->categ_id, 'libelle' => $parent->categ_libelle); } else { break; } } $anti_recurse = array(); } else { $path_table = array(); } // ceci remet le tableau dans l'ordre général->particulier $path_table = array_reverse($path_table); if (sizeof($path_table)) { $temp_table = ''; while (list($xi, $l) = each($path_table)) { $temp_table[] = $l['libelle']; } $parent_libelle = join(':', $temp_table); $catalog_form = $parent_libelle . ':' . $libelle_categ; } else { $catalog_form = $libelle_categ; } if ($use_opac_url_base) { $url_base_lien_aut = $opac_url_base . "index.php?&lvl=categ_see&id="; } else { $url_base_lien_aut = $base_path . "/autorites.php?categ=categories&sub=categ_form&id="; } if ((SESSrights & AUTORITES_AUTH || $use_opac_url_base) && !$this->print_mode) { $libelle_aff_complet = "<a href='" . $url_base_lien_aut . $categ_id . "' class='lien_gestion'>" . $catalog_form . "</a>"; } else { $libelle_aff_complet = $catalog_form; } if ($thesaurus_mode_pmb) { $categ_repetables[$libelle_thesaurus][] = $libelle_aff_complet; } else { $categ_repetables['MONOTHESAURUS'][] = $libelle_aff_complet; } $categories_memo[$categ_id] = $libelle_aff_complet; $libelle_thesaurus_memo[$categ_id] = $libelle_thesaurus; } else { if ($thesaurus_mode_pmb) { $categ_repetables[$libelle_thesaurus_memo[$categ_id]][] = $categories_memo[$categ_id]; } else { $categ_repetables['MONOTHESAURUS'][] = $categories_memo[$categ_id]; } } } } } while (list($nom_tesaurus, $val_lib) = each($categ_repetables)) { //c'est un tri par libellé qui est demandé if ($thesaurus_categories_affichage_ordre == 0) { $tmp = array(); foreach ($val_lib as $key => $value) { $tmp[$key] = strip_tags($value); } $tmp = array_map("convert_diacrit", $tmp); //On enlève les accents $tmp = array_map("strtoupper", $tmp); //On met en majuscule asort($tmp); //Tri sur les valeurs en majuscule sans accent foreach ($tmp as $key => $value) { $tmp[$key] = $val_lib[$key]; //On reprend les bons couples clé / libellé } $val_lib = $tmp; } if ($thesaurus_mode_pmb) { if (!$thesaurus_categories_categ_in_line) { $categ_repetables_aff = "[" . $nom_tesaurus . "]" . implode("<br />[" . $nom_tesaurus . "]", $val_lib); } else { $categ_repetables_aff = "<b>" . $nom_tesaurus . "</b><br />" . implode(" {$pmb_keyword_sep} ", $val_lib); } } else { if (!$thesaurus_categories_categ_in_line) { $categ_repetables_aff = implode("<br />", $val_lib); } else { $categ_repetables_aff = implode(" {$pmb_keyword_sep} ", $val_lib); } } if ($categ_repetables_aff) { $tmpcateg_aff .= "<br />{$categ_repetables_aff}"; } } if ($tmpcateg_aff) { $this->isbd .= "<br />{$tmpcateg_aff}"; } // Concepts if ($thesaurus_concepts_active == 1) { $index_concept = new index_concept($this->notice_id, TYPE_NOTICE); $this->isbd .= $index_concept->get_isbd_display(); } // langues if (count($this->langues)) { $langues = "<b>{$msg[537]}</b> : " . construit_liste_langues($this->langues); } if (count($this->languesorg)) { $langues .= " <b>{$msg[711]}</b> : " . construit_liste_langues($this->languesorg); } if ($langues) { $this->isbd .= "<br />{$langues}"; } // indexation libre if ($this->notice->index_l) { $this->isbd .= "<br /><b>{$msg[324]}</b> : " . nl2br($this->notice->index_l); } // indexation interne if ($this->notice->indexint) { $indexint = new indexint($this->notice->indexint); if ($this->print_mode) { $indexint_isbd = $indexint->display; } else { $indexint_isbd = $indexint->isbd_entry_lien_gestion; } $this->isbd .= "<br /><b>{$msg[indexint_catal_title]}</b> : " . $indexint_isbd; } $tu = new tu_notice($this->notice_id); if ($tu_liste = $tu->get_print_type(1)) { $this->isbd .= "<br />" . $tu_liste; } $authperso = new authperso_notice($this->notice_id); $this->isbd .= $authperso->get_notice_display(); //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 < count($perso_["FIELDS"]); $i++) { $p = $perso_["FIELDS"][$i]; // ajout de && ($p['OPAC_SHOW']||$this->show_opac_hidden_fields) afin de masquer les champs masqués de l'OPAC en diff de bannette. if ($p["AFF"] && ($p['OPAC_SHOW'] || $this->show_opac_hidden_fields)) { $perso_aff .= "<br />" . $p["TITRE"] . " " . nl2br($p["AFF"]); } } } if ($perso_aff) { $this->isbd .= $perso_aff; } //Notices liées if (count($this->childs) && !$this->print_mode && !$this->no_link) { $link = $base_path . '/catalog.php?categ=isbd&id=!!id!!'; $link_expl = $base_path . '/catalog.php?categ=edit_expl&id=!!notice_id!!&cb=!!expl_cb!!&expl_id=!!expl_id!!'; $link_explnum = $base_path . '/catalog.php?categ=edit_explnum&id=!!notice_id!!&explnum_id=!!explnum_id!!'; global $relation_typedown; if (!$relation_typedown) { $relation_typedown = new marc_list("relationtypedown"); } reset($this->childs); if (!$load_tablist_js) { $aff_childs = "<script type='text/javascript' src='" . $base_path . "/javascript/tablist.js'></script>\n"; } $aff_childs .= "<br />"; $load_tablist_js = 1; $anti_loop = $this->anti_loop; $anti_loop[] = $this->notice_id; $n_childs = 0; while ((list($rel_type, $child_notices) = each($this->childs)) && $n_childs < 100) { $aff_childs .= "<b>" . $relation_typedown->table[$rel_type] . "</b>"; $aff_childs .= "<blockquote>"; if ($pmb_notice_fille_format) { $aff_childs .= "<ul class='notice_rel'>"; } for ($i = 0; $i < count($child_notices); $i++) { $as = array_search($child_notices[$i], $anti_loop); if ($as === false) { global $pmb_notice_fille_format; if ($pmb_notice_fille_format) { $level_fille = 0; } else { $level_fille = 6; } // il faut aller chercher le niveau biblio et niveau hierar de la notice liée $requete_nbnh = "select l.niveau_biblio as lnb, l.niveau_hierar as lnh, rank from notices as l join notices_relations on num_notice=notice_id where notice_id='" . $child_notices[$i] . "' "; $r_rel = pmb_mysql_fetch_object(pmb_mysql_query($requete_nbnh)); if ($r_rel->rank != $i) { $req = "update notices_relations set rank='{$i}' where num_notice='" . $child_notices[$i] . "' and relation_type='" . $rel_type . "' and linked_notice='" . $anti_loop[count($serial->anti_loop) - 1] . "'"; pmb_mysql_query($req, $dbh); } if ($r_rel->lnb == 's' && $r_rel->lnh == '1') { // c'est une notice de pério global $link_serial, $link_analysis, $link_bulletin, $link_explnum_serial; $link_serial_sub = $base_path . "/catalog.php?categ=serials&sub=view&serial_id=" . $child_notices[$i]; $serial = new serial_display($child_notices[$i], $level_fille, $link_serial_sub, $link_analysis, $link_bulletin, "", $link_explnum_serial, 0, $this->print_mode, 1, 1, 1, 0, 0, $anti_loop); if (count($serial->anti_loop) == 1 && $sort_children) { //Drag pour tri des notices filles $id_elt = $serial->notice_id . ($serial->anti_loop ? "_p" . implode("_", $serial->anti_loop) : ""); $drag_fille = "<div id=\"drag_" . $id_elt . "\" handler=\"handle_" . $id_elt . "\" dragtype='daughter' draggable='yes' recepttype='daughter' recept='yes'\n\t\t\t\t\t\t\t\t\tdragicon=\"" . $base_path . "/images/icone_drag_notice.png\" dragtext=\"" . htmlentities($serial->tit1, ENT_QUOTES, $charset) . "\" callback_before=\"is_expandable\"\n\t\t\t\t\t\t\t\t\tcallback_after=\"\" downlight=\"noti_downlight\" highlight=\"noti_highlight\" fille='{$child_notices[$i]}' pere='" . $anti_loop[count($serial->anti_loop) - 1] . "' order='{$i}' type_rel=\"{$rel_type}\" >"; $drag_fille .= "<span id=\"handle_" . $id_elt . "\" style=\"float:left; padding-right : 7px\"><img src=\"" . $base_path . "/images/sort.png\" style='width:12px; vertical-align:middle' /></span>"; $affichage_result = $serial->result; } else { $drag_fille = ""; $affichage_result = $pmb_notice_fille_format ? "<li>" . $serial->result . "</li>" : $serial->result; } $aff = $drag_fille . $affichage_result; if ($drag_fille) { $aff .= "</div>"; } } else { if ($r_rel->lnb == 'a' && $r_rel->lnh == '2') { // c'est un dépouillement de bulletin global $link_serial, $link_analysis, $link_bulletin, $link_explnum_analysis; $serial = new serial_display($child_notices[$i], $level_fille, $link_serial, $link_analysis, $link_bulletin, "", $link_explnum_analysis, 0, 0, 1, 1, 1, 0, 0, $anti_loop); if (count($serial->anti_loop) == 1 && $sort_children) { //Drag pour tri des notices filles $id_elt = $serial->notice_id . ($serial->anti_loop ? "_p" . implode("_", $serial->anti_loop) : ""); $drag_fille = "<div id=\"drag_" . $id_elt . "\" handler=\"handle_" . $id_elt . "\" dragtype='daughter' draggable='yes' recepttype='daughter' recept='yes'\n\t\t\t\t\t\t\t\t\tdragicon=\"" . $base_path . "/images/icone_drag_notice.png\" dragtext=\"" . htmlentities($serial->tit1, ENT_QUOTES, $charset) . "\" callback_before=\"is_expandable\"\n\t\t\t\t\t\t\t\t\tcallback_after=\"\" downlight=\"noti_downlight\" highlight=\"noti_highlight\" fille='{$child_notices[$i]}' pere='" . $anti_loop[count($serial->anti_loop) - 1] . "' order='{$i}' type_rel=\"{$rel_type}\">"; $drag_fille .= "<span id=\"handle_" . $id_elt . "\" style=\"float:left; padding-right : 7px\"><img src=\"" . $base_path . "/images/sort.png\" style='width:12px; vertical-align:middle' /></span>"; $affichage_result = $serial->result; } else { $drag_fille = ""; $affichage_result = $pmb_notice_fille_format ? "<li>" . $serial->result . "</li>" : $serial->result; } $aff = $drag_fille . $affichage_result; if ($drag_fille) { $aff .= "</div>"; } } else { $display = new mono_display($child_notices[$i], $level_fille, $link, 1, $link_expl, '', $link_explnum, 1, 0, 1, 1, $anti_loop, $this->drag, false, true, 0, 1, 0); if (count($display->anti_loop) == 1 && $sort_children) { //Drag pour tri des notices filles $id_elt = $display->notice_id . ($display->anti_loop ? "_p" . implode("_", $display->anti_loop) : ""); $drag_fille = "<div id=\"drag_" . $id_elt . "\" handler=\"handle_" . $id_elt . "\" dragtype='daughter' draggable='yes' recepttype='daughter' recept='yes'\n\t\t\t\t\t\t\t\t\tdragicon=\"" . $base_path . "/images/icone_drag_notice.png\" dragtext=\"" . htmlentities($display->tit1, ENT_QUOTES, $charset) . "\" callback_before=\"is_expandable\"\n\t\t\t\t\t\t\t\t\tcallback_after=\"\" downlight=\"noti_downlight\" highlight=\"noti_highlight\" fille='{$child_notices[$i]}' pere='" . $anti_loop[count($display->anti_loop) - 1] . "' order='{$i}' type_rel=\"{$rel_type}\">"; $drag_fille .= "<span id=\"handle_" . $id_elt . "\" style=\"float:left; padding-right : 7px\"><img src=\"" . $base_path . "/images/sort.png\" style='width:12px; vertical-align:middle' /></span>"; $affichage_result = $display->result; } else { $drag_fille = ""; $affichage_result = $pmb_notice_fille_format ? "<li>" . $display->result . "</li>" : $display->result; } $display->result = str_replace("<!-- !!bouton_modif!! -->", " ", $display->result); $aff = $drag_fille . $affichage_result; $this->nb_expl += $display->nb_expl; if ($drag_fille) { $aff .= "</div>"; } } } $aff_childs .= $aff; } $n_childs++; } $aff_childs .= ($pmb_notice_fille_format ? "</ul>" : "") . "</blockquote>"; } $this->isbd .= $aff_childs; } if (!$this->print_mode && !$this->anti_loop) { $this->isbd .= "<!-- !!bouton_modif!! -->"; } $this->do_image($this->isbd); if (!$this->anti_loop) { $this->isbd .= "<!-- !!avis_notice!! -->"; } if ($this->expl) { if ($this->notice->niveau_biblio == 'b' && $this->notice->niveau_hierar == 2) { // on est face à une notice de bulletin $requete = "select bulletin_id from bulletins where num_notice=" . $this->notice->notice_id; $result = @pmb_mysql_query($requete); if (pmb_mysql_num_rows($result)) { $bull = pmb_mysql_fetch_object($result); $expl_aff = $this->show_expl_per_notice($this->notice->notice_id, $this->link_expl, $bull->bulletin_id); } } else { $expl_aff = $this->show_expl_per_notice($this->notice->notice_id, $this->link_expl); } if ($expl_aff) { $this->isbd .= "<br /><b>{$msg[285]} </b>(" . $this->nb_expl . ")"; $this->isbd .= $expl_aff; } } if ($this->show_explnum) { $explnum_assoc = show_explnum_per_notice($this->notice->notice_id, 0, $this->link_explnum); if ($explnum_assoc) { $this->isbd .= "<b>{$msg['explnum_docs_associes']}</b> (" . show_explnum_per_notice($this->notice->notice_id, 0, $this->link_explnum, array(), true) . ")" . $explnum_assoc; } } //documents numériques en relation... $explnum_in_relation = show_explnum_in_relation($this->notice->notice_id, $this->link_explnum); if ($explnum_in_relation) { $this->isbd .= "<b>" . $msg["explnum_docs_in_relation"] . "</b>" . $explnum_in_relation; } //reservations et previsions if ($this->show_resa || $this->show_planning && $pmb_resa_planning) { $rqt_nt = "select count(*) from exemplaires, notices, docs_statut where exemplaires.expl_statut=docs_statut.idstatut and notices.notice_id=exemplaires.expl_notice and statut_allow_resa=1 and notices.notice_id=" . $this->notice_id; $result = pmb_mysql_query($rqt_nt, $dbh) or die($rqt_nt . " " . pmb_mysql_error()); $nb_expl_reservables = pmb_mysql_result($result, 0, 0); if ($this->show_resa) { $aff_resa = resa_list($this->notice_id, 0, 0); $ouvrir_reserv = "onclick=\"parent.location.href='" . $base_path . "/circ.php?categ=resa_from_catal&id_notice=" . $this->notice_id . "'; return(false) \""; if ($aff_resa) { $this->isbd .= "<b>" . $msg['resas'] . "</b><br />"; if ($nb_expl_reservables && !($categ == "resa") && !$id_empr) { $this->isbd .= "<input type='button' class='bouton' value='" . $msg['351'] . "' {$ouvrir_reserv}><br /><br />"; } $this->isbd .= $aff_resa . "<br />"; } else { if ($nb_expl_reservables && !($categ == "resa") && !$id_empr) { $this->isbd .= "<b>" . $msg['resas'] . "</b><br /><input type='button' class='bouton' value='" . $msg['351'] . "' {$ouvrir_reserv}><br /><br />"; } } } if ($this->show_planning && $pmb_resa_planning) { $aff_resa_planning = planning_list($this->notice_id, 0, 0); $ouvrir_reserv = "onclick=\"parent.location.href='" . $base_path . "/circ.php?categ=resa_planning_from_catal&id_notice=" . $this->notice_id . "'; return(false) \""; if ($aff_resa_planning) { $this->isbd .= "<b>" . $msg['resas_planning'] . "</b><br />"; if ($nb_expl_reservables && !($categ == "resa_planning") && !$id_empr) { $this->isbd .= "<input type='button' class='bouton' value='" . $msg['resa_planning_add'] . "' {$ouvrir_reserv}><br /><br />"; } $this->isbd .= $aff_resa_planning . "<br />"; } else { if ($nb_expl_reservables && !($categ == "resa_planning") && !$id_empr) { $this->isbd .= "<b>" . $msg['resas_planning'] . "</b><br /><input type='button' class='bouton' value='" . $msg['resa_planning_add'] . "' {$ouvrir_reserv}><br /><br />"; } } } } return; }
} else { $ret_resa = ""; } print pmb_bidi($ret_resa); } } if ($opac_show_exemplaires) { if ($fonction == 'notice_affichage_custom_bretagne') { print pmb_bidi(notice_affichage_custom_bretagne::expl_list("m", 0, $id)); } else { print pmb_bidi(notice_affichage::expl_list("m", 0, $id)); } } } if ($docnum_visible || $opac_show_links_invisible_docnums) { if ($explnum = show_explnum_per_notice(0, $id, '')) { print pmb_bidi("<a name='docnum'><h3>" . $msg["explnum"] . "</h3></a>" . $explnum); } } } print notice_affichage::autres_lectures(0, $id); } } } mysql_free_result($resdep); function do_carroussel($bull) { global $gestion_acces_active, $gestion_acces_empr_notice; global $msg; if ($gestion_acces_active == 1 && $gestion_acces_empr_notice == 1) { $ac = new acces();
function bulletinage($bulletin_id, $serial_id = 0, $link_explnum = '', $localisation = 0, $make_display = true) { global $dbh; global $pmb_droits_explr_localises, $explr_invisible; global $pmb_sur_location_activate; global $xmlta_doctype_bulletin; global $deflt_notice_is_new; $this->bulletin_id = $bulletin_id; if ($this->bulletin_id) { $this->fetch_bulletin_data(); } else { $this->b_is_new = $deflt_notice_is_new; } if ($serial_id) { $this->bulletin_notice = $serial_id; } $tmp_link = $this->notice_link; //On vide les liens entre notices car ils sont appliqués pour le serial dans le $this if ($this->serial($this->bulletin_notice)) { $this->notice_link = array(); $this->notice_link = $tmp_link; } unset($tmp_link); // si le bulletin n'a pas de notice associée, son typedoc par défaut sera celui de la notice chapeau if ($xmlta_doctype_bulletin) { if (!$this->b_typdoc) { $this->b_typdoc = $xmlta_doctype_bulletin; } } else { if (!$this->b_typdoc) { $this->b_typdoc = $this->typdoc; } } if ($make_display) { //Je ne crée la partie affichage que quand j'en ai besoin $this->make_display(); $this->make_short_display(); } // on récupère les données d'exemplaires liés $this->expl = array(); if ($this->bulletin_id) { $requete = "SELECT count(1) from analysis where analysis_bulletin='" . $this->bulletin_id . "'"; $query_nb_analysis = pmb_mysql_query($requete, $dbh); $this->nb_analysis = pmb_mysql_result($query_nb_analysis, 0, 0); // visibilité des exemplaires: if ($pmb_droits_explr_localises && $explr_invisible) { $where_expl_localises = " and expl_location not in ({$explr_invisible})"; } else { $where_expl_localises = ""; } if ($localisation > 0) { $where_localisation = " and expl_location={$localisation} "; } else { $where_localisation = ""; } $requete = "SELECT exemplaires.*, tdoc_libelle, section_libelle"; $requete .= ", statut_libelle, location_libelle"; $requete .= ", codestat_libelle, lender_libelle, pret_flag "; $requete .= " FROM exemplaires, docs_type, docs_section, docs_statut, docs_location, docs_codestat, lenders "; $requete .= " WHERE exemplaires.expl_bulletin=" . $this->bulletin_id . "{$where_expl_localises} {$where_localisation}"; $requete .= " AND docs_type.idtyp_doc=exemplaires.expl_typdoc"; $requete .= " AND docs_section.idsection=exemplaires.expl_section"; $requete .= " AND docs_statut.idstatut=exemplaires.expl_statut"; $requete .= " AND docs_location.idlocation=exemplaires.expl_location"; $requete .= " AND docs_codestat.idcode=exemplaires.expl_codestat"; $requete .= " AND lenders.idlender=exemplaires.expl_owner"; $myQuery = pmb_mysql_query($requete, $dbh); if (pmb_mysql_num_rows($myQuery)) { while ($expl = pmb_mysql_fetch_object($myQuery)) { if ($pmb_sur_location_activate) { $sur_loc = sur_location::get_info_surloc_from_location($expl->expl_location); $expl->sur_loc_libelle = $sur_loc->libelle; $expl->sur_loc_id = $sur_loc->id; } $this->expl[] = $expl; } /* note : le tableau est constitué d'objet dont les propriétés sont : id exemplaire expl_id; code-barre expl_cb; notice expl_notice; bulletinage expl_bulletin; type doc expl_typdoc; libelle type doc tdoc_libelle; cote expl_cote; section expl_section; libelle section section_libelle; statut expl_statut; libelle statut statut_libelle; localisation expl_location; libelle localisation location_libelle; code statistique expl_codestat; libelle code_stat codestat_libelle; libelle proprietaire lender_libelle; date de dépot BDP par exemple expl_date_depot; date de retour expl_date_retour; note expl_note; prix expl_prix; owner $expl->expl_owner; */ } $requete = "SELECT explnum.* FROM explnum WHERE explnum_bulletin='" . $this->bulletin_id . "' "; $myQuery = pmb_mysql_query($requete, $dbh); $this->nbexplnum = pmb_mysql_num_rows($myQuery); if ($make_display && $this->nbexplnum) { //Je ne crée la partie affichage que quand j'en ai besoin $this->explnum = show_explnum_per_notice(0, $this->bulletin_id, $link_explnum); } } return $this->bulletin_id; }
function aff_resa_expl() { global $opac_resa; global $opac_max_resa; global $opac_show_exemplaires, $opac_url_base; global $msg, $charset; global $dbh; global $popup_resa; global $opac_resa_popup; // la resa se fait-elle par popup ? global $allow_book; // afin d'eviter de recalculer un truc deja calcule... 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) { // deplace dans le IF, si pas visible : pas de bouton resa $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 .= "<h3>".$msg["bulletin_display_resa"]."</h3>"; if ($opac_max_resa == 0 || $opac_max_resa > $nb_resa_encours) { if ($opac_resa_popup) { $ret .= "<a href='#' onClick=\"w=window.open('./do_resa.php?lvl=resa&id_notice=" . $this->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"] . "</a>"; } else { $ret .= "<a href='./do_resa.php?lvl=resa&id_notice=" . $this->notice_id . "&oresa=popup' id='bt_resa'>" . $msg["bulletin_display_place_resa"] . "</a>"; } $ret .= $message_nbresa; } else { $ret .= str_replace("!!nb_max_resa!!", $opac_max_resa, $msg["resa_nb_max_resa"]); } $ret .= "<br />"; } elseif ($this->notice->niveau_biblio == "m" && !$_SESSION["user_code"] && $opac_resa && !$popup_resa) { // utilisateur pas connecte // preparation lien reservation sans etre connecte //$ret .= "<h3>".$msg["bulletin_display_resa"]."</h3>"; //if ($opac_resa_popup) $ret .= "<a href='#' onClick=\"w=window.open('./do_resa.php?lvl=resa&id_notice=".$this->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"]."</a>" ; // else $ret .= "<a href='./do_resa.php?lvl=resa&id_notice=".$this->notice_id."&oresa=popup' id='bt_resa'>".$msg["bulletin_display_place_resa"]."</a>" ; $ret .= $message_nbresa; } } $temp = $this->expl_list($this->notice->niveau_biblio, $this->notice->notice_id); $ret .= $temp; $this->affichage_expl = $temp; } if ($this->notice->typdoc != "k") { if (is_null($this->dom) && $this->visu_explnum && (!$this->visu_explnum_abon || $this->visu_explnum_abon && $_SESSION["user_code"]) || $this->rights & 16) { if ($explnum = show_explnum_per_notice($this->notice_id, 0, '')) { $ret .= "<img class='img_plus' src=\"./getgif.php?nomgif=plus\" name=\"imEx\" id=\"el_docnum_" . $this->notice_id . "Img\" title=\"" . $msg["expandable_notice"] . "\" border=\"0\" onClick=\"expandBase('el_docnum_" . $this->notice_id . "', true); return false;\" hspace=\"3\">\n\t \t\t <b>" . htmlentities($msg['expl num'], ENT_QUOTES, $charset) . "</b>\t\t\n\t \t\t <div id=\"el_docnum_" . $this->notice_id . "Child\" class=\"child\" style=\"margin-bottom:6px;display:none;\">"; $ret .= $explnum; $ret .= "</div>"; $this->affichage_expl .= "<h3>{$msg['explnum']}</h3>" . $explnum; } } $this->affichage_resa_expl = $ret; } return $ret; }
function fetch_data() { global $base_path, $charset; global $opac_show_book_pics; global $opac_book_pics_url; global $opac_book_pics_msg; global $opac_url_base, $use_opac_url_base; global $opac_sur_location_activate; global $fonction_auteur, $msg; global $tdoc, $icon_doc, $biblio_doc; global $pmb_map_activate; global $pmb_url_base; if (!$this->notice_id) { return false; } //Recuperation des infos de la notice $requete = "select * from notices where notice_id=" . $this->notice_id; $resultat = pmb_mysql_query($requete); $res = pmb_mysql_fetch_object($resultat); $this->notice = $res; $this->memo_isbn = $this->notice->code; $this->memo_typdoc = $tdoc->table[$this->notice->typdoc]; //Icone type de Document $icon = $icon_doc[$this->notice->niveau_biblio . $this->notice->typdoc]; if ($icon) { $info_bulle_icon = $biblio_doc[$this->notice->niveau_biblio] . " : " . $tdoc->table[$this->notice->typdoc]; if ($use_opac_url_base) { $this->memo_icondoc = "<img src=\"" . $opac_url_base . "images/{$icon}\" alt=\"{$info_bulle_icon}\" title=\"{$info_bulle_icon}\" align='top' />"; } else { $this->memo_icondoc = "<img src=\"" . $pmb_url_base . "images/{$icon}\" alt=\"{$info_bulle_icon}\" title=\"{$info_bulle_icon}\" align='top' />"; } } if ($use_opac_url_base) { if (isset($_SESSION["cart"]) && in_array($this->notice_id, $_SESSION["cart"])) { $this->memo_iconcart = "<span id='baskets" . $this->notice_id . "'><a href='#' class=\"img_basket_exist\" title=\"" . $msg['notice_title_basket_exist'] . "\"><img src=\"" . $opac_url_base . "images/basket_exist.gif\" border=\"0\" alt=\"" . $msg['notice_title_basket_exist'] . "\" /></a></span>"; } else { $title = $this->notice_header; if (!$title) { $title = $this->notice->tit1; } $this->memo_iconcart = "<span id='baskets" . $this->notice_id . "'><a href=\"cart_info.php?id=" . $this->notice_id . "&header=" . rawurlencode(strip_tags($title)) . "\" target=\"cart_info\" class=\"img_basket\" title=\"" . $msg['notice_title_basket'] . "\"><img src=\"" . $opac_url_base . "images/basket_small_20x20.gif\" border=\"0\" title=\"" . $msg['notice_title_basket'] . "\" alt=\"" . $msg['notice_title_basket'] . "\" /></a></span>"; } } else { $this->memo_iconcart = "<img src=\"" . $pmb_url_base . "images/basket_small_20x20.gif\" align='absmiddle' border='0' title='" . $msg["400"] . "' alt='" . $msg["400"] . "' />"; } $this->niveau_biblio = $this->notice->niveau_biblio; $this->niveau_hierar = $this->notice->niveau_hierar; //Recherche des infos du périodique $this->fetch_analysis_info(); //Recherche des etats de collection $this->fetch_collstate(); //Titres //Titre de serie et composition du titre $this->memo_series[] = array(); if ($res->tparent_id) { $requete = "select * from series where serie_id=" . $res->tparent_id; $resultat = pmb_mysql_query($requete); if ($serie = pmb_mysql_fetch_object($resultat)) { $this->memo_series[] = $serie; $this->memo_titre = $serie->serie_name; $this->memo_titre_serie = $serie->serie_name; $this->isbd = $this->serie_name; if ($this->notice->tnvol) { $this->memo_titre .= ', ' . $res->tnvol; $this->memo_titre_serie .= ', ' . $res->tnvol; $this->isbd .= ', ' . $this->tnvol; } } } elseif ($this->notice->tnvol) { $this->memo_titre .= $res->tnvol; } $this->memo_titre ? $this->memo_titre .= '. ' . $res->tit1 : ($this->memo_titre = $res->tit1); $this->isbd ? $this->isbd .= '. ' . $this->notice->tit1 : ($this->isbd = $this->notice->tit1); $tit2 = $this->notice->tit2; $tit3 = $this->notice->tit3; $tit4 = $this->notice->tit4; if ($tit3) { $this->isbd .= " = {$tit3}"; } if ($tit4) { $this->isbd .= " : {$tit4}"; } if ($tit2) { $this->isbd .= " ; {$tit2}"; } $this->isbd .= ' [' . $tdoc->table[$this->notice->typdoc] . ']'; $this->memo_notice_bulletin = new stdClass(); $this->memo_bulletin = new stdClass(); if ($res->niveau_biblio == 'b') { $rqt = "select tit1, date_format(date_date, '" . $msg["format_date"] . "') as aff_date_date, bulletin_numero as num_bull,bulletin_notice from bulletins,notices where bulletins.num_notice='" . $this->notice_id . "' and notices.notice_id=bulletins.bulletin_notice"; $execute_query = pmb_mysql_query($rqt); $row = pmb_mysql_fetch_object($execute_query); $this->memo_titre .= " " . (!$row->aff_date_date ? sprintf($msg["bul_titre_perio"], $row->tit1) : sprintf($msg["bul_titre_perio"], $row->tit1 . ", " . $row->num_bull . " [" . $row->aff_date_date . "]")); // recherche editeur de la notice de perio $rqt_perio = "select * from notices where notice_id=" . $row->bulletin_notice; $execute_query_perio = pmb_mysql_query($rqt_perio); $row_perio = pmb_mysql_fetch_object($execute_query_perio); if (!$this->notice->ed1_id) { $this->notice->ed1_id = $row_perio->ed1_id; } //issn pour les notices de bulletin if (!$this->notice->code) { $this->memo_isbn = $row_perio->code; } } elseif ($res->niveau_biblio == 'a' && $res->niveau_hierar == 2) { $requete = "SELECT b.* "; $requete .= "from analysis a, notices b, bulletins c"; $requete .= " WHERE a.analysis_notice=" . $this->notice_id; $requete .= " AND c.bulletin_id=a.analysis_bulletin"; $requete .= " AND c.bulletin_notice=b.notice_id"; $requete .= " LIMIT 1"; $myQuery = pmb_mysql_query($requete); if (pmb_mysql_num_rows($myQuery)) { $row_perio = pmb_mysql_fetch_object($myQuery); if (!$this->notice->ed1_id) { $this->notice->ed1_id = $row_perio->ed1_id; } //issn pour les notice de dépouillement if (!$this->notice->code) { $this->memo_isbn = $row_perio->code; } } // info du bulletin de ce dépouillement $req_bulletin = "SELECT c.* from analysis a, bulletins c WHERE c.bulletin_id=a.analysis_bulletin AND analysis_notice=" . $res->notice_id; $result_bull = pmb_mysql_query($req_bulletin); if ($bull = pmb_mysql_fetch_object($result_bull)) { $this->memo_bulletin = $bull; $this->memo_notice_bulletin = $bull; $this->bulletin_mention_date = $bull->mention_date; $this->bulletin_date_date = formatdate($bull->date_date); $this->bulletin_numero = $bull->bulletin_numero; } } $this->memo_complement_titre = $res->tit4; $this->memo_titre_parallele = $res->tit3; $this->memo_notice = $res; //mention d'édition $this->memo_mention_edition = $res->mention_edition; //Titre du pério pour les notices de bulletin if ($res->niveau_biblio == 'b' && $res->niveau_hierar == '2') { $req_bulletin = "SELECT bulletin_id, bulletin_numero, date_date, mention_date, bulletin_titre, bulletin_numero, tit1 as titre from bulletins, notices WHERE bulletin_notice=notice_id AND num_notice=" . $res->notice_id; $result_bull = pmb_mysql_query($req_bulletin); while ($bull = pmb_mysql_fetch_object($result_bull)) { $this->memo_notice_bulletin = $bull; $this->memo_bulletin = $bull; $this->serial_title = $bull->titre; $this->bulletin_mention_date = $bull->mention_date; $this->bulletin_date_date = formatdate($bull->date_date); $this->bulletin_numero = $bull->bulletin_numero; $this->bulletin_id = $bull->bulletin_id; } } //Langage $this->memo_lang = get_notice_langues($this->notice_id, 0); // langues de la publication $this->memo_lang_or = get_notice_langues($this->notice_id, 1); // langues originales //Auteurs $this->authors = array(); //Recherche des auteurs; $this->responsabilites = get_notice_authors($this->notice_id); $mention_resp = $mention_resp_1 = $mention_resp_2 = array(); $isbd_entry_1 = $isbd_entry_2 = array(); $as = array_search("0", $this->responsabilites["responsabilites"]); if ($as !== FALSE && $as !== NULL) { $auteur_0 = $this->responsabilites["auteurs"][$as]; $auteur = new auteur($auteur_0["id"]); $auteur->fonction = $fonction_auteur[$auteur_0["fonction"]]; $this->authors[] = $auteur; if ($this->print_mode) { $mention_resp_lib = $auteur->isbd_entry; } else { $mention_resp_lib = $auteur->isbd_entry_lien_gestion; } if (!$this->print_mode) { $mention_resp_lib .= $auteur->author_web_link; } if ($auteur_0["fonction"]) { $mention_resp_lib .= ", " . $fonction_auteur[$auteur_0["fonction"]]; } $mention_resp[] = $mention_resp_lib; $this->memo_auteur_principal = $auteur->isbd_entry; } $as = array_keys($this->responsabilites["responsabilites"], "1"); for ($i = 0; $i < count($as); $i++) { $indice = $as[$i]; $auteur_1 = $this->responsabilites["auteurs"][$indice]; $auteur = new auteur($auteur_1["id"]); $auteur->fonction = $fonction_auteur[$auteur_1["fonction"]]; $this->authors[] = $auteur; if ($this->print_mode) { $mention_resp_lib = $auteur->isbd_entry; } else { $mention_resp_lib = $auteur->isbd_entry_lien_gestion; } if (!$this->print_mode) { $mention_resp_lib .= $auteur->author_web_link; } if ($auteur_1["fonction"]) { $mention_resp_lib .= ", " . $fonction_auteur[$auteur_1["fonction"]]; } $mention_resp[] = $mention_resp_lib; $mention_resp_1[] = $mention_resp_lib; $isbd_entry_1[] = $auteur->isbd_entry; } $this->memo_mention_resp_1 = implode("; ", $mention_resp_1); $this->memo_auteur_autre_tab = $isbd_entry_1; $this->memo_auteur_autre = implode("; ", $isbd_entry_1); $as = array_keys($this->responsabilites["responsabilites"], "2"); for ($i = 0; $i < count($as); $i++) { $indice = $as[$i]; $auteur_2 = $this->responsabilites["auteurs"][$indice]; $auteur = new auteur($auteur_2["id"]); $auteur->fonction = $fonction_auteur[$auteur_2["fonction"]]; $this->authors[] = $auteur; if ($this->print_mode) { $mention_resp_lib = $auteur->isbd_entry; } else { $mention_resp_lib = $auteur->isbd_entry_lien_gestion; } if (!$this->print_mode) { $mention_resp_lib .= $auteur->author_web_link; } if ($auteur_2["fonction"]) { $mention_resp_lib .= ", " . $fonction_auteur[$auteur_2["fonction"]]; } $mention_resp[] = $mention_resp_lib; $mention_resp_2[] = $mention_resp_lib; $isbd_entry_2[] = $auteur->isbd_entry; } $this->memo_mention_resp_2 = implode("; ", $mention_resp_2); $this->memo_auteur_secondaire_tab = $isbd_entry_2; $this->memo_auteur_secondaire = implode("; ", $isbd_entry_2); $this->memo_libelle_mention_resp = implode("; ", $mention_resp); if ($this->memo_libelle_mention_resp) { $this->isbd .= " / {$this->memo_libelle_mention_resp}"; } // on récupère la collection au passage, si besoin est if ($this->notice->subcoll_id) { $collection = new subcollection($this->notice->subcoll_id); $info = $this->get_info_editeur($collection->editeur); $this->memo_collection = $collection->isbd_entry; $this->memo_ed1 = $info["isbd_entry"]; $this->memo_ed1_name = $info["name"]; $this->memo_ed1_place = $info["place"]; $editeurs = $info["isbd_entry"]; } elseif ($this->notice->coll_id) { $collection = new collection($this->notice->coll_id); $info = $this->get_info_editeur($collection->parent); $this->memo_collection = $collection->isbd_entry; $this->memo_ed1 = $info["isbd_entry"]; $this->memo_ed1_name = $info["name"]; $this->memo_ed1_place = $info["place"]; $editeurs = $info["isbd_entry"]; } elseif ($this->notice->ed1_id) { $info = $this->get_info_editeur($this->notice->ed1_id); $this->memo_ed1 = $info["isbd_entry"]; $this->memo_ed1_name = $info["name"]; $this->memo_ed1_place = $info["place"]; $editeurs = $info["isbd_entry"]; } if ($this->notice->ed2_id) { $info = $this->get_info_editeur($this->notice->ed2_id); $this->memo_ed2 = $info["isbd_entry"]; $this->memo_ed2_name = $info["name"]; $this->memo_ed2_place = $info["place"]; $editeurs ? $editeurs .= ' ; ' . $info["isbd_entry"] : ($editeurs = $info["isbd_entry"]); } if ($this->notice->year) { $editeurs ? $editeurs .= ', ' . $this->notice->year : ($editeurs = $this->notice->year); } elseif ($this->notice->niveau_biblio != 'b') { $editeurs ? $editeurs .= ', [s.d.]' : ($editeurs = "[s.d.]"); } $this->memo_year = $this->notice->year; if ($editeurs) { $this->isbd .= ". - {$editeurs}"; } // zone de la collation (ne concerne que a2) if ($this->notice->npages) { $collation = $this->notice->npages; } if ($this->notice->ill) { $collation .= ': ' . $this->notice->ill; } if ($this->notice->size) { $collation .= '; ' . $this->notice->size; } if ($this->notice->accomp) { $collation .= '+ ' . $this->notice->accomp; } if ($collation) { $this->isbd .= ". - {$collation}"; } $this->memo_collation = $collation; // map $this->memo_map_isbd = ""; $this->memo_map_id = 0; $this->memo_map_echelle = ""; $this->memo_map_projection = ""; $this->memo_map_ref = ""; $this->memo_map_equinoxe = ""; $this->memo_map = ""; if ($pmb_map_activate) { $ids[] = $this->notice_id; $this->map = new map_objects_controler(TYPE_RECORD, $ids); $this->map_info = new map_info($this->notice_id); $this->memo_map_isbd = $this->map_info->get_isbd(); if ($this->memo_map_isbd) { $this->isbd .= ". - " . $this->memo_map_isbd; } $this->memo_map_id = $this->map_info->map['id']; $this->memo_map_echelle = $this->map_info->map['echelle']; $this->memo_map_projection = $this->map_info->map['projection']; $this->memo_map_ref = $this->map_info->map['ref']; $this->memo_map_equinoxe = $this->map_info->map['equinoxe']; $this->memo_map = $this->map->get_map(); } //Recherche du code dewey $requete = "select * from indexint where indexint_id=" . $res->indexint; $resultat = pmb_mysql_query($requete); if ($code_dewey = pmb_mysql_fetch_object($resultat)) { $this->memo_dewey = $code_dewey; } if ($collections = $this->memo_collection) { if ($this->notice->nocoll) { $collections .= '; ' . $this->notice->nocoll; } $this->isbd .= ". - ({$collections})" . ' '; } if (substr(trim($this->isbd), -1) != ".") { $this->isbd .= '.'; } //Traitement des exemplaires $this->memo_exemplaires = array(); $requete = "select expl_id, expl_cb, expl_cote, expl_statut,statut_libelle, expl_typdoc, tdoc_libelle, expl_note, expl_comment, expl_section, section_libelle, "; $requete .= "expl_owner, lender_libelle, expl_codestat, codestat_libelle, expl_date_retour, expl_date_depot, expl_note, pret_flag, expl_location, location_libelle, expl_prix "; if ($opac_sur_location_activate) { $requete .= ", ifnull(surloc_id,0) as surloc_id, ifnull(surloc_libelle,'') as surloc_libelle "; } $requete .= "from exemplaires, docs_statut, docs_type, docs_section, docs_codestat, lenders, docs_location "; if ($opac_sur_location_activate) { $requete .= "left join sur_location on surloc_num=surloc_id "; } $requete .= "where expl_notice=" . $res->notice_id . " and expl_statut=idstatut and expl_typdoc=idtyp_doc and expl_section=idsection and expl_owner=idlender and expl_codestat=idcode "; $requete .= "and expl_location=idlocation "; $requete .= "union "; $requete .= "select expl_id, expl_cb, expl_cote, expl_statut,statut_libelle, expl_typdoc, tdoc_libelle, expl_note, expl_comment, expl_section, section_libelle, "; $requete .= "expl_owner, lender_libelle, expl_codestat, codestat_libelle, expl_date_retour, expl_date_depot, expl_note, pret_flag, expl_location, location_libelle, expl_prix "; if ($opac_sur_location_activate) { $requete .= ", ifnull(surloc_id,0) as surloc_id, ifnull(surloc_libelle,'') as surloc_libelle "; } $requete .= "from exemplaires, bulletins, docs_statut, docs_type, docs_section, docs_codestat, lenders, docs_location "; if ($opac_sur_location_activate) { $requete .= "left join sur_location on surloc_num=surloc_id "; } $requete .= "where bulletins.num_notice=" . $res->notice_id . " and expl_bulletin=bulletin_id and expl_statut=idstatut and expl_typdoc=idtyp_doc and expl_section=idsection and expl_owner=idlender and expl_codestat=idcode "; $requete .= "and expl_location=idlocation"; $resultat = pmb_mysql_query($requete); while ($ex = pmb_mysql_fetch_object($resultat)) { //Champs perso d'exemplaires $parametres_perso = array(); $mes_pp = new parametres_perso("expl"); if (!$mes_pp->no_special_fields) { $mes_pp->get_values($ex->expl_id); $values = $mes_pp->values; foreach ($values as $field_id => $vals) { $parametres_perso[$mes_pp->t_fields[$field_id]["NAME"]]["TITRE"] = $mes_pp->t_fields[$field_id]["TITRE"]; foreach ($vals as $value) { $parametres_perso[$mes_pp->t_fields[$field_id]["NAME"]]["VALUE"][] = $mes_pp->get_formatted_output(array($value), $field_id); } } } $ex->parametres_perso = $parametres_perso; $this->memo_exemplaires[] = $ex; } //Descripteurs $requete = "SELECT libelle_categorie FROM categories, notices_categories WHERE notcateg_notice=" . $res->notice_id . " and categories.num_noeud = notices_categories.num_noeud ORDER BY ordre_categorie"; $resultat = pmb_mysql_query($requete); $this->memo_categories = array(); while ($cat = pmb_mysql_fetch_object($resultat)) { $this->memo_categories[] = $cat; } $authperso = new authperso_notice($this->notice_id); $this->memo_authperso_all_isbd .= $authperso->get_notice_display(); $this->memo_authperso_all_isbd_list = $authperso->get_notice_display_list(); foreach ($authperso->auth_info as $fields) { foreach ($fields["info_fields"] as $field) { if (is_array($field["values"]) && count($field["values"])) { $tvalues = array(); foreach ($field["values"] as $values) { $tvalues[] = $values["format_value"]; } $this->parametres_auth_perso[$field["name"]]["TITRE"][] = $field["label"]; $this->parametres_auth_perso[$field["name"]]["VALUE"][] = $tvalues; } } } //Champs perso de notice traite par la table notice_custom $mes_pp = new parametres_perso("notices"); $mes_pp->get_values($res->notice_id); $values = $mes_pp->values; $this->parametres_perso = array(); foreach ($values as $field_id => $vals) { $this->parametres_perso[$mes_pp->t_fields[$field_id]["NAME"]]["TITRE"] = $mes_pp->t_fields[$field_id]["TITRE"]; foreach ($vals as $value) { $this->parametres_perso[$mes_pp->t_fields[$field_id]["NAME"]]["VALUE"][] = $mes_pp->get_formatted_output(array($value), $field_id); $this->parametres_perso[$mes_pp->t_fields[$field_id]["NAME"]]["VALUE_IN_DATABASE"][] = $value; } } //Notices liées, relations entre notices //les notices mères $requete = "SELECT num_notice, linked_notice, relation_type, rank from notices_relations where num_notice=" . $res->notice_id . " order by num_notice, rank asc"; $resultat = pmb_mysql_query($requete); $i = 0; while ($notice_fille = pmb_mysql_fetch_object($resultat)) { $this->memo_notice_mere[$i] = $notice_fille->linked_notice; $this->memo_notice_mere_relation_type[$i] = $notice_fille->relation_type; $i++; } // les notices filles $requete = "SELECT num_notice, linked_notice, relation_type, rank from notices_relations where linked_notice=" . $res->notice_id . " order by num_notice, rank asc"; $resultat = pmb_mysql_query($requete); $i = 0; while ($notice_mere = pmb_mysql_fetch_object($resultat)) { $this->memo_notice_fille[$i] = $notice_mere->num_notice; $this->memo_notice_fille_relation_type[$i] = $notice_mere->relation_type; $i++; } // liens vers les périodiques pour les notices d'article $req_perio_link = "SELECT notice_id, tit1, code from bulletins,analysis,notices WHERE bulletin_notice=notice_id and bulletin_id=analysis_bulletin and analysis_notice=" . $res->notice_id; $result_perio_link = pmb_mysql_query($req_perio_link); while ($notice_perio_link = pmb_mysql_fetch_object($result_perio_link)) { $this->memo_notice_article[] = $notice_perio_link->notice_id; } // bulletinage pour les notices de pério $req_bulletinage = "SELECT bulletin_id, bulletin_numero, date_date, mention_date, bulletin_titre, bulletin_numero from bulletins, notices WHERE bulletin_notice = notice_id AND notice_id=" . $res->notice_id; $result_bulletinage = pmb_mysql_query($req_bulletinage); while ($notice_bulletinage = pmb_mysql_fetch_object($result_bulletinage)) { $this->memo_bulletinage[] = $notice_bulletinage->bulletin_id; } // liens vers les bulletins pour les notices d'article $req_bull_link = "SELECT bulletin_id, bulletin_numero, date_date, mention_date, bulletin_titre, bulletin_numero from bulletins, analysis WHERE bulletin_id=analysis_bulletin and analysis_notice=" . $res->notice_id; $result_bull_link = pmb_mysql_query($req_bull_link); while ($notice_bull_link = pmb_mysql_fetch_object($result_bull_link)) { $this->memo_article_bulletinage[] = $notice_bull_link->bulletin_id; } $paramaff["mine_type"] = 1; $this->memo_explnum_assoc = show_explnum_per_notice($res->notice_id, 0, "", $paramaff); if ($this->notice->code || $this->notice->thumbnail_url) { if ($opac_show_book_pics == '1' && ($opac_book_pics_url || $this->notice->thumbnail_url)) { $code_chiffre = pmb_preg_replace('/-|\\.| /', '', $this->notice->code); $url_image = $opac_book_pics_url; $url_image = $opac_url_base . "getimage.php?url_image=" . urlencode($url_image) . "&noticecode=!!noticecode!!&vigurl=" . urlencode($this->notice->thumbnail_url); if ($this->notice->thumbnail_url) { $url_image_ok = $this->notice->thumbnail_url; $title_image_ok = ""; } else { $url_image_ok = str_replace("!!noticecode!!", $code_chiffre, $url_image); $title_image_ok = htmlentities($opac_book_pics_msg, ENT_QUOTES, $charset); } $this->memo_image = "<img class='vignetteimg' src='" . $url_image_ok . "' title=\"" . $title_image_ok . "\" align='right' hspace='4' vspace='2' style='max-width : 140px; max-height: 200px;' >"; $this->memo_url_image = $url_image_ok; } else { $this->memo_image = ""; $this->memo_url_image = ""; } } //calcul du permalink... if ($this->notice->niveau_biblio != "b") { $this->permalink = $opac_url_base . "index.php?lvl=notice_display&id=" . $this->notice_id; } else { $this->permalink = $opac_url_base . "index.php?lvl=bulletin_display&id=" . $this->bulletin_id; } //Traitement des avis $this->memo_avis = array(); $requete = "SELECT id_avis,note,sujet,commentaire,DATE_FORMAT(dateajout,'" . $msg['format_date'] . "') as ladate,empr_login,empr_nom, empr_prenom, valide\n\t\tfrom avis left join empr on id_empr=num_empr where num_notice='" . $res->notice_id . "' and valide=1 order by avis_rank, dateajout desc"; $resultat = pmb_mysql_query($requete); if ($resultat) { while ($avis = pmb_mysql_fetch_object($resultat)) { $avis->note_textuelle = $msg['avis_detail_note_' . $avis->note]; if ($charset != "utf-8") { $avis->commentaire = cp1252Toiso88591($avis->commentaire); } $avis->commentaire = do_bbcode($avis->commentaire); $this->memo_avis[] = $avis; } } //Titres uniformes $requete = "select * from notices_titres_uniformes where ntu_num_notice=" . $res->notice_id . " order by ntu_ordre"; $resultat = pmb_mysql_query($requete); if (pmb_mysql_num_rows($resultat)) { while ($tu = pmb_mysql_fetch_object($resultat)) { $tu_memo = new titre_uniforme($tu->ntu_num_tu); $tu_memo->parametres_perso = array(); $mes_pp = new parametres_perso("tu"); $mes_pp->get_values($tu->ntu_num_tu); $values = $mes_pp->values; foreach ($values as $field_id => $vals) { $tu_memo->parametres_perso[$mes_pp->t_fields[$field_id]["NAME"]]["TITRE"] = $mes_pp->t_fields[$field_id]["TITRE"]; foreach ($vals as $value) { $tu_memo->parametres_perso[$mes_pp->t_fields[$field_id]["NAME"]]["VALUE"][] = $mes_pp->get_formatted_output(array($value), $field_id); } } $this->memo_tu[] = $tu_memo; } } //statut $this->memo_statut['id_notice_statut'] = $res->statut; $this->memo_statut['gestion_statut_libelle'] = ''; $this->memo_statut['opac_statut_libelle'] = ''; if ($this->memo_statut['id_notice_statut']) { $requete = "SELECT * FROM notice_statut WHERE id_notice_statut=" . $this->memo_statut['id_notice_statut'] * 1; $resultat = pmb_mysql_query($requete); if ($resultat) { $statut = pmb_mysql_fetch_object($resultat); $this->memo_statut['gestion_statut_libelle'] = $statut->gestion_libelle; $this->memo_statut['opac_statut_libelle'] = $statut->opac_libelle; } } return true; }
function get_bulletin_list_func($id) { global $charset, $dbh, $msg, $css; global $opac_visionneuse_allow, $icon_doc, $opac_cart_allow, $opac_max_resa; global $begin_result_liste, $notice_header, $opac_resa_planning; global $opac_show_exemplaires, $fonction, $opac_resa_popup, $opac_resa, $popup_resa, $allow_book; global $opac_perio_a2z_show_bulletin_notice; $resultat_aff = ""; $libelle = $msg[270]; $largeur = 500; $requete = "SELECT bulletin_id, bulletin_numero, bulletin_notice, mention_date, date_date, bulletin_titre, bulletin_cb, date_format(date_date, '" . $msg["format_date_sql"] . "') as aff_date_date,num_notice FROM bulletins WHERE bulletin_id='{$id}'"; $res = @pmb_mysql_query($requete, $dbh); while ($obj = pmb_mysql_fetch_array($res)) { //on cherches des documents numériques $req = "select explnum_id from explnum where explnum_bulletin = " . $obj["bulletin_id"]; $resultat = pmb_mysql_query($req, $dbh) or die($req . " " . pmb_mysql_error()); $nb_ex = pmb_mysql_num_rows($resultat); //on met le nécessaire pour la visionneuse if ($opac_visionneuse_allow && $nb_ex) { $resultat_aff .= "\n\t\t\t<script type='text/javascript'>\n\t\t\t\tfunction sendToVisionneuse(explnum_id){\n\t\t\t\t\tdocument.getElementById('visionneuseIframe').src = 'visionneuse.php?mode=perio_bulletin&idperio=" . $obj['bulletin_notice'] . "'+(typeof(explnum_id) != 'undefined' ? '&explnum_id='+explnum_id+\"\" : '\\'');\n\t\t\t\t}\n\t\t\t</script>"; } $typdocchapeau = "a"; $icon = ""; $requete3 = "SELECT notice_id,typdoc FROM notices WHERE notice_id='" . $obj["bulletin_notice"] . "' "; $res3 = @pmb_mysql_query($requete3, $dbh); while ($obj3 = pmb_mysql_fetch_object($res3)) { $notice3 = new notice($obj3->notice_id); $typdocchapeau = $obj3->typdoc; } $notice3->fetch_visibilite(); if (!$icon) { $icon = "icon_per.gif"; } $icon = $icon_doc["b" . $typdocchapeau]; $res_print .= "<h3><img src='" . get_url_icon($icon) . "' /> " . $notice3->print_resume(1, $css) . "." . " <b>" . $obj["bulletin_numero"] . "</b></h3>\n"; $num_notice = $obj['num_notice']; if ($obj['date_date']) { $res_print .= $msg['bull_date_date'] . " " . $obj['aff_date_date'] . " \n"; } if ($obj['bulletin_cb']) { $res_print .= "<br />" . $msg["code_start"] . " " . htmlentities($obj['bulletin_cb'], ENT_QUOTES, $charset) . "\n"; $code_cb_bulletin = $obj['bulletin_cb']; } } do_image($res_print, $code_cb_bulletin, 0); if ($opac_perio_a2z_show_bulletin_notice && $num_notice) { // Il y a une notice de bulletin $resultat_aff .= $res_print; global $opac_notices_depliable; global $seule; $memo_opac_notices_depliable = $opac_notices_depliable; $memo_seule = $seule; $opac_notices_depliable = 0; $seule = 1; $resultat_aff .= pmb_bidi(aff_notice($num_notice, 0, 0)); $opac_notices_depliable = $memo_opac_notices_depliable; $seule = $memo_seule; } else { // construction des dépouillements $requete = "SELECT * FROM analysis, notices, notice_statut WHERE analysis_bulletin='{$id}' AND notice_id = analysis_notice AND statut = id_notice_statut and ((notice_visible_opac=1 and notice_visible_opac_abon=0)" . ($_SESSION["user_code"] ? " or (notice_visible_opac_abon=1 and notice_visible_opac=1)" : "") . ") "; $res = @pmb_mysql_query($requete, $dbh); if (pmb_mysql_num_rows($res)) { $depouill = "<h3>" . $msg['bull_dep'] . "</h3>"; if ($opac_notices_depliable) { $depouill .= $begin_result_liste; } if ($opac_cart_allow) { $depouill .= "<a href=\"cart_info.php?id=" . $id . "&lvl=analysis&header=" . rawurlencode(strip_tags($notice_header)) . "\" target=\"cart_info\" class=\"img_basket\" title='" . $msg["cart_add_result_in"] . "'>" . $msg["cart_add_result_in"] . "</a>"; } $depouill .= "<blockquote>"; while ($obj = pmb_mysql_fetch_array($res)) { $depouill .= pmb_bidi(aff_notice($obj["analysis_notice"])); } $depouill .= "</blockquote>"; } $resultat_aff .= $res_print; $resultat_aff .= $depouill; if ($notice3->visu_expl && (!$notice3->visu_expl_abon || $notice3->visu_expl_abon && $_SESSION["user_code"])) { if (!$opac_resa_planning) { $resa_check = check_statut(0, $id); if ($resa_check) { $requete_resa = "SELECT count(1) FROM resa WHERE resa_idbulletin='{$id}'"; $nb_resa_encours = pmb_mysql_result(pmb_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 ($_SESSION["user_code"] && $allow_book && $opac_resa && !$popup_resa) { $ret_resa .= "<h3>" . $msg["bulletin_display_resa"] . "</h3>"; if ($opac_max_resa == 0 || $opac_max_resa > $nb_resa_encours) { if ($opac_resa_popup) { $ret_resa .= "<a href='#' onClick=\"if(confirm('" . $msg["confirm_resa"] . "')){w=window.open('./do_resa.php?lvl=resa&id_bulletin=" . $id . "&oresa=popup','doresa','scrollbars=yes,width=500,height=600,menubar=0,resizable=yes'); w.focus(); return false;}else return false;\" id=\"bt_resa\">" . $msg["bulletin_display_place_resa"] . "</a>"; } else { $ret_resa .= "<a href='./do_resa.php?lvl=resa&id_bulletin=" . $id . "&oresa=popup' onClick=\"return confirm('" . $msg["confirm_resa"] . "')\" id=\"bt_resa\">" . $msg["bulletin_display_place_resa"] . "</a>"; } $ret_resa .= $message_nbresa; } else { $ret_resa .= str_replace("!!nb_max_resa!!", $opac_max_resa, $msg["resa_nb_max_resa"]); } $ret_resa .= "<br />"; } elseif (!$_SESSION["user_code"] && $opac_resa && !$popup_resa) { // utilisateur pas connecté // préparation lien réservation sans être connecté $ret_resa .= "<h3>" . $msg["bulletin_display_resa"] . "</h3>"; if ($opac_resa_popup) { $ret_resa .= "<a href='#' onClick=\"if(confirm('" . $msg["confirm_resa"] . "')){w=window.open('./do_resa.php?lvl=resa&id_bulletin=" . $id . "&oresa=popup','doresa','scrollbars=yes,width=500,height=600,menubar=0,resizable=yes'); w.focus(); return false;}else return false;\" id=\"bt_resa\">" . $msg["bulletin_display_place_resa"] . "</a>"; } else { $ret_resa .= "<a href='./do_resa.php?lvl=resa&id_bulletin=" . $id . "&oresa=popup' onClick=\"return confirm('" . $msg["confirm_resa"] . "')\" id=\"bt_resa\">" . $msg["bulletin_display_place_resa"] . "</a>"; } $ret_resa .= $message_nbresa; $ret_resa .= "<br />"; } else { $ret_resa = ""; } $resultat_aff .= pmb_bidi($ret_resa); } } if ($opac_show_exemplaires) { if ($fonction == 'notice_affichage_custom_bretagne') { $resultat_aff .= pmb_bidi(notice_affichage_custom_bretagne::expl_list("m", 0, $id)); } else { $resultat_aff .= pmb_bidi(notice_affichage::expl_list("m", 0, $id, 0)); } } } if ($notice3->visu_explnum && (!$notice3->visu_explnum_abon || $notice3->visu_explnum_abon && $_SESSION["user_code"])) { if ($explnum = show_explnum_per_notice(0, $id, '')) { $resultat_aff .= pmb_bidi("<a name='docnum'><h3>" . $msg["explnum"] . "</h3></a>" . $explnum); } } } pmb_mysql_free_result($res); $resultat_aff .= notice_affichage::autres_lectures(0, $id); return $resultat_aff; }
function bulletin_affichage($id, $type = "") { global $dbh, $msg; global $opac_show_exemplaires; $display = ""; $requete = "SELECT bulletin_id, bulletin_numero, bulletin_notice, mention_date, date_date, bulletin_titre, bulletin_cb, date_format(date_date, '" . $msg["format_date_sql"] . "') as aff_date_date,num_notice FROM bulletins WHERE bulletin_id='{$id}'"; $res = @pmb_mysql_query($requete, $dbh); while ($obj = pmb_mysql_fetch_array($res)) { $requete3 = "SELECT notice_id FROM notices WHERE notice_id='" . $obj["bulletin_notice"] . "' "; $res3 = @pmb_mysql_query($requete3, $dbh); while ($obj3 = pmb_mysql_fetch_object($res3)) { $notice3 = new notice($obj3->notice_id); } $notice3->fetch_visibilite(); //on vient poser l'ancre des docnums... $req = "select explnum_id from explnum where explnum_bulletin = " . $obj["bulletin_id"]; $resultat = pmb_mysql_query($req, $dbh) or die($req . " " . pmb_mysql_error()); $nb_ex = pmb_mysql_num_rows($resultat); $res_print = "<h3><img src=./images/icon_per.gif> " . $notice3->print_resume(1, $css) . "." . " <b>" . $obj["bulletin_numero"] . "</b>" . ($nb_ex ? " <a href='#docnum'>" . ($nb_ex > 1 ? "<img src='" . get_url_icon("globe_rouge.png") . "' />" : "<img src='" . get_url_icon("globe_orange.png") . "' />") . "</a>" : "") . "</h3>\n"; $num_notice = $obj['num_notice']; if ($obj['bulletin_titre']) { $res_print .= htmlentities($obj['bulletin_titre'], ENT_QUOTES, $charset) . "<br />"; } if ($obj['mention_date']) { $res_print .= $msg['bull_mention_date'] . " " . $obj['mention_date'] . "\n"; } if ($obj['date_date']) { $res_print .= "<br />" . $msg['bull_date_date'] . " " . $obj['aff_date_date'] . " \n"; } if ($type != "visionneuse" && $nb_ex) { $res_print .= "<br /><a href='#docnum'>" . ($nb_ex > 1 ? "<img src='" . get_url_icon("globe_rouge.png") . "' />" : "<img src='" . get_url_icon("globe_orange.png") . "' />") . "</a>"; } if ($obj['bulletin_cb']) { $res_print .= "<br />" . $msg["code_start"] . " " . htmlentities($obj['bulletin_cb'], ENT_QUOTES, $charset) . "\n"; $code_cb_bulletin = $obj['bulletin_cb']; } } do_image($res_print, $code_cb_bulletin, 0); if ($num_notice) { // Il y a une notice de bulletin $display .= $res_print; $opac_notices_depliable = 0; $seule = 1; //$display .= pmb_bidi(aff_notice($num_notice,0,0)) ; if ($type == "visionneuse") { $display .= pmb_bidi(aff_notice($num_notice, 1, 1, 0, "", 0, 1)); } else { $display .= pmb_bidi(aff_notice($num_notice, 0, 1, 0, "", 0)); } } else { // construction des dépouillements $depouill = "<br /><h3>" . $msg['bull_dep'] . "</h3>"; $requete = "SELECT * FROM analysis, notices, notice_statut WHERE analysis_bulletin='{$id}' AND notice_id = analysis_notice AND statut = id_notice_statut and ((notice_visible_opac=1 and notice_visible_opac_abon=0)" . ($_SESSION["user_code"] ? " or (notice_visible_opac_abon=1 and notice_visible_opac=1)" : "") . ") "; $res = @pmb_mysql_query($requete, $dbh); if (pmb_mysql_num_rows($res)) { if ($opac_notices_depliable) { $depouill .= $begin_result_liste; } if ($opac_cart_allow) { $depouill .= "<a href=\"cart_info.php?id=" . $id . "&lvl=analysis&header=" . rawurlencode(strip_tags($notice_header)) . "\" target=\"cart_info\" class=\"img_basket\" title='" . $msg["cart_add_result_in"] . "'>" . $msg["cart_add_result_in"] . "</a>"; } $depouill .= "<blockquote>"; while ($obj = pmb_mysql_fetch_array($res)) { $depouill .= pmb_bidi(aff_notice($obj["analysis_notice"])); } $depouill .= "</blockquote>"; } else { $depouill = $msg["no_analysis"]; } $display .= $res_print; $display .= $depouill; if ($notice3->visu_expl && (!$notice3->visu_expl_abon || $notice3->visu_expl_abon && $_SESSION["user_code"])) { if (!$opac_resa_planning) { $resa_check = check_statut(0, $id); if ($resa_check) { $requete_resa = "SELECT count(1) FROM resa WHERE resa_idbulletin='{$id}'"; $nb_resa_encours = pmb_mysql_result(pmb_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 ($_SESSION["user_code"] && $allow_book && $opac_resa && !$popup_resa) { $ret_resa .= "<h3>" . $msg["bulletin_display_resa"] . "</h3>"; if ($opac_max_resa == 0 || $opac_max_resa > $nb_resa_encours) { if ($opac_resa_popup) { $ret_resa .= "<a href='#' onClick=\"if(confirm('" . $msg["confirm_resa"] . "')){w=window.open('./do_resa.php?lvl=resa&id_bulletin=" . $id . "&oresa=popup','doresa','scrollbars=yes,width=500,height=600,menubar=0,resizable=yes'); w.focus(); return false;}else return false;\" id=\"bt_resa\">" . $msg["bulletin_display_place_resa"] . "</a>"; } else { $ret_resa .= "<a href='./do_resa.php?lvl=resa&id_bulletin=" . $id . "&oresa=popup' onClick=\"return confirm('" . $msg["confirm_resa"] . "')\" id=\"bt_resa\">" . $msg["bulletin_display_place_resa"] . "</a>"; } $ret_resa .= $message_nbresa; } else { $ret_resa .= str_replace("!!nb_max_resa!!", $opac_max_resa, $msg["resa_nb_max_resa"]); } $ret_resa .= "<br />"; } elseif (!$_SESSION["user_code"] && $opac_resa && !$popup_resa) { // utilisateur pas connecté // préparation lien réservation sans être connecté $ret_resa .= "<h3>" . $msg["bulletin_display_resa"] . "</h3>"; if ($opac_resa_popup) { $ret_resa .= "<a href='#' onClick=\"if(confirm('" . $msg["confirm_resa"] . "')){w=window.open('./do_resa.php?lvl=resa&id_bulletin=" . $id . "&oresa=popup','doresa','scrollbars=yes,width=500,height=600,menubar=0,resizable=yes'); w.focus(); return false;}else return false;\" id=\"bt_resa\">" . $msg["bulletin_display_place_resa"] . "</a>"; } else { $ret_resa .= "<a href='./do_resa.php?lvl=resa&id_bulletin=" . $id . "&oresa=popup' onClick=\"return confirm('" . $msg["confirm_resa"] . "')\" id=\"bt_resa\">" . $msg["bulletin_display_place_resa"] . "</a>"; } $ret_resa .= $message_nbresa; $ret_resa .= "<br />"; } elseif ($fonction == 'notice_affichage_custom_bretagne') { if ($opac_resa_popup) { $reserver = "<a href='#' onClick=\"if(confirm('" . $msg["confirm_resa"] . "')){w=window.open('./do_resa.php?lvl=resa&id_notice=" . $this->notice_id . "&oresa=popup','doresa','scrollbars=yes,width=500,height=600,menubar=0,resizable=yes'); w.focus(); return false;}else return false;\" id=\"bt_resa\">" . $msg["bulletin_display_place_resa"] . "</a>"; } else { $reserver = "<a href='./do_resa.php?lvl=resa&id_notice=" . $this->notice_id . "&oresa=popup' onClick=\"return confirm('" . $msg["confirm_resa"] . "')\" id=\"bt_resa\">" . $msg["bulletin_display_place_resa"] . "</a>"; } $reservernbre = $message_nbresa; } else { $ret_resa = ""; } $display .= pmb_bidi($ret_resa); } } if ($opac_show_exemplaires) { if ($fonction == 'notice_affichage_custom_bretagne') { $display .= pmb_bidi(notice_affichage_custom_bretagne::expl_list("m", 0, $id)); } else { $display .= pmb_bidi(notice_affichage::expl_list("m", 0, $id)); } } } if ($type != "visionneuse" && $notice3->visu_explnum && (!$notice3->visu_explnum_abon || $notice3->visu_explnum_abon && $_SESSION["user_code"])) { if ($explnum = show_explnum_per_notice(0, $id, '')) { $display .= pmb_bidi("<a name='docnum'><h3>" . $msg["explnum"] . "</h3></a>" . $explnum); } } } pmb_mysql_free_result($res); $display .= notice_affichage::autres_lectures(0, $id); return $display; }
function aff_explnum() { global $opac_show_links_invisible_docnums; global $msg; $ret = ''; if ($opac_show_links_invisible_docnums || is_null($this->dom_2) && $this->visu_explnum && (!$this->visu_explnum_abon || $this->visu_explnum_abon && $_SESSION["user_code"]) || $this->rights & 16) { if ($this->notice->niveau_biblio == "b" && ($explnum = show_explnum_per_notice(0, $this->bulletin_id, ''))) { $ret .= "<a name='docnum'><h3><span id='titre_explnum'>{$msg['explnum']}</span></h3></a>" . $explnum; $this->affichage_expl .= "<a name='docnum'><h3><span id='titre_explnum'>{$msg['explnum']}</span></h3></a>" . $explnum; } elseif ($explnum = show_explnum_per_notice($this->notice_id, 0, '')) { $ret .= "<a name='docnum'><h3><span id='titre_explnum'>{$msg['explnum']}</span></h3></a>" . $explnum; $this->affichage_expl .= "<a name='docnum'><h3><span id='titre_explnum'>{$msg['explnum']}</span></h3></a>" . $explnum; } } return $ret; }
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 $opac_resa_planning; // la résa est elle planifiée global $allow_book; // afin d'éviter de recalculer un truc déjà calculé... if ($this->affichage_resa_expl) { return $this->affichage_resa_expl; } /* if (($avis_en_bas = $this->avis_detail())) { $ret = $avis_en_bas; } */ 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) { $temp = $this->expl_list($this->notice->niveau_biblio, $this->notice->notice_id, $this->bulletin_id); $ret .= $temp; $this->affichage_expl = $ret; } if ($this->visu_explnum && (!$this->visu_explnum_abon || $this->visu_explnum_abon && $_SESSION["user_code"])) { if ($this->notice->niveau_biblio == "b" && ($explnum = show_explnum_per_notice(0, $this->bulletin_id, ''))) { $ret .= "<h3>{$msg['explnum']}</h3>" . $explnum; $this->affichage_expl .= "<h3>{$msg['explnum']}</h3>" . $explnum; } elseif ($explnum = show_explnum_per_notice($this->notice_id, 0, '')) { $ret .= "<h3>{$msg['explnum']}</h3>" . $explnum; $this->affichage_expl .= "<h3>{$msg['explnum']}</h3>" . $explnum; } } if ($autres_lectures = $this->autres_lectures($this->notice_id, $this->bulletin_id)) { $ret .= $autres_lectures; } $this->affichage_resa_expl = $ret; return $ret; }
/** * Retourne le rendu html des documents numériques du bulletin parent de la notice d'article * @param int $notice_id Identifiant de la notice * @return string Rendu html des documents numériques du bulletin parent */ public static function get_display_bull_for_art_expl_num($notice_id) { $record_datas = static::get_record_datas($notice_id); $bul_infos = $record_datas->get_bul_info(); $paramaff["mine_type"] = 1; $retour = show_explnum_per_notice(0, $bul_infos['bulletin_id'], "", $paramaff); return $retour; }
function mba_isbd($obj) { global $dbh, $base_path; global $langue_doc; global $msg; global $tdoc; global $fonction_auteur; global $charset; global $thesaurus_mode_pmb, $thesaurus_categories_categ_in_line, $pmb_keyword_sep, $thesaurus_categories_affichage_ordre; global $load_tablist_js; global $lang; global $categories_memo, $libelle_thesaurus_memo; global $categories_top, $use_opac_url_base, $thesaurus_categories_show_only_last; global $categ; global $id_empr; global $pmb_show_notice_id; global $sort_children; global $pmb_resa_planning; global $pmb_etat_collections_localise, $pmb_droits_explr_localises, $explr_visible_mod; if ($obj->notice->niveau_biblio == "m") { // constitution de la mention de titre if ($obj->tit_serie) { if ($obj->print_mode) { $display_isbd = $obj->tit_serie; } else { $display_isbd = $obj->tit_serie_lien_gestion; } if ($obj->notice->tnvol) { $display_isbd .= ', ' . $obj->notice->tnvol; } } $display_isbd ? $display_isbd .= '. ' . $obj->tit1 : ($display_isbd = $obj->tit1); $tit2 = $obj->notice->tit2; $tit3 = $obj->notice->tit3; $tit4 = $obj->notice->tit4; if ($tit3) { $display_isbd .= " = {$tit3}"; } if ($tit4) { $display_isbd .= " : {$tit4}"; } if ($tit2) { $display_isbd .= " ; {$tit2}"; } $display_isbd .= ' [' . $tdoc->table[$obj->notice->typdoc] . ']'; $mention_resp = array(); // constitution de la mention de responsabilité //$obj->responsabilites $as = array_search("0", $obj->responsabilites["responsabilites"]); if ($as !== FALSE && $as !== NULL) { $auteur_0 = $obj->responsabilites["auteurs"][$as]; $auteur = new auteur($auteur_0["id"]); if ($obj->print_mode) { $mention_resp_lib = $auteur->isbd_entry; } else { $mention_resp_lib = $auteur->isbd_entry_lien_gestion; } if (!$obj->print_mode) { $mention_resp_lib .= $auteur->author_web_link; } // if ($auteur_0["fonction"]) $mention_resp_lib .= ", ".$fonction_auteur[$auteur_0["fonction"]]; $mention_resp[] = $mention_resp_lib; } $as = array_keys($obj->responsabilites["responsabilites"], "1"); for ($i = 0; $i < count($as); $i++) { $indice = $as[$i]; $auteur_1 = $obj->responsabilites["auteurs"][$indice]; $auteur = new auteur($auteur_1["id"]); if ($obj->print_mode) { $mention_resp_lib = $auteur->isbd_entry; } else { $mention_resp_lib = $auteur->isbd_entry_lien_gestion; } if (!$obj->print_mode) { $mention_resp_lib .= $auteur->author_web_link; } // if ($auteur_1["fonction"]) $mention_resp_lib .= ", ".$fonction_auteur[$auteur_1["fonction"]]; $mention_resp[] = $mention_resp_lib; } $as = array_keys($obj->responsabilites["responsabilites"], "2"); for ($i = 0; $i < count($as); $i++) { $indice = $as[$i]; $auteur_2 = $obj->responsabilites["auteurs"][$indice]; $auteur = new auteur($auteur_2["id"]); if ($obj->print_mode) { $mention_resp_lib = $auteur->isbd_entry; } else { $mention_resp_lib = $auteur->isbd_entry_lien_gestion; } if (!$obj->print_mode) { $mention_resp_lib .= $auteur->author_web_link; } // if ($auteur_2["fonction"]) $mention_resp_lib .= ", ".$fonction_auteur[$auteur_2["fonction"]]; $mention_resp[] = $mention_resp_lib; } $libelle_mention_resp = implode("; ", $mention_resp); if ($libelle_mention_resp) { $display_isbd .= " / {$libelle_mention_resp}"; } // mention d'édition if ($obj->notice->mention_edition) { $display_isbd .= ". - " . $obj->notice->mention_edition; } // zone de l'adresse // on récupère la collection au passage, si besoin est if ($obj->notice->subcoll_id) { $collection = new subcollection($obj->notice->subcoll_id); $ed_obj = new editeur($collection->editeur); if ($obj->print_mode) { $editeurs .= $ed_obj->isbd_entry; $collections = $collection->isbd_entry; } else { $editeurs .= $ed_obj->isbd_entry_lien_gestion; $collections = $collection->isbd_entry_lien_gestion; } } elseif ($obj->notice->coll_id) { $collection = new collection($obj->notice->coll_id); $ed_obj = new editeur($collection->parent); if ($obj->print_mode) { $editeurs .= $ed_obj->isbd_entry; $collections = $collection->isbd_entry; } else { $editeurs .= $ed_obj->isbd_entry_lien_gestion; $collections = $collection->isbd_entry_lien_gestion; } } elseif ($obj->notice->ed1_id) { $editeur = new editeur($obj->notice->ed1_id); if ($obj->print_mode) { $editeurs .= $editeur->isbd_entry; } else { $editeurs .= $editeur->isbd_entry_lien_gestion; } } if ($obj->notice->ed2_id) { $editeur = new editeur($obj->notice->ed2_id); if ($obj->print_mode) { $ed_isbd = $editeur->isbd_entry; } else { $ed_isbd = $editeur->isbd_entry_lien_gestion; } $editeurs ? $editeurs .= ' ; ' . $ed_isbd : ($editeurs = $ed_isbd); } if ($obj->notice->year) { $editeurs ? $editeurs .= ', ' . $obj->notice->year : ($editeurs = $obj->notice->year); } elseif ($obj->notice->niveau_biblio != 'b') { $editeurs ? $editeurs .= ', [s.d.]' : ($editeurs = "[s.d.]"); } if ($editeurs) { $display_isbd .= ". - {$editeurs}"; } // // zone de la collation (ne concerne que a2) // if($obj->notice->npages) // $collation = $obj->notice->npages; // if($obj->notice->ill) // $collation .= ': '.$obj->notice->ill; // if($obj->notice->size) // $collation .= '; '.$obj->notice->size; // if($obj->notice->accomp) // $collation .= '+ '.$obj->notice->accomp; // if($collation) // $display_isbd .= ". - $collation"; if ($collections) { if ($obj->notice->nocoll) { $collections .= '; ' . $obj->notice->nocoll; } $display_isbd .= ". - ({$collections})" . ' '; } if (substr(trim($display_isbd), -1) != ".") { $display_isbd .= '.'; } // // note générale // if($obj->notice->n_gen) // $zoneNote = nl2br(htmlentities($obj->notice->n_gen,ENT_QUOTES, $charset)).' '; // // // ISBN ou NO. commercial // if($obj->notice->code) { // if(isISBN($obj->notice->code)) { // if ($zoneNote) { // $zoneNote .= '. - ISBN '; // } else { // $zoneNote = 'ISBN '; // } // } else { // if($zoneNote) $zoneNote .= '. - '; // } // $zoneNote .= $obj->notice->code; // } // demande de retrait le 5/2/13 // if($obj->notice->prix) { // if($obj->notice->code) {$zoneNote .= ' : '.$obj->notice->prix;} // else { // if ($zoneNote) { $zoneNote .= ' '.$obj->notice->prix;} // else { $zoneNote = $obj->notice->prix;} // } // } // if($zoneNote) $display_isbd .= "<br /><br />$zoneNote."; // //In //Recherche des notices parentes if (!$obj->no_link) { $requete = "select linked_notice, relation_type, rank, l.niveau_biblio as lnb, l.niveau_hierar as lnh from notices_relations, notices as l where num_notice=" . $obj->notice_id . " and linked_notice=l.notice_id order by relation_type,rank"; $result_linked = mysql_query($requete) or die(mysql_error()); //Si il y en a, on prépare l'affichage if (mysql_num_rows($result_linked)) { global $relation_listup; if (!$relation_listup) { $relation_listup = new marc_list("relationtypeup"); } } $r_type = array(); $ul_opened = false; $r_type_local = ""; //Pour toutes les notices liées while ($r_rel = mysql_fetch_object($result_linked)) { //Pour avoir le lien par défaut if (!$obj->print_mode && SESSrights & CATALOGAGE_AUTH) { $link_parent = $base_path . '/catalog.php?categ=isbd&id=!!id!!'; } else { $link_parent = ""; } if ($r_rel->lnb == 's' && $r_rel->lnh == '1') { // c'est une notice chapeau global $link_serial, $link_analysis, $link_bulletin, $link_explnum_serial; $link_serial_sub = $base_path . "/catalog.php?categ=serials&sub=view&serial_id=" . $r_rel->linked_notice; // function serial_display ($id, $level='1', $action_serial='', $action_analysis='', $action_bulletin='', $lien_suppr_cart="", $lien_explnum="", $bouton_explnum=1,$print=0,$show_explnum=1, $show_statut=0, $show_opac_hidden_fields=true, $draggable=0 ) { $serial = new serial_display($r_rel->linked_notice, 0, $link_serial_sub, $link_analysis, $link_bulletin, "", "", 0, $obj->print_mode, $obj->show_explnum, $obj->show_statut, $obj->show_opac_hidden_fields, 1, true); $aff = $serial->header; } else { if ($r_rel->lnb == 'a' && $r_rel->lnh == '2') { // c'est un dépouillement de bulletin global $link_serial, $link_analysis, $link_bulletin, $link_explnum_serial; if (!$link_analysis) { $link_analysis = $base_path . "/catalog.php?categ=serials&sub=bulletinage&action=view&bul_id=!!bul_id!!&art_to_show=!!id!!"; } $serial = new serial_display($r_rel->linked_notice, 0, $link_serial, $link_analysis, $link_bulletin, "", "", 0, $obj->print_mode, $obj->show_explnum, $obj->show_statut, $obj->show_opac_hidden_fields, 1, true); $aff = $serial->result; } else { if ($link_parent && $r_rel->lnb == 'b' && $r_rel->lnh == '2') { $requete = "SELECT bulletin_id FROM bulletins WHERE num_notice='" . $r_rel->linked_notice . "'"; $res = mysql_query($requete); if (mysql_num_rows($res)) { $link_parent = $base_path . "/catalog.php?categ=serials&sub=bulletinage&action=view&bul_id=" . mysql_result($res, 0, 0); } } // dans les autres cas $parent_notice = new mono_display($r_rel->linked_notice, 0, $link_parent, 1, '', "", '', 0, $obj->print_mode, $obj->show_explnum, $obj->show_statut, '', 1, true, $obj->show_opac_hidden_fields, 0); $aff = $parent_notice->header; $obj->nb_expl += $parent_notice->nb_expl; } } //$parent_notice=new mono_display($r_rel->linked_notice,0,$link_parent); //Présentation différente si il y en a un ou plusieurs if (mysql_num_rows($result_linked) == 1) { $display_isbd .= "<br /><b>" . $relation_listup->table[$r_rel->relation_type] . "</b> " . $aff . "<br />"; } else { if ($r_rel->relation_type != $r_type_local) { $r_type_local = $r_rel->relation_type; if ($ul_opened) { $display_isbd .= "</ul>"; $display_isbd .= "\n<b>" . $relation_listup->table[$r_rel->relation_type] . "</b>"; $display_isbd .= "\n<ul class='notice_rel'>\n"; $ul_opened = true; } else { $display_isbd .= "\n<br />"; $display_isbd .= "\n<b>" . $relation_listup->table[$r_rel->relation_type] . "</b>"; $display_isbd .= "\n<ul class='notice_rel'>\n"; $ul_opened = true; } } $display_isbd .= "\n<li>" . $aff . "</li>\n"; } } if ($ul_opened) { $display_isbd .= "\n</ul>\n"; } } // niveau 1 if ($obj->level == 1) { if (!$obj->print_mode) { $display_isbd .= "<!-- !!bouton_modif!! -->"; } if ($obj->expl) { $display_isbd .= "<br /><b>{$msg[285]}</b>"; $display_isbd .= $obj->show_expl_per_notice($obj->notice->notice_id, $obj->link_expl); if ($obj->show_explnum) { $explnum_assoc = show_explnum_per_notice($obj->notice->notice_id, 0, $obj->link_explnum); if ($explnum_assoc) { $display_isbd .= "<b>{$msg['explnum_docs_associes']}</b>" . $explnum_assoc; } } } if ($obj->show_resa) { $aff_resa = resa_list($obj->notice_id, 0, 0); if ($aff_resa) { $display_isbd .= "<b>{$msg['resas']}</b>" . $aff_resa; } } if ($obj->show_planning && $pmb_resa_planning) { $aff_resa_planning = planning_list(0, $obj->notice_id); if ($aff_resa_planning) { $display_isbd .= "<b>{$msg['resas_planning']}</b>" . $aff_resa_planning; } } } } else { //pour le reste... $display_isbd = $obj->notice->tit1; // constitution de la mention de titre $tit3 = $obj->notice->tit3; $tit4 = $obj->notice->tit4; if ($tit3) { $display_isbd .= " = {$tit3}"; } if ($tit4) { $display_isbd .= " : {$tit4}"; } $display_isbd .= ' [' . $tdoc->table[$obj->notice->typdoc] . ']'; // constitution de la mention de responsabilité $mention_resp = array(); // constitution de la mention de responsabilité //$obj->responsabilites $as = array_search("0", $obj->responsabilites["responsabilites"]); if ($as !== FALSE && $as !== NULL) { $auteur_0 = $obj->responsabilites["auteurs"][$as]; $auteur = new auteur($auteur_0["id"]); if ($obj->print_mode) { $mention_resp_lib = $auteur->isbd_entry; } else { $mention_resp_lib = $auteur->isbd_entry_lien_gestion; } if (!$obj->print_mode) { $mention_resp_lib .= $auteur->author_web_link; } // if ($auteur_0["fonction"]) $mention_resp_lib .= ", ".$fonction_auteur[$auteur_0["fonction"]]; $mention_resp[] = $mention_resp_lib; } $as = array_keys($obj->responsabilites["responsabilites"], "1"); for ($i = 0; $i < count($as); $i++) { $indice = $as[$i]; $auteur_1 = $obj->responsabilites["auteurs"][$indice]; $auteur = new auteur($auteur_1["id"]); if ($obj->print_mode) { $mention_resp_lib = $auteur->isbd_entry; } else { $mention_resp_lib = $auteur->isbd_entry_lien_gestion; } if (!$obj->print_mode) { $mention_resp_lib .= $auteur->author_web_link; } // if ($auteur_1["fonction"]) $mention_resp_lib .= ", ".$fonction_auteur[$auteur_1["fonction"]]; $mention_resp[] = $mention_resp_lib; } $as = array_keys($obj->responsabilites["responsabilites"], "2"); for ($i = 0; $i < count($as); $i++) { $indice = $as[$i]; $auteur_2 = $obj->responsabilites["auteurs"][$indice]; $auteur = new auteur($auteur_2["id"]); if ($obj->print_mode) { $mention_resp_lib = $auteur->isbd_entry; } else { $mention_resp_lib = $auteur->isbd_entry_lien_gestion; } if (!$obj->print_mode) { $mention_resp_lib .= $auteur->author_web_link; } // if ($auteur_2["fonction"]) // $mention_resp_lib .= ", ".$fonction_auteur[$auteur_2["fonction"]]; $mention_resp[] = $mention_resp_lib; } $libelle_mention_resp = implode("; ", $mention_resp); if ($libelle_mention_resp) { $display_isbd .= " / " . $libelle_mention_resp . " "; } // zone de l'adresse (ne concerne que s1) if ($obj->notice->niveau_biblio == 's' && $obj->notice->niveau_hierar == 1) { if ($obj->notice->ed1_id) { $editeur = new editeur($obj->notice->ed1_id); if ($obj->print_mode) { $editeurs .= $editeur->isbd_entry; } else { $editeurs .= $editeur->isbd_entry_lien_gestion; } } if ($obj->notice->ed2_id) { $editeur = new editeur($obj->notice->ed2_id); if ($obj->print_mode) { $ed_isbd = $editeur->isbd_entry; } else { $ed_isbd = $editeur->isbd_entry_lien_gestion; } if ($editeurs) { $editeurs .= ' ; ' . $ed_isbd; } else { $editeurs .= $ed_isbd; } } if ($obj->notice->year) { $editeurs ? $editeurs .= ', ' . $obj->notice->year : ($editeurs = $obj->notice->year); } //else //$editeurs ? $editeurs .= ', [s.d.]' : $editeurs = "[s.d.]"; if ($editeurs) { $display_isbd .= ". - {$editeurs}"; } // code ici pour la gestion des éditeurs } // zone de la collation (ne concerne que a2, mention de pagination) // pour les périodiques, on rebascule en zone de note // avec la mention du périodique parent if ($obj->notice->niveau_biblio == 'a' && $obj->notice->niveau_hierar == 2) { $bulletin = $obj->parent_title; if ($obj->parent_numero) { $bulletin .= ' ' . $obj->parent_numero; } // affichage de la mention de date utile : mention_date si existe, sinon date_date if ($obj->parent_date) { $date_affichee = " (" . $obj->parent_date . ")"; } else { if ($obj->parent_date_date) { $date_affichee .= " [" . formatdate($obj->parent_date_date) . "]"; } else { $date_affichee = ""; } } $bulletin .= $date_affichee; if ($obj->action_bulletin) { $obj->action_bulletin = str_replace('!!id!!', $obj->bul_id, $obj->action_bulletin); $bulletin = "<a href=\"" . $obj->action_bulletin . "\">" . htmlentities($bulletin, ENT_QUOTES, $charset) . "</a>"; } $mention_parent = "in <b>{$bulletin}</b>"; } if ($mention_parent) { $display_isbd .= "<br />{$mention_parent}"; $pagination = htmlentities($obj->notice->npages, ENT_QUOTES, $charset); if ($pagination) { $display_isbd .= ". - {$pagination}"; } } //In //Recherche des notices parentes if (!$obj->no_link) { $requete = "select linked_notice, relation_type, rank, l.niveau_biblio as lnb, l.niveau_hierar as lnh from notices_relations, notices as l where num_notice=" . $obj->notice_id . " and linked_notice=l.notice_id order by relation_type,rank"; $result_linked = mysql_query($requete) or die(mysql_error()); //Si il y en a, on prépare l'affichage if (mysql_num_rows($result_linked)) { global $relation_listup; if (!$relation_listup) { $relation_listup = new marc_list("relationtypeup"); } } $r_type = array(); $ul_opened = false; $r_type_local = ""; //Pour toutes les notices liées while ($r_rel = mysql_fetch_object($result_linked)) { //Pour avoir le lien par défaut if (!$obj->print_mode && SESSrights & CATALOGAGE_AUTH) { $link_parent = $base_path . '/catalog.php?categ=isbd&id=!!id!!'; } else { $link_parent = ""; } if ($r_rel->lnb == 's' && $r_rel->lnh == '1') { // c'est une notice chapeau global $link_serial, $link_analysis, $link_bulletin, $link_explnum_serial; $link_serial_sub = $base_path . "/catalog.php?categ=serials&sub=view&serial_id=" . $r_rel->linked_notice; // function serial_display ($id, $level='1', $action_serial='', $action_analysis='', $action_bulletin='', $lien_suppr_cart="", $lien_explnum="", $bouton_explnum=1,$print=0,$show_explnum=1, $show_statut=0, $show_opac_hidden_fields=true, $draggable=0 ) { $serial = new serial_display($r_rel->linked_notice, 0, $link_serial_sub, $link_analysis, $link_bulletin, "", "", 0, $obj->print_mode, $obj->show_explnum, $obj->show_statut, $obj->show_opac_hidden_fields, 1, true); $aff = $serial->header; } else { if ($r_rel->lnb == 'a' && $r_rel->lnh == '2') { // c'est un dépouillement de bulletin global $link_serial, $link_analysis, $link_bulletin, $link_explnum_serial; if (!$link_analysis) { $link_analysis = $base_path . "/catalog.php?categ=serials&sub=bulletinage&action=view&bul_id=!!bul_id!!&art_to_show=!!id!!"; } $serial = new serial_display($r_rel->linked_notice, 0, $link_serial, $link_analysis, $link_bulletin, "", "", 0, $obj->print_mode, $obj->show_explnum, $obj->show_statut, $obj->show_opac_hidden_fields, 1, true); $aff = $serial->result; } else { if ($link_parent && $r_rel->lnb == 'b' && $r_rel->lnh == '2') { $requete = "SELECT bulletin_id FROM bulletins WHERE num_notice='" . $r_rel->linked_notice . "'"; $res = mysql_query($requete); if (mysql_num_rows($res)) { $link_parent = $base_path . "/catalog.php?categ=serials&sub=bulletinage&action=view&bul_id=" . mysql_result($res, 0, 0); } } // dans les autres cas //function mono_display($id, $level=1, $action='', $expl=1, $expl_link='', $lien_suppr_cart="", $explnum_link='', $show_resa=0, $print=0, $show_explnum=1, $show_statut=0, $anti_loop='', $draggable=0, $no_link=false, $show_opac_hidden_fields=true,$ajax_mode=0) { $parent_notice = new mono_display($r_rel->linked_notice, 0, $link_parent, 1, '', "", '', 0, $obj->print_mode, $obj->show_explnum, $obj->show_statut, '', 1, true, $obj->show_opac_hidden_fields, 0); $aff = $parent_notice->header; $obj->nb_expl += $parent_notice->nb_expl; } } //Présentation différente si il y en a un ou plusieurs if (mysql_num_rows($result_linked) == 1) { $display_isbd .= "<br /><b>" . $relation_listup->table[$r_rel->relation_type] . "</b> " . $aff . "<br />"; } else { if ($r_rel->relation_type != $r_type_local) { $r_type_local = $r_rel->relation_type; if ($ul_opened) { $display_isbd .= "</ul>"; $display_isbd .= "\n<b>" . $relation_listup->table[$r_rel->relation_type] . "</b>"; $display_isbd .= "\n<ul class='notice_rel'>\n"; $ul_opened = true; } else { $display_isbd .= "\n<br />"; $display_isbd .= "\n<b>" . $relation_listup->table[$r_rel->relation_type] . "</b>"; $display_isbd .= "\n<ul class='notice_rel'>\n"; $ul_opened = true; } } $display_isbd .= "\n<li>" . $aff . "</li>\n"; } } if ($ul_opened) { $display_isbd .= "\n</ul>\n"; } } // fin du niveau 1 if ($obj->level == 1) { if ($obj->show_explnum) { $explnum = show_explnum_per_notice($obj->notice_id, 0, $obj->lien_explnum); if ($explnum) { $display_isbd .= "<br /><b>{$msg['explnum_docs_associes']}</b><br />" . $explnum; } if ($obj->notice->niveau_biblio == 'a' && $obj->notice->niveau_hierar == '2' && SESSrights & CATALOGAGE_AUTH && $obj->bouton_explnum) { $display_isbd .= "<br /><input type='button' class='bouton' value=' {$msg['explnum_ajouter_doc']} ' onClick=\"document.location='" . $base_path . "/catalog.php?categ=serials&analysis_id={$obj->notice_id}&sub=analysis&action=explnum_form&bul_id={$obj->bul_id}'\">"; } } } } return $display_isbd; }
function do_isbd() { global $msg, $dbh, $base_path; global $fonction_auteur; global $langue_doc; global $charset; global $thesaurus_mode_pmb, $thesaurus_categories_categ_in_line, $pmb_keyword_sep; global $pmb_etat_collections_localise, $pmb_droits_explr_localises, $explr_visible_mod, $thesaurus_categories_affichage_ordre; global $categories_memo, $libelle_thesaurus_memo; global $categories_top, $use_opac_url_base, $thesaurus_categories_show_only_last; global $load_tablist_js; global $pmb_show_notice_id, $pmb_opac_url, $pmb_show_permalink; global $sort_children; $this->isbd = $this->notice->tit1; // constitution de la mention de titre $tit3 = $this->notice->tit3; $tit4 = $this->notice->tit4; if ($tit3) { $this->isbd .= " = {$tit3}"; } if ($tit4) { $this->isbd .= " : {$tit4}"; } // constitution de la mention de responsabilité $mention_resp = array(); // constitution de la mention de responsabilité //$this->responsabilites $as = array_search("0", $this->responsabilites["responsabilites"]); if ($as !== FALSE && $as !== NULL) { $auteur_0 = $this->responsabilites["auteurs"][$as]; $auteur = new auteur($auteur_0["id"]); if ($this->print_mode) { $mention_resp_lib = $auteur->isbd_entry; } else { $mention_resp_lib = $auteur->isbd_entry_lien_gestion; } if (!$this->print_mode) { $mention_resp_lib .= $auteur->author_web_link; } if ($auteur_0["fonction"]) { $mention_resp_lib .= ", " . $fonction_auteur[$auteur_0["fonction"]]; } $mention_resp[] = $mention_resp_lib; } $as = array_keys($this->responsabilites["responsabilites"], "1"); for ($i = 0; $i < count($as); $i++) { $indice = $as[$i]; $auteur_1 = $this->responsabilites["auteurs"][$indice]; $auteur = new auteur($auteur_1["id"]); if ($this->print_mode) { $mention_resp_lib = $auteur->isbd_entry; } else { $mention_resp_lib = $auteur->isbd_entry_lien_gestion; } if (!$this->print_mode) { $mention_resp_lib .= $auteur->author_web_link; } if ($auteur_1["fonction"]) { $mention_resp_lib .= ", " . $fonction_auteur[$auteur_1["fonction"]]; } $mention_resp[] = $mention_resp_lib; } $as = array_keys($this->responsabilites["responsabilites"], "2"); for ($i = 0; $i < count($as); $i++) { $indice = $as[$i]; $auteur_2 = $this->responsabilites["auteurs"][$indice]; $auteur = new auteur($auteur_2["id"]); if ($this->print_mode) { $mention_resp_lib = $auteur->isbd_entry; } else { $mention_resp_lib = $auteur->isbd_entry_lien_gestion; } if (!$this->print_mode) { $mention_resp_lib .= $auteur->author_web_link; } if ($auteur_2["fonction"]) { $mention_resp_lib .= ", " . $fonction_auteur[$auteur_2["fonction"]]; } $mention_resp[] = $mention_resp_lib; } $libelle_mention_resp = implode("; ", $mention_resp); if ($libelle_mention_resp) { $this->isbd .= " / " . $libelle_mention_resp . " "; } // zone de l'adresse (ne concerne que s1) if ($this->notice->niveau_biblio == 's' && $this->notice->niveau_hierar == 1) { if ($this->notice->ed1_id) { $editeur = new editeur($this->notice->ed1_id); if ($this->print_mode) { $editeurs .= $editeur->isbd_entry; } else { $editeurs .= $editeur->isbd_entry_lien_gestion; } } if ($this->notice->ed2_id) { $editeur = new editeur($this->notice->ed2_id); if ($this->print_mode) { $ed_isbd = $editeur->isbd_entry; } else { $ed_isbd = $editeur->isbd_entry_lien_gestion; } if ($editeurs) { $editeurs .= ' ; ' . $ed_isbd; } else { $editeurs .= $ed_isbd; } } if ($this->notice->year) { $editeurs ? $editeurs .= ', ' . $this->notice->year : ($editeurs = $this->notice->year); } //else //$editeurs ? $editeurs .= ', [s.d.]' : $editeurs = "[s.d.]"; if ($editeurs) { $this->isbd .= ". - {$editeurs}"; } // code ici pour la gestion des éditeurs } // zone de la collation (ne concerne que a2, mention de pagination) // pour les périodiques, on rebascule en zone de note // avec la mention du périodique parent if ($this->notice->niveau_biblio == 'a' && $this->notice->niveau_hierar == 2) { $bulletin = $this->parent_title; if ($this->parent_numero) { $bulletin .= ' ' . $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 . ")"; } else { if ($this->parent_date_date) { $date_affichee .= " [" . formatdate($this->parent_date_date) . "]"; } else { $date_affichee = ""; } } $bulletin .= $date_affichee; if ($this->action_bulletin) { $this->action_bulletin = str_replace('!!id!!', $this->bul_id, $this->action_bulletin); $bulletin = "<a href=\"" . $this->action_bulletin . "\">" . htmlentities($bulletin, ENT_QUOTES, $charset) . "</a>"; } $mention_parent = "in <b>{$bulletin}</b>"; } if ($mention_parent) { $this->isbd .= "<br />{$mention_parent}"; $pagination = htmlentities($this->notice->npages, ENT_QUOTES, $charset); if ($pagination) { $this->isbd .= ". - {$pagination}"; } } //In //Recherche des notices parentes if (!$this->no_link) { $requete = "select linked_notice, relation_type, rank, l.niveau_biblio as lnb, l.niveau_hierar as lnh from notices_relations, notices as l where num_notice=" . $this->notice_id . " and linked_notice=l.notice_id order by relation_type,rank"; $result_linked = mysql_query($requete) or die(mysql_error()); //Si il y en a, on prépare l'affichage if (mysql_num_rows($result_linked)) { global $relation_listup; if (!$relation_listup) { $relation_listup = new marc_list("relationtypeup"); } } $r_type = array(); $ul_opened = false; $r_type_local = ""; //Pour toutes les notices liées while ($r_rel = mysql_fetch_object($result_linked)) { //Pour avoir le lien par défaut if (!$this->print_mode && SESSrights & CATALOGAGE_AUTH) { $link_parent = $base_path . '/catalog.php?categ=isbd&id=!!id!!'; } else { $link_parent = ""; } if ($r_rel->lnb == 's' && $r_rel->lnh == '1') { // c'est une notice chapeau global $link_serial, $link_analysis, $link_bulletin, $link_explnum_serial; $link_serial_sub = $base_path . "/catalog.php?categ=serials&sub=view&serial_id=" . $r_rel->linked_notice; // function serial_display ($id, $level='1', $action_serial='', $action_analysis='', $action_bulletin='', $lien_suppr_cart="", $lien_explnum="", $bouton_explnum=1,$print=0,$show_explnum=1, $show_statut=0, $show_opac_hidden_fields=true, $draggable=0 ) { $serial = new serial_display($r_rel->linked_notice, 0, $link_serial_sub, $link_analysis, $link_bulletin, "", "", 0, $this->print_mode, $this->show_explnum, $this->show_statut, $this->show_opac_hidden_fields, 1, true); $aff = $serial->header; } else { if ($r_rel->lnb == 'a' && $r_rel->lnh == '2') { // c'est un dépouillement de bulletin global $link_serial, $link_analysis, $link_bulletin, $link_explnum_analysis; if (!$link_analysis) { $link_analysis = $base_path . "/catalog.php?categ=serials&sub=bulletinage&action=view&bul_id=!!bul_id!!&art_to_show=!!id!!"; } $serial = new serial_display($r_rel->linked_notice, 0, $link_serial, $link_analysis, $link_bulletin, "", "", 0, $this->print_mode, $this->show_explnum, $this->show_statut, $this->show_opac_hidden_fields, 1, true); $aff = $serial->result; } else { if ($link_parent && $r_rel->lnb == 'b' && $r_rel->lnh == '2') { $requete = "SELECT bulletin_id FROM bulletins WHERE num_notice='" . $r_rel->linked_notice . "'"; $res = mysql_query($requete); if (mysql_num_rows($res)) { $link_parent = $base_path . "/catalog.php?categ=serials&sub=bulletinage&action=view&bul_id=" . mysql_result($res, 0, 0); } } // dans les autres cas //function mono_display($id, $level=1, $action='', $expl=1, $expl_link='', $lien_suppr_cart="", $explnum_link='', $show_resa=0, $print=0, $show_explnum=1, $show_statut=0, $anti_loop='', $draggable=0, $no_link=false, $show_opac_hidden_fields=true,$ajax_mode=0) { $parent_notice = new mono_display($r_rel->linked_notice, 0, $link_parent, 1, '', "", '', 0, $this->print_mode, $this->show_explnum, $this->show_statut, '', 1, true, $this->show_opac_hidden_fields, 0); $aff = $parent_notice->header; $this->nb_expl += $parent_notice->nb_expl; } } //Présentation différente si il y en a un ou plusieurs if (mysql_num_rows($result_linked) == 1) { $this->isbd .= "<br /><b>" . $relation_listup->table[$r_rel->relation_type] . "</b> " . $aff . "<br />"; } else { if ($r_rel->relation_type != $r_type_local) { $r_type_local = $r_rel->relation_type; if ($ul_opened) { $this->isbd .= "</ul>"; $this->isbd .= "\n<b>" . $relation_listup->table[$r_rel->relation_type] . "</b>"; $this->isbd .= "\n<ul class='notice_rel'>\n"; $ul_opened = true; } else { $this->isbd .= "\n<br />"; $this->isbd .= "\n<b>" . $relation_listup->table[$r_rel->relation_type] . "</b>"; $this->isbd .= "\n<ul class='notice_rel'>\n"; $ul_opened = true; } } $this->isbd .= "\n<li>" . $aff . "</li>\n"; } } if ($ul_opened) { $this->isbd .= "\n</ul>\n"; } } if ($pmb_show_notice_id || $pmb_show_permalink) { $this->isbd .= "<br />"; } if ($pmb_show_notice_id) { $prefixe = explode(",", $pmb_show_notice_id); $this->isbd .= "<b>" . $msg['notice_id_libelle'] . " </b>" . ($prefixe[1] ? $prefixe[1] : '') . $this->notice_id . "<br />"; } // Permalink OPAC if ($pmb_show_permalink) { $this->isbd .= "<b>" . $msg["notice_permalink_opac"] . " </b><a href='" . $pmb_opac_url . "index.php?lvl=notice_display&id=" . $this->notice_id . "' target=\"__LINK__\">" . $pmb_opac_url . "index.php?lvl=notice_display&id=" . $this->notice_id . "</a><br />"; } // fin du niveau 1 if ($this->level == 1) { if ($this->show_explnum) { $explnum = show_explnum_per_notice($this->notice_id, 0, $this->lien_explnum); if ($explnum) { $this->isbd .= "<br /><b>{$msg['explnum_docs_associes']}</b><br />" . $explnum; } if ($this->notice->niveau_biblio == 'a' && $this->notice->niveau_hierar == '2' && SESSrights & CATALOGAGE_AUTH && $this->bouton_explnum) { $this->isbd .= "<br /><input type='button' class='bouton' value=' {$msg['explnum_ajouter_doc']} ' onClick=\"document.location='" . $base_path . "/catalog.php?categ=serials&analysis_id={$this->notice_id}&sub=analysis&action=explnum_form&bul_id={$this->bul_id}'\">"; } } return; } // début du niveau 2 // note générale if ($this->notice->n_gen) { $this->isbd .= "<br /><b>{$msg['265']}</b>: " . nl2br(htmlentities($this->notice->n_gen, ENT_QUOTES, $charset)); } // note de contenu : non-applicable aux périodiques ??? Ha bon pourquoi ? if ($this->notice->n_contenu) { $this->isbd .= "<br /><b>{$msg['266']}</b>: " . nl2br($this->notice->n_contenu); } // résumé if ($this->notice->n_resume) { $this->isbd .= "<br /><b>{$msg['267']}</b>: " . nl2br($this->notice->n_resume); } // fin du niveau 2 if ($this->level == 2) { return; } // début du niveau 3 // fin du niveau 3 if ($this->level == 3) { return; } // début du niveau 4 // catégories $categ_repetables = array(); if (!count($categories_top)) { $q = "select num_thesaurus,id_noeud from noeuds where num_parent in(select id_noeud from noeuds where autorite='TOP') "; $r = mysql_query($q, $dbh); while ($res = mysql_fetch_object($r)) { $categories_top[] = $res->id_noeud; } } $requete = "select * from (\n\t\t\tselect libelle_thesaurus, if (catlg.num_noeud is null, catdef.libelle_categorie, catlg.libelle_categorie ) as categ_libelle, noeuds.id_noeud , noeuds.num_parent, langue_defaut,id_thesaurus, if(catdef.langue = '" . $lang . "',2, if(catdef.langue= thesaurus.langue_defaut ,1,0)) as p, ordre_vedette, ordre_categorie\n\t\t\tFROM ((noeuds\n\t\t\tjoin thesaurus ON thesaurus.id_thesaurus = noeuds.num_thesaurus\n\t\t\tleft join categories as catdef on noeuds.id_noeud=catdef.num_noeud and catdef.langue = thesaurus.langue_defaut\n\t\t\tleft join categories as catlg on catdef.num_noeud = catlg.num_noeud and catlg.langue = '" . $lang . "'))\n\t\t\t,notices_categories\n\t\t\twhere notices_categories.num_noeud=noeuds.id_noeud and\n\t\t\tnotices_categories.notcateg_notice=" . $this->notice_id . "\torder by id_thesaurus, noeuds.id_noeud, p desc\n\t\t\t) as list_categ group by id_noeud"; if ($thesaurus_categories_affichage_ordre == 1) { $requete .= " order by ordre_vedette, ordre_categorie"; } $result_categ = @mysql_query($requete); if (mysql_num_rows($result_categ)) { while ($res_categ = mysql_fetch_object($result_categ)) { $libelle_thesaurus = $res_categ->libelle_thesaurus; $categ_id = $res_categ->id_noeud; $libelle_categ = $res_categ->categ_libelle; $num_parent = $res_categ->num_parent; $langue_defaut = $res_categ->langue_defaut; $categ_head = 0; if (in_array($categ_id, $categories_top)) { $categ_head = 1; } if ($thesaurus_categories_show_only_last || $categ_head) { if ($use_opac_url_base) { $url_base_lien_aut = $opac_url_base . "index.php?&lvl=categ_see&id="; } else { $url_base_lien_aut = $base_path . "/autorites.php?categ=categories&sub=categ_form&id="; } if ((SESSrights & AUTORITES_AUTH || $use_opac_url_base) && !$this->print_mode) { $libelle_aff_complet = "<a href='" . $url_base_lien_aut . $categ_id . "' class='lien_gestion'>" . $libelle_categ . "</a>"; } else { $libelle_aff_complet = $libelle_categ; } if ($thesaurus_mode_pmb) { $categ_repetables[$libelle_thesaurus][] = $libelle_aff_complet; } else { $categ_repetables['MONOTHESAURUS'][] = $libelle_aff_complet; } } else { if (!$categories_memo[$categ_id]) { $anti_recurse[$categ_id] = 1; $path_table = ''; $requete = "select id_noeud as categ_id, num_noeud, num_parent as categ_parent, libelle_categorie as categ_libelle, num_renvoi_voir as categ_see, note_application as categ_comment, if(langue = '" . $lang . "',2, if(langue= '" . $langue_defaut . "' ,1,0)) as p\n\t\t\t\t\t\t\tFROM noeuds, categories where id_noeud ='" . $num_parent . "'\n\t\t\t\t\t\t\tAND noeuds.id_noeud = categories.num_noeud\n\t\t\t\t\t\t\torder by p desc limit 1"; $result = @mysql_query($requete); if (mysql_num_rows($result)) { $parent = mysql_fetch_object($result); $anti_recurse[$parent->categ_id] = 1; $path_table[] = array('id' => $parent->categ_id, 'libelle' => $parent->categ_libelle); // on remonte les ascendants while ($parent->categ_parent && !$anti_recurse[$parent->categ_parent]) { $requete = "select id_noeud as categ_id, num_noeud, num_parent as categ_parent, libelle_categorie as categ_libelle,\tnum_renvoi_voir as categ_see, note_application as categ_comment, if(langue = '" . $lang . "',2, if(langue= '" . $langue_defaut . "' ,1,0)) as p\n\t\t\t\t\t\t\t\t\tFROM noeuds, categories where id_noeud ='" . $parent->categ_parent . "'\n\t\t\t\t\t\t\t\t\tAND noeuds.id_noeud = categories.num_noeud\n\t\t\t\t\t\t\t\t\torder by p desc limit 1"; $result = @mysql_query($requete); if (mysql_num_rows($result)) { $parent = mysql_fetch_object($result); $anti_recurse[$parent->categ_id] = 1; $path_table[] = array('id' => $parent->categ_id, 'libelle' => $parent->categ_libelle); } else { break; } } $anti_recurse = array(); } else { $path_table = array(); } // ceci remet le tableau dans l'ordre général->particulier $path_table = array_reverse($path_table); if (sizeof($path_table)) { $temp_table = ''; while (list($xi, $l) = each($path_table)) { $temp_table[] = $l['libelle']; } $parent_libelle = join(':', $temp_table); $catalog_form = $parent_libelle . ':' . $libelle_categ; } else { $catalog_form = $libelle_categ; } if ($use_opac_url_base) { $url_base_lien_aut = $opac_url_base . "index.php?&lvl=categ_see&id="; } else { $url_base_lien_aut = $base_path . "/autorites.php?categ=categories&sub=categ_form&id="; } if ((SESSrights & AUTORITES_AUTH || $use_opac_url_base) && !$this->print_mode) { $libelle_aff_complet = "<a href='" . $url_base_lien_aut . $categ_id . "' class='lien_gestion'>" . $catalog_form . "</a>"; } else { $libelle_aff_complet = $catalog_form; } if ($thesaurus_mode_pmb) { $categ_repetables[$libelle_thesaurus][] = $libelle_aff_complet; } else { $categ_repetables['MONOTHESAURUS'][] = $libelle_aff_complet; } $categories_memo[$categ_id] = $libelle_aff_complet; $libelle_thesaurus_memo[$categ_id] = $libelle_thesaurus; } else { if ($thesaurus_mode_pmb) { $categ_repetables[$libelle_thesaurus_memo[$categ_id]][] = $categories_memo[$categ_id]; } else { $categ_repetables['MONOTHESAURUS'][] = $categories_memo[$categ_id]; } } } } } while (list($nom_tesaurus, $val_lib) = each($categ_repetables)) { //c'est un tri par libellé qui est demandé if ($thesaurus_categories_affichage_ordre == 0) { $tmp = array(); foreach ($val_lib as $key => $value) { $tmp[$key] = strip_tags($value); } $tmp = array_map("convert_diacrit", $tmp); //On enlève les accents $tmp = array_map("strtoupper", $tmp); //On met en majuscule asort($tmp); //Tri sur les valeurs en majuscule sans accent foreach ($tmp as $key => $value) { $tmp[$key] = $val_lib[$key]; //On reprend les bons couples clé / libellé } $val_lib = $tmp; } if ($thesaurus_mode_pmb) { if (!$thesaurus_categories_categ_in_line) { $categ_repetables_aff = "[" . $nom_tesaurus . "]" . implode("<br />[" . $nom_tesaurus . "]", $val_lib); } else { $categ_repetables_aff = "<b>" . $nom_tesaurus . "</b><br />" . implode(" {$pmb_keyword_sep} ", $val_lib); } } else { if (!$thesaurus_categories_categ_in_line) { $categ_repetables_aff = implode("<br />", $val_lib); } else { $categ_repetables_aff = implode(" {$pmb_keyword_sep} ", $val_lib); } } if ($categ_repetables_aff) { $tmpcateg_aff .= "<br />{$categ_repetables_aff}"; } } if ($tmpcateg_aff) { $this->isbd .= "<br />{$tmpcateg_aff}"; } // fin du niveau 4 if ($this->level == 4) { return; } // début du niveau 5 // langues if (count($this->langues)) { $langues = "<b>{$msg[537]}</b> : " . construit_liste_langues($this->langues); } if (count($this->languesorg)) { $langues .= " <b>{$msg[711]}</b> : " . construit_liste_langues($this->languesorg); } if ($langues) { $this->isbd .= "<br />{$langues}"; } // indexation libre if ($this->notice->index_l) { $this->isbd .= "<br /><b>{$msg[324]}</b> : " . htmlentities($this->notice->index_l, ENT_QUOTES, $charset); } // indexation interne if ($this->notice->indexint) { $indexint = new indexint($this->notice->indexint); if ($this->print_mode) { $indexint_isbd = $indexint->display; } else { $indexint_isbd = $indexint->isbd_entry_lien_gestion; } $this->isbd .= "<br /><b>{$msg[indexint_catal_title]}</b> : " . $indexint_isbd; } //code (ISSN,...) if ($this->notice->code) { $this->isbd .= "<br /><b>{$msg[165]}</b> : " . $this->notice->code; } //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 < count($perso_["FIELDS"]); $i++) { $p = $perso_["FIELDS"][$i]; // ajout de && ($p['OPAC_SHOW']||$this->show_opac_hidden_fields) afin de masquer les champs masqué de l'POAC en diff de bannette. if ($p["AFF"] && ($p['OPAC_SHOW'] || $this->show_opac_hidden_fields)) { $perso_aff .= "<br />" . $p["TITRE"] . " " . $p["AFF"]; } } } if ($perso_aff) { $this->isbd .= $perso_aff; } //Notices liées if (count($this->childs) && !$this->print_mode && !$this->no_link) { $link = $base_path . '/catalog.php?categ=isbd&id=!!id!!'; $link_expl = $base_path . '/catalog.php?categ=edit_expl&id=!!notice_id!!&cb=!!expl_cb!!&expl_id=!!expl_id!!'; $link_explnum = $base_path . '/catalog.php?categ=edit_explnum&id=!!notice_id!!&explnum_id=!!explnum_id!!'; global $relation_typedown; if (!$relation_typedown) { $relation_typedown = new marc_list("relationtypedown"); } reset($this->childs); if (!$load_tablist_js) { $aff_childs = "<script type='text/javascript' src='" . $base_path . "/javascript/tablist.js'></script>\n"; } $aff_childs .= "<br />"; $load_tablist_js = 1; $anti_loop = $this->anti_loop; $anti_loop[] = $this->notice_id; $n_childs = 0; while ((list($rel_type, $child_notices) = each($this->childs)) && $n_childs < 50) { $aff_intermediaire = ""; for ($i = 0; $i < count($child_notices); $i++) { $as = array_search($child_notices[$i], $anti_loop); if ($as === false) { global $pmb_notice_fille_format; if ($pmb_notice_fille_format) { $level_fille = 0; } else { $level_fille = 6; } // il faut aller chercher le niveau biblio et niveau hierar de la notice liée $requete_nbnh = "select l.niveau_biblio as lnb, l.niveau_hierar as lnh, rank from notices as l join notices_relations on num_notice=notice_id where notice_id='" . $child_notices[$i] . "' "; $r_rel = mysql_fetch_object(mysql_query($requete_nbnh)); if ($r_rel->rank != $i) { $req = "update notices_relations set rank='{$i}' where num_notice='" . $child_notices[$i] . "' and relation_type='" . $rel_type . "' and linked_notice='" . $anti_loop[count($serial->anti_loop) - 1] . "'"; mysql_query($req, $dbh); } if ($r_rel->lnb == 'a' && $r_rel->lnh == '2') { // c'est un dépouillement de bulletin global $link_serial, $link_analysis, $link_bulletin, $link_explnum_analysis; if (!$link_analysis) { $link_analysis = $base_path . "/catalog.php?categ=serials&sub=bulletinage&action=view&bul_id=!!bul_id!!&art_to_show=!!id!!"; } $serial = new serial_display($child_notices[$i], $level_fille, $link_serial, $link_analysis, $link_bulletin, "", $link_explnum_analysis, 0, 0, 1, 1); if (count($serial->anti_loop) == 1 && $sort_children) { //Drag pour trier les notices filles $id_elt = $serial->notice_id . ($serial->anti_loop ? "_p" . implode("_", $serial->anti_loop) : ""); $drag_fille = "<div id=\"drag_" . $id_elt . "\" handler=\"handle_" . $id_elt . "\" dragtype='daughter' draggable='yes' recepttype='daughter' recept='yes'\n\t\t\t\t\t\t\t\t\tdragicon=\"" . $base_path . "/images/icone_drag_notice.png\" dragtext='" . htmlentities($serial->tit1, ENT_QUOTES, $charset) . "' callback_before=\"is_expandable\"\n\t\t\t\t\t\t\t\t\tcallback_after=\"\" downlight=\"noti_downlight\" highlight=\"noti_highlight\" fille='{$child_notices[$i]}' pere='" . $anti_loop[count($serial->anti_loop) - 1] . "' order='{$i}' type_rel=\"{$rel_type}\">"; $drag_fille .= "<span id=\"handle_" . $id_elt . "\" style=\"float:left; padding-right : 7px\"><img src=\"" . $base_path . "/images/sort.png\" style='width:12px; vertical-align:middle' /></span>"; $display_fille = $serial->result; } else { $drag_fille = ""; $display_fille = $pmb_notice_fille_format ? "<li>" . $serial->result . "</li>" : $serial->result; } $aff = $drag_fille . $display_fille; if ($drag_fille) { $aff .= "</div>"; } } elseif ($r_rel->lnb == 'b' && $r_rel->lnh == '2') { // c'est une notice de bulletin, on n'affiche rien en aff de notice chapeau //On décrémente pour neutraliser l'incrément ultérieur : on ne compte pas les liens vers notices de bulletin dans la limite de liens affichés $n_childs--; $aff = ""; } elseif ($r_rel->lnb == 's' && $r_rel->lnh == '1') { // c'est une notice de pério global $link_serial, $link_analysis, $link_bulletin, $link_explnum_serial; $link_serial_sub = $base_path . "/catalog.php?categ=serials&sub=view&serial_id=" . $child_notices[$i]; $serial = new serial_display($child_notices[$i], $level_fille, $link_serial_sub, $link_analysis, $link_bulletin, "", $link_explnum_serial, 0, $this->print_mode, 1, 1, 1, 0, 0, $anti_loop); if (count($serial->anti_loop) == 1 && $sort_children) { //Drag pour trier les notices filles $id_elt = $serial->notice_id . ($serial->anti_loop ? "_p" . implode("_", $serial->anti_loop) : ""); $drag_fille = "<div id=\"drag_" . $id_elt . "\" handler=\"handle_" . $id_elt . "\" dragtype='daughter' draggable='yes' recepttype='daughter' recept='yes'\n\t\t\t\t\t\t\t\t\tdragicon=\"" . $base_path . "/images/icone_drag_notice.png\" dragtext='" . htmlentities($serial->tit1, ENT_QUOTES, $charset) . "' callback_before=\"is_expandable\"\n\t\t\t\t\t\t\t\t\tcallback_after=\"\" downlight=\"noti_downlight\" highlight=\"noti_highlight\" fille='{$child_notices[$i]}' pere='" . $anti_loop[count($serial->anti_loop) - 1] . "' order='{$i}' type_rel=\"{$rel_type}\">"; $drag_fille .= "<span id=\"handle_" . $id_elt . "\" style=\"float:left; padding-right : 7px\"><img src=\"" . $base_path . "/images/sort.png\" style='width:12px; vertical-align:middle' /></span>"; $display_fille = $serial->result; } else { $drag_fille = ""; $display_fille = $pmb_notice_fille_format ? "<li>" . $serial->result . "</li>" : $serial->result; } $aff = $drag_fille . $display_fille; if ($drag_fille) { $aff .= "</div>"; } } else { $display = new mono_display($child_notices[$i], $level_fille, $link, 1, $link_expl, '', $link_explnum, 1, 0, 1, 1, $anti_loop, $this->drag); if (count($display->anti_loop) == 1 && $sort_children) { //Drag pour trier les notices filles $id_elt = $display->notice_id . ($display->anti_loop ? "_p" . implode("_", $display->anti_loop) : ""); $drag_fille = "<div id=\"drag_" . $id_elt . "\" handler=\"handle_" . $id_elt . "\" dragtype='daughter' draggable='yes' recepttype='daughter' recept='yes'\n\t\t\t\t\t\t\t\t\tdragicon=\"" . $base_path . "/images/icone_drag_notice.png\" dragtext='" . htmlentities($display->tit1, ENT_QUOTES, $charset) . "' callback_before=\"is_expandable\"\n\t\t\t\t\t\t\t\t\tcallback_after=\"\" downlight=\"noti_downlight\" highlight=\"noti_highlight\" fille='{$child_notices[$i]}' pere='" . $anti_loop[count($display->anti_loop) - 1] . "' order='{$i}' type_rel=\"{$rel_type}\" >"; $drag_fille .= "<span id=\"handle_" . $id_elt . "\" style=\"float:left; padding-right : 7px\"><img src=\"" . $base_path . "/images/sort.png\" style='width:12px; vertical-align:middle' /></span>"; $display_fille = $display->result; } else { $drag_fille = ""; $display_fille = $pmb_notice_fille_format ? "<li>" . $display->result . "</li>" : $display->result; } $display->result = str_replace("<!-- !!bouton_modif!! -->", " ", $display->result); $aff = $drag_fille . $display_fille; $this->nb_expl += $display->nb_expl; if ($drag_fille) { $aff .= "</div>"; } } $aff_intermediaire .= $aff; } $n_childs++; } if ($aff_intermediaire) { $aff_childs .= "<b>" . $relation_typedown->table[$rel_type] . "</b>"; $aff_childs .= "<blockquote>"; if ($pmb_notice_fille_format) { $aff_childs .= "<ul class='notice_rel'>"; } $aff_childs .= $aff_intermediaire; if ($pmb_notice_fille_format) { $aff_childs .= "</ul>"; } $aff_childs .= "</blockquote>"; } } $this->isbd .= $aff_childs; } $this->do_image($this->isbd); $this->isbd .= "<!-- !!avis_notice!! -->"; //Documents numériques if ($this->show_explnum) { $explnum = show_explnum_per_notice($this->notice_id, 0, $this->lien_explnum); if ($explnum) { $this->isbd .= "<br /><b>{$msg['explnum_docs_associes']}</b><br />" . $explnum; } if ($this->notice->niveau_biblio == 'a' && $this->notice->niveau_hierar == '2' && SESSrights & CATALOGAGE_AUTH && $this->bouton_explnum) { $this->isbd .= "<br /><input type='button' class='bouton' value=' {$msg['explnum_ajouter_doc']} ' onClick=\"document.location='" . $base_path . "/catalog.php?categ=serials&analysis_id={$this->notice_id}&sub=analysis&action=explnum_form&bul_id={$this->bul_id}'\">"; } } // fin du niveau 5 if ($this->level == 5) { return; } // début du niveau 6 if ($this->notice->niveau_biblio == "s") { // Si notice-mère alors on compte le nombre de numéros (bulletins) $this->isbd .= $this->get_etat_periodique(); $this->isbd .= $this->print_etat_periodique(); //état des collections $collstate = new collstate(0, $this->notice_id); //$this->isbd.= $collstate->get_callstate_isbd(); if ($pmb_etat_collections_localise) { $collstate->get_display_list("", 0, 0, 0, 1, 0, true); } else { $collstate->get_display_list("", 0, 0, 0, 0, 0, true); } if ($collstate->nbr) { $this->isbd .= "<br /><b>" . $msg["abts_onglet_collstate"] . "</b><br />"; $this->isbd .= $collstate->liste; } } // fin du niveau 6 return; }