Exemple #1
0
                 }
                 pmb_mysql_query($rqt_maj, $dbh);
             }
             print planning_list(0, 0, 0, '', '', GESTION_INFO_GESTION);
             break;
         case 'to_resa':
             if (count($resa_check)) {
                 foreach ($resa_check as $k => $id_rp) {
                     $rp = new resa_planning($id_rp);
                     $rp->to_resa();
                 }
             }
             print planning_list(0, 0, 0, '', '', GESTION_INFO_GESTION);
             break;
         default:
             print planning_list(0, 0, 0, '', '', GESTION_INFO_GESTION);
             break;
     }
     break;
 case 'pret':
     switch ($action) {
         case 'suppr_resa':
             //Suppression réservation depuis fiche lecteur
             resa_planning::delete($id_resa);
             break;
         default:
             break;
     }
     break;
 default:
     break;
Exemple #2
0
 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 .= "&nbsp;/ {$libelle_mention_resp}";
     }
     // mention d'édition
     if ($this->notice->mention_edition) {
         $this->isbd .= ".&nbsp;-&nbsp;" . $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 .= '&nbsp;; ' . $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 .= ".&nbsp;-&nbsp;{$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 .= ".&nbsp;-&nbsp;{$collation}";
     }
     if ($collections) {
         if ($this->notice->nocoll) {
             $collections .= '; ' . $this->notice->nocoll;
         }
         $this->isbd .= ".&nbsp;-&nbsp;({$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 .= '.&nbsp;-&nbsp;ISBN ';
             } else {
                 $zoneNote = 'ISBN ';
             }
         } else {
             if ($zoneNote) {
                 $zoneNote .= '.&nbsp;-&nbsp;';
             }
         }
         $zoneNote .= $this->notice->code;
     }
     if ($this->notice->prix) {
         if ($this->notice->code) {
             $zoneNote .= '&nbsp;: ' . $this->notice->prix;
         } else {
             if ($zoneNote) {
                 $zoneNote .= '&nbsp; ' . $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'] . "&nbsp;</b>" . ($prefixe[1] ? $prefixe[1] : '') . $this->notice_id . "<br />";
     }
     // Permalink OPAC
     if ($pmb_show_permalink) {
         $this->isbd .= "<b>" . $msg["notice_permalink_opac"] . "&nbsp;</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>&nbsp;: ".nl2br(htmlentities($this->notice->n_resume,ENT_QUOTES, $charset));
         $this->isbd .= "<br /><b>{$msg[267]}</b>&nbsp;: " . nl2br($this->notice->n_resume);
     }
     // note de contenu
     if ($this->notice->n_contenu) {
         // $this->isbd .= "<br /><b>${msg[266]}</b>&nbsp;: ".nl2br(htmlentities($this->notice->n_contenu,ENT_QUOTES, $charset));
         $this->isbd .= "<br /><b>{$msg[266]}</b>&nbsp;: " . 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>&nbsp;: " . construit_liste_langues($this->langues);
     }
     if (count($this->languesorg)) {
         $langues .= " <b>{$msg[711]}</b>&nbsp;: " . 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>&nbsp;: " . 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>&nbsp;: " . $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;
 }
Exemple #3
0
             }
             print pmb_bidi(planning_list(0, 0, "", GESTION_INFO_GESTION));
             break;
         case 'modif_resa':
             for ($i = 0; $i < count($resa_check); $i++) {
                 $key = $resa_check[$i];
                 $rqt_maj = "update resa_planning set resa_validee=0 where id_resa in (" . $resa_check[$i] . ") and resa_confirmee=0 ";
                 if ($id_empr[$resa_check[$i]]) {
                     $rqt_maj .= " and resa_idempr=" . $id_empr[$resa_check[$i]];
                 }
                 mysql_query($rqt_maj, $dbh);
             }
             print pmb_bidi(planning_list(0, 0, "", GESTION_INFO_GESTION));
             break;
         default:
             print pmb_bidi(planning_list(0, 0, "", GESTION_INFO_GESTION));
             break;
     }
     break;
 case 'pret':
     switch ($action) {
         case 'suppr_resa':
             //Suppression réservation depuis fiche lecteur
             resa_planning::delete($id_resa);
             break;
         default:
             break;
     }
     break;
 default:
     break;
Exemple #4
0
function show_bulletinage_info_catalogage($bul_id, $show_in_receptions = false)
{
    global $dbh, $msg, $charset, $base_path;
    global $liste_script;
    global $liste_debut;
    global $liste_fin;
    global $bul_action_bar;
    global $bul_cb_form;
    global $cart_click_bull;
    global $pmb_droits_explr_localises;
    global $explr_visible_mod;
    global $flag_no_delete_bulletin;
    global $pmb_resa_planning;
    $form = '';
    if ($bul_id) {
        if (!$show_in_receptions) {
            $myBul = new bulletinage($bul_id, 0, "./catalog.php?categ=serials&sub=bulletinage&action=explnum_form&bul_id={$bul_id}&explnum_id=!!explnum_id!!");
            $affichage_expl = get_expl($myBul->expl);
            $cpt_expl = get_expl($myBul->expl, 0, true);
        } else {
            $myBul = new bulletinage($bul_id, 0, '');
            $affichage_expl = get_expl($myBul->expl, 1);
            $cpt_expl = get_expl($myBul->expl, 1, true);
        }
        $bul_titre = $myBul->bulletin_titre;
        $bul_isbd = $myBul->display;
        $aff_expl_num = $myBul->explnum;
        $txt_drag = "";
        if ($myBul->bulletin_numero) {
            $txt_drag .= $myBul->bulletin_numero . " ";
        }
        if ($myBul->mention_date) {
            $txt_drag .= " (" . $myBul->mention_date . ") ";
        }
        $txt_drag .= "[" . $myBul->aff_date_date . "]";
        if (!$show_in_receptions) {
            // lien vers la notice chapeau
            $link_parent = "<a href=\"./catalog.php?categ=serials\">";
            $link_parent .= $msg[4010] . "</a>";
            $link_parent .= "<img src=\"./images/d.gif\" align=\"middle\" hspace=\"5\">";
            $link_parent .= "<a href=\"./catalog.php?categ=serials&sub=view&serial_id=";
            $link_parent .= $myBul->bulletin_notice . "\">" . $myBul->tit1 . '</a>';
            $link_parent .= "<img src=\"./images/d.gif\" align=\"middle\" hspace=\"5\">";
            $link_parent .= $txt_drag;
            if ($bul_titre) {
                $link_parent .= " : " . htmlentities($bul_titre, ENT_QUOTES, $charset);
            }
            $form .= "<div class='row'><div class='perio-barre'>" . $link_parent . "</div></div>";
            $cart_link = "<img src='./images/basket_small_20x20.gif' align='middle' alt='basket' title=\"{$msg[400]}\" {$cart_click_bull}>";
            $cart_link = str_replace('!!item!!', $bul_id, $cart_link);
            $cart_link .= "<span id='BULL_drag_" . $bul_id . "'  dragicon=\"{$base_path}/images/icone_drag_notice.png\" dragtext=\"" . htmlentities($txt_drag, ENT_QUOTES, $charset) . "\" draggable=\"yes\" dragtype=\"notice\" callback_before=\"show_carts\" callback_after=\"\" style=\"padding-left:7px\"><img src=\"" . $base_path . "/images/notice_drag.png\"/></span>";
            $bul_action_bar = str_replace('!!bul_id!!', $bul_id, $bul_action_bar);
            $bul_action_bar = str_replace('!!serial_id!!', $myBul->bulletin_notice, $bul_action_bar);
            $bul_action_bar = str_replace('!!nb_expl!!', sizeof($myBul->expl), $bul_action_bar);
            global $avis_quoifaire, $valid_id_avis;
            if ($myBul->bull_num_notice) {
                $bul_isbd = str_replace('<!-- !!avis_notice!! -->', avis_notice($myBul->bull_num_notice, $avis_quoifaire, $valid_id_avis), $bul_isbd);
            }
            if (!$flag_no_delete_bulletin) {
                $bul_action_bar = str_replace("!!bulletin_delete_button!!", "<input type='button' class='bouton' onclick=\"confirm_bul_delete();\" value='{$msg['63']}' />", $bul_action_bar);
            } else {
                $bul_action_bar = str_replace("!!bulletin_delete_button!!", "", $bul_action_bar);
            }
            if ($myBul->bull_num_notice) {
                $form .= $liste_script;
            }
            $form .= "\n\t\t\t<div class='bulletins-perio'>\n\t\t\t\t<div class='row'>\n\t\t\t\t\t<h2>{$cart_link} {$bul_isbd}</h2>\n\t\t\t\t\t</div>\n\t\t\t\t<div class='row'>\n\t\t\t\t\t{$bul_action_bar}\n\t\t\t\t\t</div>\n\t\t\t\t</div>";
            // affichage des exemplaires associés
            $list_expl = "<div class='exemplaires-perio'>";
            $list_expl .= "<h3>" . $msg[4012] . " (" . $cpt_expl . ")</h3>";
            $list_expl .= "<div class='row'>" . $affichage_expl . "</div></div>";
            $form .= $list_expl;
            if ($aff_expl_num) {
                $list_expl = "<div class='exemplaires-perio'><h3>" . $msg[explnum_docs_associes] . " (" . $myBul->nbexplnum . ")</h3>";
                $list_expl .= "<div class='row'>" . $aff_expl_num . "</div></div>";
                $form .= $list_expl;
            }
            if (!$explr_visible_mod && $pmb_droits_explr_localises == 1) {
                $etiquette_expl = "";
                $btn_ajouter_expl = "";
                $saisie_num_expl = "<div class='colonne10'><img src='./images/error.png' /></div>";
                $saisie_num_expl .= "<div class='colonne-suite'><span class='erreur'>" . $msg["err_add_invis_expl"] . "</span></div>";
            } else {
                $etiquette_expl = "<div class='row'>\n\t\t\t\t\t\t\t<label class='etiquette' for='form_cb'>{$msg['291']}</label>\n\t\t\t\t\t\t\t</div>";
                $btn_ajouter_expl = "<input type='submit' class='bouton' value=' {$msg['expl_ajouter']} ' onClick=\"return test_form(this.form)\">";
                global $pmb_numero_exemplaire_auto;
                if ($pmb_numero_exemplaire_auto == 1 || $pmb_numero_exemplaire_auto == 3) {
                    $num_exemplaire_auto = " {$msg['option_num_auto']} <INPUT type=checkbox name='option_num_auto' value='num_auto' checked >";
                }
                $saisie_num_expl = "<input type='text' class='saisie-20em' name='noex' value=''>" . $num_exemplaire_auto;
            }
            $req = "select * from serialcirc_copy, bulletins where num_serialcirc_copy_bulletin=bulletin_id and bulletin_id= {$bul_id}";
            $resultat = pmb_mysql_query($req);
            $i = 0;
            if (pmb_mysql_num_rows($resultat)) {
                $btn_print_ask = "<input type='button' class='bouton' value=' " . $msg["serialcirc_circ_list_reproduction_isdone_bt"] . " ' onClick=\"document.location='./catalog.php?categ=serials&sub=bulletinage&action=copy_isdone&bul_id=" . $bul_id . "';\" />";
            }
            $bul_cb_form = str_replace('!!bul_id!!', $bul_id, $bul_cb_form);
            $bul_cb_form = str_replace('!!etiquette!!', $etiquette_expl, $bul_cb_form);
            $bul_cb_form = str_replace('!!saisie_num_expl!!', $saisie_num_expl, $bul_cb_form);
            $bul_cb_form = str_replace('!!btn_ajouter!!', $btn_ajouter_expl, $bul_cb_form);
            $bul_cb_form = str_replace('!!btn_print_ask!!', $btn_print_ask, $bul_cb_form);
            $form .= "<div class='row'>" . $bul_cb_form . "</div>";
            // zone d'affichage des dépouillements
            $liste = get_analysis($bul_id);
            if ($liste) {
                $icones_exp .= $liste_debut . "&nbsp;<img src='./images/basket_small_20x20.gif' align='middle' alt='basket' title='" . $msg[400] . "' onClick=\"openPopUp('./cart.php?object_type=BULL&item=" . $bul_id . "&what=DEP', 'cart', 500, 400, -2, -2, 'toolbar=no, dependent=yes, resizable=yes, scrollbars=yes')\">";
                $liste_dep = $liste;
                $liste_dep .= $liste_fin;
                // inclusion du javascript inline
                $liste_dep .= !$myBul->bull_num_notice ? $liste_script : "";
            } else {
                $icones_exp .= "";
                $liste_dep .= "<div class='row'>" . $msg['bulletin_no_analysis'] . "</div>";
            }
            $link_new_dep = "<input type='button' class='bouton' value=' {$msg['4021']} ' onClick=\"document.location='./catalog.php?categ=serials&sub=analysis&action=analysis_form&bul_id={$bul_id}&analysis_id=0';\" />";
            $form .= "\n\t\t\t\t<div class='depouillements-perio'>\n\t\t\t\t\t<h3>" . $msg[4013] . $icones_exp . " {$link_new_dep}</h3>\n\t\t\t\t\t<div class='row'>\n\t\t\t\t\t\t{$liste_dep}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>";
            //reservations et previsions
            $rqt_nt = "select count(*) from exemplaires, bulletins, docs_statut where exemplaires.expl_statut=docs_statut.idstatut and bulletins.bulletin_id=exemplaires.expl_bulletin and pret_flag=1 and bulletins.bulletin_id=" . $bul_id;
            $result = pmb_mysql_query($rqt_nt, $dbh) or die($rqt_nt . " " . pmb_mysql_error());
            $nb_expl_reservables = pmb_mysql_result($result, 0, 0);
            $aff_resa = resa_list(0, $bul_id, 0);
            $ouvrir_reserv = "onclick=\"parent.location.href='./circ.php?categ=resa_from_catal&id_bulletin=" . $bul_id . "'; return(false) \"";
            if ($aff_resa) {
                $form .= "<b>" . $msg['resas'] . "</b><br />";
                if ($nb_expl_reservables) {
                    $form .= "<input type='button' class='bouton' value='" . $msg[351] . "' {$ouvrir_reserv}><br /><br />";
                }
                $form .= $aff_resa . "<br />";
            } else {
                if ($nb_expl_reservables) {
                    $form .= "<b>" . $msg['resas'] . "</b><br /><input type='button' class='bouton' value='" . $msg[351] . "' {$ouvrir_reserv}><br /><br />";
                }
            }
            if ($pmb_resa_planning) {
                $aff_resa_planning = planning_list(0, $bul_id, 0);
                //TODO
                $ouvrir_reserv = "onclick=\"parent.location.href='" . $base_path . "/circ.php?categ=resa_planning_from_catal&id_bulletin=" . $bul_id . "'; return(false) \"";
                if ($aff_resa_planning) {
                    $form .= "<b>" . $msg['resas_planning'] . "</b><br />";
                    if ($nb_expl_reservables) {
                        $form .= "<input type='button' class='bouton' value='" . $msg['resa_planning_add'] . "' {$ouvrir_reserv}><br /><br />";
                    }
                    $form .= $aff_resa_planning . "<br />";
                } else {
                    if ($nb_expl_reservables && !($categ == "resa_planning") && !$id_empr && $nb_expl_reservables) {
                        $form .= "<b>" . $msg['resas_planning'] . "</b><br /><input type='button' class='bouton' value='" . $msg['resa_planning_add'] . "' {$ouvrir_reserv}><br /><br />";
                    }
                }
            }
        } else {
            $form .= "<div class='notice-parent' id='_bull_'>\n\t\t\t\t\t\t<img hspace='3' border='0' onclick=\"expandBase('_bull_', true); return false;\" title='" . $msg['plus_detail'] . "' id='_bull_Img' name='imEx' class='img_plus' src='" . $base_path . "/images/minus.gif' />\n\t\t\t\t\t\t<span class='notice-heada'>" . htmlentities($myBul->tit1 . '.' . $txt_drag, ENT_QUOTES, $charset);
            if ($bul_titre) {
                $form .= " : " . htmlentities($bul_titre, ENT_QUOTES, $charset);
            }
            $form .= "\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div style='margin-bottom: 6px; display: none; width: 94%;' class='notice-child' id='_bull_Child'>\n\t\t\t\t\t\t<br /><b>" . htmlentities($msg[4012], ENT_QUOTES, $charset) . "</b>\n\t\t\t\t\t\t{$affichage_expl}\n\t\t\t\t\t\t<br ><b>" . htmlentities($msg['explnum_docs_associes'], ENT_QUOTES, $charset) . "</b>\n\t\t\t\t\t\t{$aff_expl_num};\n\t\t\t\t\t</div>";
        }
    }
    return $form;
}
                        for ($i = 0; $i < count($tableau_expl_dispo); $i++) {
                            if (!$f_dispo_loc || $tableau_expl_dispo[$i]['idlocation'] == $f_dispo_loc) {
                                $aff_final .= "<tr>\n\t\t\t\t\t\t\t\t<td>" . $tableau_resa[$j]['rank'] . "</td>\n\t\t\t\t\t\t\t\t<td>" . $tableau_resa[$j]['resa_empr'] . "</td>\n\t\t\t\t\t\t\t\t<td>" . $tableau_resa[$j]['resa_empr_loc_libelle'] . "</td>\n\t\t\t\t\t\t\t\t<td><b>" . $tableau_resa[$j]['resa_tit'] . "</b></td>\n\t\t\t\t\t\t\t\t<td>" . $tableau_expl_dispo[$i]['location'] . "</td>\n\t\t\t\t\t\t\t\t<td>" . $tableau_expl_dispo[$i]['section'] . "</td>\n\t\t\t\t\t\t\t\t<td>" . $tableau_expl_dispo[$i]['expl_cote'] . "</td>\n\t\t\t\t\t\t\t\t<td>" . $tableau_expl_dispo[$i]['statut'] . "</td>\n\t\t\t\t\t\t\t\t<td>" . $tableau_expl_dispo[$i]['support'] . "</td>\n\t\t\t\t\t\t\t\t<td>" . $tableau_expl_dispo[$i]['expl_cb'] . "</td>";
                                if ($pmb_transferts_actif == "1") {
                                    $aff_final .= "<td>" . $tableau_resa[$j]['loc_retrait_libelle'] . "</td>";
                                }
                                $aff_final .= "</tr>";
                            }
                        }
                    }
                }
                if ($aff_final) {
                    print pmb_bidi("\n\n<script src='./javascript/sorttable.js' type='text/javascript'></script><table border='0' class ='sortable'>{$aff_final}</table>\n\n");
                }
                if (SESSrights & EDIT_AUTH) {
                    print pmb_bidi("<a href='./circ.php?categ=listeresa&sub=encours'>" . $msg['lien_traiter_reservations'] . "<a>");
                }
                break;
        }
        // echo "<pre>"; print_r($tableau); echo "</pre>";
        break;
    case "resa_planning":
        echo "<h1>" . $msg[350] . "&nbsp;&gt;&nbsp;" . $msg['edit_resa_planning_menu'] . "</h1>";
        print planning_list(0, 0, 0, '', '', EDIT_INFO_GESTION);
        break;
    case "resa":
    default:
        echo "<h1>" . $msg[350] . "&nbsp;&gt;&nbsp;" . $msg['edit_resa_menu'] . "</h1>";
        print resa_list(0, 0, 0);
        break;
}
Exemple #6
0
 function fetch_resa_planning()
 {
     //	return empr_planning_list ($this->id) ;
     return planning_list($this->id, 0, "", LECTEUR_INFO_GESTION);
 }
Exemple #7
0
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 .= ',&nbsp;' . $obj->notice->tnvol;
            }
        }
        $display_isbd ? $display_isbd .= '.&nbsp;' . $obj->tit1 : ($display_isbd = $obj->tit1);
        $tit2 = $obj->notice->tit2;
        $tit3 = $obj->notice->tit3;
        $tit4 = $obj->notice->tit4;
        if ($tit3) {
            $display_isbd .= "&nbsp;= {$tit3}";
        }
        if ($tit4) {
            $display_isbd .= "&nbsp;: {$tit4}";
        }
        if ($tit2) {
            $display_isbd .= "&nbsp;; {$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 .= "&nbsp;/ {$libelle_mention_resp}";
        }
        // mention d'édition
        if ($obj->notice->mention_edition) {
            $display_isbd .= ".&nbsp;-&nbsp;" . $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 .= '&nbsp;; ' . $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 .= ".&nbsp;-&nbsp;{$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 .= ".&nbsp;-&nbsp;$collation";
        if ($collections) {
            if ($obj->notice->nocoll) {
                $collections .= '; ' . $obj->notice->nocoll;
            }
            $display_isbd .= ".&nbsp;-&nbsp;({$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 .= '.&nbsp;-&nbsp;ISBN ';
        //			} else {
        //				$zoneNote = 'ISBN ';
        //			}
        //		} else {
        //			if($zoneNote) $zoneNote .= '.&nbsp;-&nbsp;';
        //		}
        //		$zoneNote .= $obj->notice->code;
        //	}
        // 		demande de retrait le 5/2/13
        // 		if($obj->notice->prix) {
        // 			if($obj->notice->code) {$zoneNote .= '&nbsp;: '.$obj->notice->prix;}
        // 			else {
        // 				if ($zoneNote) 	{ $zoneNote .= '&nbsp; '.$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 .= "&nbsp;= {$tit3}";
        }
        if ($tit4) {
            $display_isbd .= "&nbsp;: {$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 .= "&nbsp;/ " . $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 .= '&nbsp;; ' . $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 .= ".&nbsp;-&nbsp;{$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 .= ".&nbsp;-&nbsp;{$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;
}