table; } // propriétés pour le selecteur de panier (kinda template) $cart_click = "onClick=\"openPopUp('./cart.php?object_type=NOTI&item=!!item!!&unq=!!unique!!', 'cart')\""; // définition de la classe d'affichage des périodiques class serial_display extends record_display { public $bul_id = 0 ; // id de bulletin récupéré pour l'ISBD public $action_serial_org = ''; // lien à activer si la notice est s1 (notice chapeau) public $action_analysis_org = ''; // lien à activer si la notice est a2 (dépouillment) public $action_serial = ''; // lien modifié pour le header public $action_analysis = ''; // lien modifié pour le header (nécessite !!bul_id!!) public $action_bulletin = ''; // action pour la notion de bulletin public $parent_id = 0; // id de la notice parent public $parent_title = ''; // titre de la notice parent si a2 public $parent_numero = ''; // mention de numérotation dans le bulletinage associé public $parent_date = ''; // mention de date (txt) dans le bulletinage associé public $parent_date_date = ''; // mention de date (date) dans le bulletinage associé public $parent_aff_date_date = ''; // mention de date (date) dans le bulletinage associé au format correct pour affichage public $lien_explnum = ''; // Lien de gestion des documents numériques associés public $bouton_explnum = 0 ; // bouton ou pas d'ajout de doc numérique public $drag = 0; public $no_link = false; public $serial_nb_bulletins = 0; public $serial_nb_exemplaires = 0; public $serial_nb_articles = 0; public $serial_nb_etats_collection = 0; public $serial_nb_abo_actif = 0; public $show_abo_actif = 0; public $icon_abo_actif = ''; // constructeur public function __construct( $id, // $id = id de la notice à afficher $level='1', // $level : // 0 : juste le header (titre / auteur principal avec le lien si applicable) // 6 : cas général détaillé avec notes, categ, langues, indexation... + boutons $action_serial='', // $action_serial = URL à atteindre si la notice est une notice chapeau $action_analysis='', // $action_analysis = URL à atteindre si la notice est un dépouillement // note dans ces deux variable, '!!id!!' sera remplacé par l'id de cette notice // les deux liens s'excluent mutuellement, bien sur. $action_bulletin='', $lien_suppr_cart="", // $lien_suppr_cart = lien de suppression de la notice d'un caddie $lien_explnum="", $bouton_explnum=1, $print=0, // $print = 0 affichage normal // 1 affichage impression sans liens // 2 affichage impression avec liens sur documents numeriques // 4 affichage email : sans lien sauf url associée $show_explnum=1, $show_statut=0, $show_opac_hidden_fields=true, $draggable=0, $ajax_mode=0 , $anti_loop = array(), $no_link=false, $show_map=1, // $show_map = affichage de la map $context_dsi_id_bannette=0, // $context_dsi_id_bannette = dans le contexte de la dsi $show_abo_actif = 0, $expl=0, // $expl -> affiche ou non les exemplaires associé $context_parameters = array() // Elements de contexte (ex : in_search, in_selector) ) { global $pmb_recherche_ajax_mode; if (!is_array($anti_loop)) { $anti_loop = array(); } $this->show_map=$show_map; $this->context_dsi_id_bannette=$context_dsi_id_bannette; $this->context_parameters=$context_parameters; if($pmb_recherche_ajax_mode){ $this->ajax_mode=$ajax_mode; if($this->ajax_mode) { if (is_object($id)){ $param['id']=$id->notice_id; } else { $param['id']=$id; } $param['function_to_call']="serial_display"; //if($level)$param['level']=$level; //6 if($action_serial)$param['action_serial']=$action_serial; if($action_analysis)$param['action_analysis']=$action_analysis; if($action_bulletin)$param['action_bulletin']=$action_bulletin; // if($lien_suppr_cart)$param['lien_suppr_cart']=$lien_suppr_cart; if($lien_explnum)$param['lien_explnum']=$lien_explnum; if($bouton_explnum)$param['bouton_explnum']=$bouton_explnum; if($print)$param['print']=$print; // if($show_explnum)$param['show_explnum']=$show_explnum; //if($show_statut)$param['show_statut']=$show_statut; //if($show_opac_hidden_fields)$param['show_opac_hidden_fields']=$show_opac_hidden_fields; //if($draggable)$param['draggable']=$draggable;//1 $this->mono_display_cmd=serialize($param); } } $this->lien_explnum = $lien_explnum ; $this->bouton_explnum = $bouton_explnum ; $this->print_mode=$print; $this->show_explnum=$show_explnum; $this->show_statut=$show_statut; $this->show_abo_actif=$show_abo_actif; $this->expl=$expl; $this->anti_loop=$anti_loop; $this->no_link=$no_link; if(!$id) return; else { if (is_object($id)){ $this->notice_id = $id->notice_id; $this->notice = $id; } else { $this->notice_id = $id; $this->fetch_data(); } } $this->show_opac_hidden_fields=$show_opac_hidden_fields; if(!$this->ajax_mode)$this->p_perso=new parametres_perso("notices"); $this->responsabilites = get_notice_authors($this->notice_id) ; // mise à jour des catégories if(!$this->ajax_mode)$this->categories = get_notice_categories($this->notice_id) ; $this->level = $level; $this->lien_suppr_cart = $lien_suppr_cart; // si la notice est a2 (dépouillement), on récupère les données du bulletinage if($this->notice->niveau_biblio == 'a' && $this->notice->niveau_hierar == 2) { $this->get_bul_info(); } // mise à jour des liens if (SESSrights & CATALOGAGE_AUTH){ $this->action_serial_org = $action_serial; $this->action_analysis = $action_analysis; $this->action_bulletin = $action_bulletin; if ($action_serial && $this->notice->niveau_biblio == 's' && $this->notice->niveau_hierar == '1') $this->action_serial = str_replace('!!id!!', $this->notice_id, $action_serial); if ($action_analysis && $this->notice->niveau_biblio == 'a' && $this->notice->niveau_hierar == '2') { $this->action_analysis = str_replace('!!id!!', $this->notice_id, $this->action_analysis); $this->action_analysis = str_replace('!!bul_id!!', $this->bul_id, $this->action_analysis); } $this->lien_explnum = str_replace('!!serial_id!!', $this->notice_id, $this->lien_explnum); $this->lien_explnum = str_replace('!!analysis_id!!', $this->notice_id, $this->lien_explnum); $this->lien_explnum = str_replace('!!bul_id!!', $this->bul_id, $this->lien_explnum); $this->drag=$draggable; }else{ $this->action_serial_org = ""; $this->action_analysis = ""; $this->action_bulletin = ""; $this->action_serial = ""; $this->lien_explnum = ""; $this->drag=""; } $this->do_header(); if($level) { $this->init_javascript(); } $this->isbd = 'ISBD'; $this->notice_relations = notice_relations_collection::get_object_instance($this->notice_id); if(!$this->ajax_mode) { $this->childs = $this->notice_relations->get_childs(); } switch($level) { case 0: // là, c'est le niveau 0 : juste le header //$this->do_header(); $this->result = $this->header; break; default: global $pmb_map_activate; $this->map=array(); 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); } // niveau 1 et plus : header + isbd à générer //$this->do_header(); if(!$this->ajax_mode) $this->do_isbd(); if(!$this->ajax_mode) $this->finalize(); break; } return; } // récupération des info de bulletinage (si applicable) public function get_bul_info() { global $dbh; global $msg ; // récupération des données du bulletin et de la notice apparentée $requete = "SELECT b.tit1,b.notice_id,b.code,a.*,c.*, date_format(date_date, '".$msg["format_date"]."') as aff_date_date "; $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, $dbh); if (pmb_mysql_num_rows($myQuery)) { $parent = pmb_mysql_fetch_object($myQuery); $this->parent_title = $parent->tit1; $this->parent_id = $parent->notice_id; $this->code=$parent->code; $this->bul_id = $parent->bulletin_id; $this->parent_numero = $parent->bulletin_numero; $this->parent_date = $parent->mention_date; $this->parent_date_date = $parent->date_date; $this->parent_aff_date_date = $parent->aff_date_date; } } // finalisation du résultat (écriture de l'isbd) public function finalize() { global $msg, $base_path ; // Différence avec les monographies on affiche [périodique] et [article] devant l'ISBD if ($this->notice->niveau_biblio =='s') { $this->result = str_replace('!!serial_type!!', "[".$msg['isbd_type_perio']."]", $this->result); } else { $this->result = str_replace('!!serial_type!!', "[".$msg['isbd_type_art']."]", $this->result); } parent::finalize(); } protected function get_display_open_tag() { global $art_to_show; $display = ''; if($art_to_show && ($art_to_show == $this->notice_id)){ $display .= "startOpen=\"Yes\""; } return $display; } protected function get_display_anchor() { global $art_to_show; $display = ''; if($art_to_show && ($art_to_show == $this->notice_id)){ $display .= ""; } return $display; } // génération de l'isbd public function do_isbd() { global $msg, $dbh, $base_path; global $tdoc; global $charset; global $pmb_etat_collections_localise,$pmb_droits_explr_localises,$explr_visible_mod; global $pmb_show_notice_id,$pmb_opac_url,$pmb_show_permalink; global $sort_children; global $thesaurus_concepts_active; global $pmb_map_activate; global $pmb_scan_request_activate; global $lang; global $pmb_use_uniform_title; global $pmb_type_audit; global $pmb_show_exemplaires_analysis; $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"; $this->isbd .= ' ['.$tdoc->table[$this->notice->typdoc].']'; // constitution de la mention de responsabilité if($libelle_mention_resp = gen_authors_isbd($this->responsabilites, $this->print_mode)) { $this->isbd .= " / ". $libelle_mention_resp ." " ; } if($pmb_map_activate){ if($mapisbd=$this->map_info->get_isbd()) $this->isbd .=$mapisbd; } // zone de l'adresse (ne concerne que s1) if ($this->notice->niveau_biblio == 's' && $this->notice->niveau_hierar == 1) { $editeurs = ""; if($this->notice->ed1_id) { $editeur = authorities_collection::get_authority(AUT_TABLE_PUBLISHERS, $this->notice->ed1_id); if ($this->print_mode) { $editeurs .= $editeur->get_isbd(); } else { $editeurs .= $editeur->isbd_entry_lien_gestion; } } if($this->notice->ed2_id) { $editeur = authorities_collection::get_authority(AUT_TABLE_PUBLISHERS, $this->notice->ed2_id); if ($this->print_mode) { $ed_isbd=$editeur->get_isbd(); } else { $ed_isbd=$editeur->isbd_entry_lien_gestion; } if($editeurs) { $editeurs .= ' ; '.$ed_isbd; } else { $editeurs .= $ed_isbd; } } if($this->notice->year) { if ($editeurs) { $editeurs .= ', '.$this->notice->year; } else { $editeurs = $this->notice->year; } } if($editeurs) { $this->isbd .= ". - $editeurs"; } } // 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 $mention_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 = "action_bulletin."\">".htmlentities($bulletin,ENT_QUOTES, $charset).""; } $mention_parent = "in $bulletin"; } if($mention_parent) { $this->isbd .= "
$mention_parent"; $pagination = htmlentities($this->notice->npages,ENT_QUOTES, $charset); if($pagination) $this->isbd .= ". - $pagination"; } //In //Recherche des notices parentes if (!$this->no_link) { $this->isbd .= $this->notice_relations->get_display_links('parents', $this->print_mode, $this->show_explnum, $this->show_statut, $this->show_opac_hidden_fields); } if($pmb_show_notice_id || $pmb_show_permalink) $this->isbd .= "
"; if($pmb_show_notice_id){ $prefixe = explode(",",$pmb_show_notice_id); $this->isbd .= "".$msg['notice_id_libelle']." ".(isset($prefixe[1]) ? $prefixe[1] : '').$this->notice_id."
"; } // Permalink OPAC if ($pmb_show_permalink) { $this->isbd .= "".$msg["notice_permalink_opac"]." ".$pmb_opac_url."index.php?lvl=notice_display&id=".$this->notice_id."
"; } // fin du niveau 1 if($this->level == 1) { if ($this->show_explnum) { $this->isbd .= '
'; $explnum = show_explnum_per_notice($this->notice_id, 0, $this->lien_explnum); if ($explnum) $this->isbd .= "
$msg[explnum_docs_associes]
".$explnum."
"; if ($this->notice->niveau_biblio == 'a' && $this->notice->niveau_hierar == '2' && (SESSrights & CATALOGAGE_AUTH) && $this->bouton_explnum) $this->isbd .= "
notice_id&sub=analysis&action=explnum_form&bul_id=$this->bul_id'\">" ; if((SESSrights & CIRCULATION_AUTH) && $pmb_scan_request_activate && !$this->context_dsi_id_bannette){ $this->isbd .= ""; } $this->isbd .= '
'; } return; } // début du niveau 2 // map if($pmb_map_activate && $this->show_map){ $this->isbd.=$this->map->get_map(); } // note générale if($this->notice->n_gen) { $this->isbd .= "
$msg[265]: ".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 .= "
$msg[266]: ".nl2br($this->notice->n_contenu); } // résumé if($this->notice->n_resume) { $this->isbd .= "
$msg[267]: ".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 $tmpcateg_aff = $this->get_display_categories(); if ($tmpcateg_aff) $this->isbd .= "
$tmpcateg_aff"; // Concepts if ($thesaurus_concepts_active == 1) { $index_concept = new index_concept($this->notice_id, TYPE_NOTICE); if ($index_concept->get_concepts()) { $this->isbd .= "
${msg['param_concepts']} : ".$index_concept->get_isbd_display(); } } // fin du niveau 4 if($this->level == 4) return; // début du niveau 5 // langues $langues = ''; if(count($this->langues)) { $langues .= "${msg[537]} : ".construit_liste_langues($this->langues); } if(count($this->languesorg)) { $langues .= " ${msg[711]} : ".construit_liste_langues($this->languesorg); } if($langues) $this->isbd .= "
$langues"; // indexation libre if($this->notice->index_l) $this->isbd .= "
${msg[324]} : ".htmlentities($this->notice->index_l,ENT_QUOTES, $charset); // indexation interne if($this->notice->indexint) { $indexint = authorities_collection::get_authority(AUT_TABLE_INDEXINT, $this->notice->indexint); if ($this->print_mode) { $indexint_isbd=$indexint->display; } else { $indexint_isbd=$indexint->isbd_entry_lien_gestion; } $this->isbd .= "
".$msg['indexint_catal_title']." : ".$indexint_isbd; } //code (ISSN,...) if ($this->notice->code) $this->isbd .="
${msg[165]} : ".$this->notice->code; $tu= new tu_notice($this->notice_id); if(($tu_liste=$tu->get_print_type())) { $this->isbd .= "
".$tu_liste; } $authperso = new authperso_notice($this->notice_id); $this->isbd .=$authperso->get_notice_display(); //Champs personalisés $perso_aff = $this->get_display_pperso(); if ($perso_aff) $this->isbd.=$perso_aff ; //Notices liées $this->isbd .= $this->get_display_relations_links(); thumbnail::do_image($this->isbd, $this->notice); $this->isbd .= ""; $this->isbd .= ""; // map if($pmb_map_activate && $this->show_map){ $this->isbd.=map_locations_controler::get_map_location($this->notice_id); } if($this->expl) { $expl_aff = ""; if ($pmb_show_exemplaires_analysis && $this->notice->niveau_biblio=='a' && $this->notice->niveau_hierar==2) { // on est face à une notice d'article $requete="select analysis_bulletin from analysis where analysis_notice=".$this->notice->notice_id; $result=@pmb_mysql_query($requete); if (pmb_mysql_num_rows($result)) { $bull = pmb_mysql_fetch_object($result); if (!$this->notice->is_numeric) { $expl_aff = $this->show_expl_per_notice($this->notice->notice_id, $this->link_expl,$bull->analysis_bulletin); } else { $expl_aff = $this->show_orders_pnb($this->notice->notice_id); } } } if ($expl_aff) { $this->isbd .= "
${msg[285]} (".$this->nb_expl.")"; $this->isbd .= $expl_aff; } } //Documents numériques $this->isbd.= '
'; $boutons=''; if ($this->show_explnum) { $explnum = show_explnum_per_notice($this->notice_id, 0, $this->lien_explnum,array(),false,$this->context_dsi_id_bannette); if ($explnum) { $this->isbd.= "
$msg[explnum_docs_associes] (".show_explnum_per_notice($this->notice->notice_id, 0, $this->lien_explnum,array(),true).")
".$explnum."
"; } if ($this->notice->niveau_biblio == 'a' && $this->notice->niveau_hierar == '2' && (SESSrights & CATALOGAGE_AUTH) && $this->bouton_explnum) { $boutons.= "
notice_id."&sub=analysis&action=explnum_form&bul_id=".$this->bul_id."&explnum_id=0'\">" ; } if((SESSrights & CIRCULATION_AUTH) && $this->bouton_explnum && $pmb_scan_request_activate && !$this->context_dsi_id_bannette){ $boutons .= ""; } if ((SESSrights & CATALOGAGE_AUTH) && $this->bouton_explnum && $pmb_type_audit && $this->notice->niveau_biblio == 'a') { $boutons.= audit::get_dialog_button($this->notice_id, 1); } } $boutons.= form_mapper::get_action_button('notice', $this->notice_id); $this->isbd.= $boutons; $this->isbd.= '
'; // end of
$event = new event_record('record', 'display'); $event->set_record_id($this->notice_id); $event_handler = events_handler::get_instance(); $event_handler->send($event); if ($event->get_result()) { $this->isbd .= $event->get_result(); } // 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 .= "
".$msg["abts_onglet_collstate"]."
"; $this->isbd.=$collstate->liste; } } //Ajout de l'upload de documents numérique en lot $this->isbd.= ""; // fin du niveau 6 return; } public function get_etat_periodique() { global $dbh; $bulletins=0; $nb_expl=0; $nb_notices=0; if($this->notice->niveau_biblio=="s") { $requete = "SELECT * FROM bulletins WHERE bulletin_notice=".$this->notice_id; $Query = pmb_mysql_query($requete, $dbh); $bulletins=pmb_mysql_num_rows($Query); while (($row = pmb_mysql_fetch_array($Query))) { $requete2 = "SELECT count( * ) AS nb_notices FROM analysis WHERE analysis_bulletin =".$row['bulletin_id']; $Query2 = pmb_mysql_query($requete2, $dbh); $analysis_array=pmb_mysql_fetch_array($Query2); $nb_notices+=$analysis_array['nb_notices']; $requete3 = "SELECT count( expL_id ) AS nb_expl FROM exemplaires WHERE expl_bulletin =".$row['bulletin_id']; $Query3 = pmb_mysql_query($requete3, $dbh); $expl_array=pmb_mysql_fetch_array($Query3); $nb_expl+=$expl_array['nb_expl']; }; $requete="SELECT COUNT(collstate_id) FROM collections_state WHERE id_serial='".$this->notice_id."'"; $Query=pmb_mysql_query($requete, $dbh); if($Query && pmb_mysql_num_rows($Query)){ $this->serial_nb_etats_collection=pmb_mysql_result($Query,0,0); } $requete="SELECT COUNT(abt_id) FROM abts_abts WHERE num_notice='".$this->notice_id."' AND date_fin > CURDATE()"; $Query=pmb_mysql_query($requete, $dbh); if($Query && pmb_mysql_num_rows($Query)){ $this->serial_nb_abo_actif=pmb_mysql_result($Query,0,0); } $this->serial_nb_bulletins=$bulletins; $this->serial_nb_exemplaires=$nb_expl; $this->serial_nb_articles=$nb_notices; } } public function print_etat_periodique() { global $msg; $affichage = ''; if($this->notice->niveau_biblio=="s") { // Cas général : au moins un bulletin if ($this->serial_nb_bulletins > 0) {$affichage .="
\n ".$msg["serial_bulletinage_etat"]."
".$this->serial_nb_bulletins." ".$msg["serial_nb_bulletin"]." ".$this->serial_nb_exemplaires." ".$msg["bulletin_nb_ex"]." ".$this->serial_nb_articles." ".$msg["serial_nb_articles"]."
"; } else { // 0 bulletin $affichage .="

\n ".$msg["serial_bulletinage_etat"]."
".$this->serial_nb_bulletins." ".$msg["serial_nb_bulletin"]." : "; $affichage .=$msg["bull_no_expl"]; $affichage .="
"; } } return $affichage; } protected function get_icon_abo_actif() { global $msg; global $use_opac_url_base, $opac_url_base, $base_path; $this->icon_abo_actif = ""; if($this->notice->niveau_biblio == 's' && $this->notice->niveau_hierar == 1) { $req = "select abt_id from abts_abts where num_notice=".$this->notice_id." and date_fin >= CURDATE() "; $res = pmb_mysql_query($req); if (pmb_mysql_num_rows($res)) { $icon = "check.png"; $info_bulle_icon_abo_actif=$msg['abonnements_actif_img_title']; if ($use_opac_url_base) $this->icon_abo_actif="\"$info_bulle_icon_abo_actif\""; else $this->icon_abo_actif="\"$info_bulle_icon_abo_actif\""; } else { $icon = "spacer.gif"; $this->icon_abo_actif=""; } } return $this->icon_abo_actif; } // génération du header public function do_header() { global $dbh, $base_path; global $charset,$msg; global $pmb_notice_reduit_format; global $tdoc; global $use_opac_url_base, $opac_url_base, $use_dsi_diff_mode; global $no_aff_doc_num_image; $type_reduit = substr($pmb_notice_reduit_format,0,1); //Icone type de Document $this->icondoc = $this->get_icondoc(); //Icone abonnement actif $this->icon_abo_actif = $this->get_icon_abo_actif(); //Icone nouveauté $this->icon_is_new = $this->get_icon_is_new(); $this->aff_statut = $this->get_aff_statut(); if ($type_reduit=="H"){ $id_tpl=substr($pmb_notice_reduit_format,2); if($id_tpl){ $tpl = notice_tpl_gen::get_instance($id_tpl); $notice_tpl_header=$tpl->build_notice($this->notice_id); if($notice_tpl_header){ $this->header=$notice_tpl_header; $this->header_texte=$notice_tpl_header; } } } if ($type_reduit!="H"){ $this->header = htmlentities($this->notice->tit1,ENT_QUOTES, $charset); $this->header_texte = $this->notice->tit1; $this->memo_titre=$this->notice->tit1; $this->memo_complement_titre=$this->notice->tit4; $this->memo_titre_parallele=$this->notice->tit3; } if ($type_reduit=='4') { if ($this->memo_titre_parallele != "") { $this->header .= " = ".$this->memo_titre_parallele; $this->header_texte .= ' = '.$this->memo_titre_parallele; } } // if ((floor($type_reduit/10) == 1)&&($this->memo_complement_titre)) { // $this->header.=" : ".htmlentities($this->memo_complement_titre,ENT_QUOTES,$charset); // } if ($type_reduit=="T" && $this->memo_complement_titre) { $this->header.=" : ".htmlentities($this->memo_complement_titre,ENT_QUOTES,$charset); $this->header_texte.=" : ".$this->memo_complement_titre; } if (($type_reduit!='3') && ($type_reduit!='H')) { if($auteurs_header = gen_authors_header($this->responsabilites, ';')) { $this->header .= ' / '.$auteurs_header; $this->header_texte .= ' / '.$auteurs_header; } } $editeur_reduit = ''; if ($type_reduit=="E") { $editeur_reduit = $this->get_aff_editeur_reduit(); } if ($editeur_reduit) { $this->header .= ' / '. $editeur_reduit ; $this->header_texte .= ' / '. $editeur_reduit ; } $perso_voulu_aff = ""; if ($type_reduit=="E" || $type_reduit=="P" ) { $perso_voulu_aff = $this->get_aff_perso(); } if ($perso_voulu_aff) { $this->header .= ' / '. $perso_voulu_aff ; $this->header_texte .= ' / '. $perso_voulu_aff ; } switch ($type_reduit) { case "1": if ($this->notice->year != '') { $this->header.=' ('.htmlentities($this->notice->year, ENT_QUOTES, $charset).')'; $this->header_texte.=' ('.$this->notice->year.')'; } break; case "2": if ($this->notice->year != '') { $this->header.=' ('.htmlentities($this->notice->year, ENT_QUOTES, $charset).')'; $this->header_texte.=' ('.$this->notice->year.')'; } if ($this->notice->code != '') { $this->header.=' / '.htmlentities($this->notice->code, ENT_QUOTES, $charset); $this->header_texte.=' / '.$this->notice->code; } break; default : break; } if (!$this->print_mode) { if($this->notice->niveau_biblio == 's' && $this->notice->niveau_hierar == 1) { if($this->action_serial) $this->header = "action_serial."\">".$this->header.''; } if($this->notice->niveau_biblio == 'a' && $this->notice->niveau_hierar == 2) { if($this->action_analysis) $this->header= "action_analysis."\">".$this->header.''; if ($this->level!=2) { $this->header .= " in ".$this->parent_title." ".$this->parent_numero; if ($this->parent_date) { $this->header .= " (".$this->parent_date.")"; } else if ($this->parent_date_date) { $this->header .= " [".$this->parent_aff_date_date."]"; } $this->header .= ""; } } } if (isset($this->icon_is_new)) $this->header = $this->header." ".$this->icon_is_new; if($this->notice->lien) { // ajout du lien pour les ressources électroniques $this->header .= $this->get_resources_link(); } if (!$this->print_mode || $this->print_mode=='2' && !$no_aff_doc_num_image) { $sql_explnum = "SELECT explnum_id, explnum_nom FROM explnum WHERE explnum_notice = ".$this->notice_id; $explnums = pmb_mysql_query($sql_explnum); $explnumscount = pmb_mysql_num_rows($explnums); if ($explnumscount == 1) { $explnumrow = pmb_mysql_fetch_object($explnums); if (!$use_opac_url_base) $this->header .= "explnum_id."\" target=\"_blank\">"; else $this->header .= "explnum_id."\" target=\"_blank\">"; if (!$use_opac_url_base) $this->header .= "header .= "header .= " alt=\""; $this->header .= htmlentities($explnumrow->explnum_nom,ENT_QUOTES,$charset); $this->header .= "\" title=\""; $this->header .= htmlentities($explnumrow->explnum_nom,ENT_QUOTES,$charset); $this->header .= "\">"; $this->header .=''; } else if ($explnumscount > 1 ) { if (!$use_opac_url_base) $this->header .= "\"".$msg['info_docs_num_notice']."\""; else $this->header .= "\"".$msg['info_docs_num_notice']."\""; } if (($this->drag) && (!$this->print_mode)) $this->header.="notice_id."\" dragicon='".get_url_icon('icone_drag_notice.png')."' dragtext=\"".htmlentities($this->notice->tit1,ENT_QUOTES, $charset)."\" draggable=\"yes\" dragtype=\"notice\" callback_before=\"show_carts\" callback_after=\"\" style=\"padding-left:7px\">"; } if (isset($this->icondoc)) $this->header = $this->icondoc." ".$this->header; if ($this->show_abo_actif && isset($this->icon_abo_actif)) $this->header = $this->icon_abo_actif." ".$this->header; if ($this->show_statut) $this->header = $this->aff_statut." ".$this->header ; } } // fin classe serial_display // ------------------------------------------------------------------- // classe bulletinage_display : utilisée pour le prêt de documents // ------------------------------------------------------------------- class bulletinage_display { public $bul_id = 0; // id du bulletinage à afficher public $display = ''; // texte à afficher public $parent_title = ''; // titre général de la revue à laquelle fait référence ce bulletinage public $bulletin_titre = ''; // titre de ce bulletin public $numerotation = ''; // mention de numérotation sur la revue public $periode = ''; // mention de date de la revue (txt) public $date_date = ''; // mention de date de la revue (date) public $header = ''; // pour affichage réduit // constructeur public function __construct($id=0) { if(!$id) { $this->display = "Error : bul_id is null"; return $this->bul_id; } $this->bul_id = $id; $this->fetch_bulletinage_data(); $this->make_display(); return $this->bul_id; } // fabrication de la mention à afficher public function make_display() { if ($this->parent_title) { $this->display = $this->parent_title; } else { $this->display = "error: unknown record"; return; } if((!$this->numerotation && !$this->periode && !$this->bulletin_titre && !$this->date_date) || !$this->bul_id) { $this->display .= " error : missing information"; } if($this->numerotation) $this->display .= '. '.$this->numerotation; $this->header = $this->display; // affichage de la mention de date utile : mention_date si existe, sinon date_date if ($this->periode) { $date_affichee = " (".$this->periode.") "; } else { $date_affichee = " [".$this->aff_date_date."]"; } $this->display .= $date_affichee; if ($date_affichee) $this->header .= $date_affichee ; } // récupération des infos bulletinage en base public function fetch_bulletinage_data() { global $msg, $dbh; $requete = "SELECT bulletins.*, notices.tit1, date_format(date_date, '".$msg["format_date"]."') as aff_date_date FROM bulletins, notices "; $requete .= " WHERE bulletins.bulletin_id=".$this->bul_id; $requete .= " AND notices.notice_id=bulletins.bulletin_notice"; $requete .= " AND notices.niveau_biblio='s' AND notices.niveau_hierar='1' LIMIT 1"; $myQuery = pmb_mysql_query($requete, $dbh); if(pmb_mysql_num_rows($myQuery)) { $result = pmb_mysql_fetch_object($myQuery); $this->parent_title = $result->tit1; $this->bulletin_titre = $result->bulletin_titre; $this->numerotation = $result->bulletin_numero; $this->periode = $result->mention_date; $this->date_date = $result->date_date; $this->aff_date_date = $result->aff_date_date; $this->bul_id = $result->bulletin_id; } return; } } // class serial_display