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.="".$msg["print_title_".$lvl]."
";
else $output_final .="".$msg["print_title"]."
";
$output_final.= "".$msg["print_options"]."
";
$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="
";
}
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().'