id){ $opac_view_class->set_parameters(); $opac_view_filter_class=$opac_view_class->opac_filters; $_SESSION["opac_view"]=$opac_view_class->id; if(!$opac_view_class->opac_view_wo_query) { $_SESSION['opac_view_query']=1; } } else { $_SESSION["opac_view"]=0; } $css=$_SESSION["css"]=$opac_default_style; } // fonctions de gestion de formulaire require_once('./includes/javascript/form.inc.php'); require_once('./includes/templates/common.tpl.php'); require_once('./includes/divers.inc.php'); require_once('./includes/notice_categories.inc.php'); // classe de gestion des catégories require_once($base_path.'/classes/categorie.class.php'); require_once($base_path.'/classes/notice.class.php'); require_once($base_path.'/classes/notice_display.class.php'); // classe indexation interne require_once($base_path.'/classes/indexint.class.php'); // classe d'affichage des tags require_once($base_path.'/classes/tags.class.php'); require_once($base_path."/includes/marc_tables/".$pmb_indexation_lang."/empty_words"); // pour l'affichage correct des notices require_once($base_path."/includes/templates/common.tpl.php"); require_once($base_path."/includes/templates/notice.tpl.php"); require_once($base_path."/includes/navbar.inc.php"); require_once($base_path."/includes/notice_authors.inc.php"); require_once($base_path."/includes/notice_categories.inc.php"); require_once($base_path."/includes/explnum.inc.php"); require_once('./classes/notice_affichage.class.php'); require_once('./classes/notice_affichage_unimarc.class.php'); require_once('./classes/notice_affichage.ext.class.php'); require_once($base_path.'/classes/XMLlist.class.php'); require_once("./classes/notice_tpl_gen.class.php"); require_once("./classes/docnum_merge.class.php"); require_once($include_path."/mail.inc.php") ; // si paramétrage authentification particulière et pour la re-authentification ntlm if (file_exists($base_path.'/includes/ext_auth.inc.php')) require_once($base_path.'/includes/ext_auth.inc.php'); // SECURITE if(isset($id_liste)) { $id_liste=$id_liste*1; } else { $id_liste=0; } if(isset($id_etagere)) { $id_etagere=$id_etagere*1; } else { $id_etagere=0; } if(!isset($action)) $action = ''; if(!isset($output)) $output = ''; if(!isset($current_search)) $current_search = ''; $use_opac_url_base=1; //on log au début pour l'avoir même sur les impressions pdf ou non abouties global $pmb_logs_activate; if($pmb_logs_activate){ global $log, $infos_notice, $infos_expl; if($_SESSION['user_code']) { $res=pmb_mysql_query($log->get_empr_query()); if($res){ $empr_carac = pmb_mysql_fetch_array($res); $log->add_log('empr',$empr_carac); } } $log->add_log('num_session',session_id()); $log->add_log('expl',$infos_expl); $log->add_log('docs',$infos_notice); $log->save(); } if (file_exists($include_path.'/print/print_options_subst.xml')){ $xml_print = new XMLlist($include_path.'/print/print_options_subst.xml'); } else { $xml_print = new XMLlist($include_path.'/print/print_options.xml'); } $xml_print->analyser(); $print_options = $xml_print->table; if (($action=="print_$lvl")&&($output=="tt")) { header("Content-Type: application/word"); header("Content-Disposition: attachement; filename=liste.doc"); } $header_print = ''; $footer_print = ''; if($opac_print_cart_header_footer) { $req = "select * from print_cart_tpl where id_print_cart_tpl='".$opac_print_cart_header_footer."'"; $resultat = pmb_mysql_query($req); if (pmb_mysql_num_rows($resultat)) { $r = pmb_mysql_fetch_object($resultat); $header_print = $r->print_cart_tpl_header; $footer_print = $r->print_cart_tpl_footer; } } $output_final = ''.$msg['print_title'].''. ''. ''; if($action) { $output_final.= $header_print; } if ($output!='email') { $output_final.= " "; } else { $emailexp = trim(stripslashes($emailexp)); if($emailexp) { $output_final.= $msg['print_emailexp'].' '.$emailexp.'
'; } $emailcontent = trim(stripslashes($emailcontent)); if($emailcontent) { $output_final.= $msg['print_emailcontent'].' '.$emailcontent.'
'; } } if ($action!="print_$lvl") { $output_final.= link_styles($css); $output_final.=""; $output_final.="
"; if($lvl) $output_final.=""; else $output_final .=""; $output_final.= ""; $output_final.= " "; } elseif($output=="docnum"){ $docnum=new docnum_merge(0,$doc_num_list); $docnum->merge(); exit; } else { //print ""; $output_final .= ""; $opac_visionneuse_allow=0; if(isset($notice_tpl) && $notice_tpl)$noti_tpl=new notice_tpl_gen($notice_tpl); else $noti_tpl = ''; $notices = array(); switch ($action) { case 'print_cart': if($number && $select_noti){ $notices = explode(",",$select_noti); } else $notices =$_SESSION["cart"]; break; case 'print_list': if($number && $select_noti){ $notices = explode(",",$select_noti); } else { $rqt = "select * from opac_liste_lecture where id_liste='$id_liste'"; $res = pmb_mysql_query($rqt); $liste=pmb_mysql_fetch_object($res); $nom_liste = $liste->nom_liste; $description = $liste->description; $notices=explode(',',$liste->notices_associees); } break; case 'print_search': if($select_noti){ $notices = explode(",",$select_noti); } else { $notices = explode(",",$_SESSION["tab_result_current_page"]); } break; case 'print_etagere': $acces_j=''; if ($gestion_acces_active==1 && $gestion_acces_empr_notice==1) { require_once($class_path."/acces.class.php"); $ac= new acces(); $dom_2= $ac->setDomain(2); $acces_j = $dom_2->getJoin($_SESSION['id_empr_session'],4,'notice_id'); } if($acces_j) { $statut_j=''; $statut_r=''; } else { $statut_j=',notice_statut'; $statut_r="and statut=id_notice_statut and ((notice_visible_opac=1 and notice_visible_opac_abon=0)".($_SESSION["user_code"]?" or (notice_visible_opac_abon=1 and notice_visible_opac=1)":"").")"; } if($_SESSION["opac_view"] && $_SESSION["opac_view_query"] ){ $opac_view_restrict=" notice_id in (select opac_view_num_notice from opac_view_notices_".$_SESSION["opac_view"].") "; $statut_r.=" and ".$opac_view_restrict; } $notices = array(); $requete = "select distinct notice_id from caddie_content, etagere_caddie, notices ".$acces_j." ".$statut_j." "; $requete.= "where etagere_id=".$id_etagere." and caddie_content.caddie_id=etagere_caddie.caddie_id and notice_id=object_id ".$statut_r." "; $requete = sort::get_sort_etagere_query($requete); $res = pmb_mysql_query($requete); while(($obj=pmb_mysql_fetch_object($res))) { $notices[] = $obj->notice_id; } break; } $show_what = array( 'short' => $short, 'header' => $header, 'vignette' => $vignette, 'expl' => $ex, ); $notices_aff=""; if (count($notices)) { $date_today = formatdate(today()) ; if ($output=="email") { //on rajoute une mention spécifiant l'origine du mail... $rqt = "select empr_nom, empr_prenom from empr where id_empr ='".$_SESSION['id_empr_session']."'"; $res = pmb_mysql_query($rqt); if(pmb_mysql_num_rows($res)){ $info = pmb_mysql_fetch_object($res); $output_final .= "

".$msg['biblio_send_by']." ".$info->empr_nom." ".$info->empr_prenom."

" ; } } $output_final .= "

".$date_today." ".sprintf($msg["show_cart_n_notices"],count($notices))."


"; for ($i=0; $ibuild_notice(substr($notices[$i],0,2)!="es"?$notices[$i]:substr($notices[$i],2)); $output_final .= $notice_aff."
"; } else{ if (substr($notices[$i],0,2)!="es" && $type=='PUBLIC' && $opac_notices_format==AFF_ETA_NOTICES_TEMPLATE_DJANGO) { if($short) { switch ($output) { case 'pdf' : $notice_aff = record_display::get_display_for_pdf_short($notices[$i], '', $show_what); break; case 'printer' : default: $notice_aff = record_display::get_display_for_printer_short($notices[$i], '', $show_what); } }else { switch ($output) { case 'pdf' : $notice_aff = record_display::get_display_for_pdf_extended($notices[$i], '', $show_what); break; case 'printer' : default: $notice_aff = record_display::get_display_for_printer_extended($notices[$i], '', $show_what); } } $output_final.= $notice_aff."
"; } else { if (substr($notices[$i],0,2)!="es") { if (!$opac_notice_affichage_class) $opac_notice_affichage_class="notice_affichage"; } else { $opac_notice_affichage_class="notice_affichage_unimarc"; } $current = new $opac_notice_affichage_class((substr($notices[$i],0,2)!="es"?$notices[$i]:substr($notices[$i],2)),array(),0,1); if ($output=="pdf"){ $notice_aff .= $current->get_pdf_css_style(); } $current->do_header(); if ($type=='PUBLIC') { $current->do_public($short,$ex); if ($vignette) $current->do_image($current->notice_public,false); } else { $current->do_isbd($short,$ex); if ($vignette) $current->do_image($current->notice_isbd,false); } //Icone type de Document if (!isset($icon_doc)) { $icon_doc = marc_list_collection::get_instance('icondoc'); $icon_doc = $icon_doc->table; } $icon = $icon_doc[$current->notice->niveau_biblio.$current->notice->typdoc]; $iconDoc = ""; if ($icon) { if(!isset($biblio_doc)) { $biblio_doc = marc_list_collection::get_instance('nivbiblio'); $biblio_doc = $biblio_doc->table; } $info_bulle_icon=$biblio_doc[$current->notice->niveau_biblio]." : ".$tdoc->table[$current->notice->typdoc]; $iconDoc="\"$info_bulle_icon\""; } if ($header) $notice_aff .= "

".$iconDoc.$current->notice_header."

"; if ($current->notice->niveau_biblio =='s') { $perio="[".$msg['isbd_type_perio'].$bulletins."] "; } elseif ($current->notice->niveau_biblio =='a') { $perio="[".$msg['isbd_type_art']."] "; } else $perio=""; if ($type=='PUBLIC') $notice_aff .= $perio.$current->notice_public; else $notice_aff .= $perio.$current->notice_isbd; if ($ex) $notice_aff .= $current->affichage_expl ; $output_final .= $notice_aff."
"; } } $notices_aff.=$notice_aff; if($noti_tpl) { $notices_aff .= "
"; } else { $notices_aff .= "
"; } } $notices_aff = $header_print.$notices_aff.$footer_print; $output_final .= $footer_print; if ($charset!='utf-8') $output_final=cp1252Toiso88591($output_final); } if ($output=="printer") $output_final .= ""; } if($opac_parse_html){ $output_final=parseHTML($output_final); } if ($output=="pdf"){ if($charset != 'utf-8')$notices_aff=utf8_encode($notices_aff); require_once $class_path.'/mpdf/vendor/autoload.php'; $mpdf = new mPDF(); $mpdf->WriteHTML($notices_aff); $mpdf->Output('diffusion.pdf','I'); exit; } if ($output!='email') { print pmb_bidi($output_final.'') ; } else { $headers = "MIME-Version: 1.0\n"; $headers .= "Content-type: text/html; charset=".$charset."\n"; $emailobj = trim(stripslashes($emailobj)); if (!$emailobj) { $emailobj=$msg['print_emailobjet'].' '.$opac_biblio_name.' - '.$date_today; } $mail_addresses = array(); foreach($emaildest as $i => $email){ if(isset($emaildest_id[$i]) && $emaildest_id[$i]){ $emaildest_id[$i]+= 0; $query = "select empr_mail from empr where id_empr = ".$emaildest_id[$i]; $result = pmb_mysql_result(pmb_mysql_query($query), 0,0); $mail_addresses[] = $result; }else{ if($email){ $mail_addresses[] = $email; } } } $res_envoi=mailpmb('', implode(';',$mail_addresses), $emailobj, $output_final.'

'.mail_bloc_adresse().'', $opac_biblio_name, $opac_biblio_email, $headers); $vide_cache=filemtime("./styles/".$css."/".$css.".css"); if ($res_envoi) { print "".$msg["print_title"]."\n

".sprintf($msg["print_emailsucceed"],implode(', ',$mail_addresses))."


".$msg["print_emailclose"]."
" ; } else { echo "".$msg["print_title"]."\n

".sprintf($msg["print_emailfailed"],implode(', ',$mail_addresses))."


".$msg["print_emailclose"]."
" ; } }