'.$msg['resa_planning_loc_empr'].'
';
$aff_final .= '
'.$sel_loc_empr.'
' ;
if ($f_loc_empr) {
$clause .= " AND empr_location='".$f_loc_empr."' ";
}
}
//Selecteur de localisation de retrait
if($pmb_location_resa_planning) {
$aff_final .= '
'.$msg['resa_planning_loc_retrait'].'
';
$aff_final .= '
'.$sel_loc_ret.'
' ;
if ($f_loc_ret) {
$clause .= " AND resa_planning.resa_loc_retrait='".$f_loc_ret."' ";
}
}
break;
case LECTEUR_INFO_GESTION:
$aff_final .= "
" ;
break;
}
return $aff_final ;
}
//Entete Tableau
$aff_final .= "
";
switch ($info_gestion) {
case GESTION_INFO_GESTION:
case EDIT_INFO_GESTION:
$aff_final .= ''.htmlentities($msg['233'], ENT_QUOTES, $charset).' |
'.htmlentities($msg['empr_nom_prenom'], ENT_QUOTES, $charset).' |
'.($pmb_lecteurs_localises ? ''.htmlentities($msg['resa_planning_loc_empr'], ENT_QUOTES, $charset).' | ' :'');
break;
case LECTEUR_INFO_GESTION:
$aff_final .= ''.htmlentities($msg['233'], ENT_QUOTES, $charset).' | ';
break;
case NO_INFO_GESTION:
default:
$aff_final .= ''.htmlentities($msg['empr_nom_prenom'], ENT_QUOTES, $charset).' |
'.($pmb_lecteurs_localises ? ''.htmlentities($msg['resa_planning_loc_empr'], ENT_QUOTES, $charset).' | ' :'');
break;
}
$aff_final .= ''.htmlentities($msg['374'], ENT_QUOTES, $charset).' |
'.htmlentities($msg['resa_planning_date_debut'], ENT_QUOTES, $charset).' |
'.htmlentities($msg['resa_planning_date_fin'], ENT_QUOTES, $charset).' | ';
switch ($info_gestion) {
case GESTION_INFO_GESTION :
$aff_final.= ''.htmlentities($msg['resa_planning_tab_qty'], ENT_QUOTES, $charset).' |
'.htmlentities($msg['resa_validee'], ENT_QUOTES, $charset).' |
'.htmlentities($msg['resa_confirmee'], ENT_QUOTES, $charset).' | ';
if ($pmb_location_resa_planning=='1') {
$aff_final .= ''.$msg['resa_planning_loc_retrait'].' | ';
}
$aff_final.= ''.htmlentities($msg['resa_selectionner'], ENT_QUOTES, $charset).' | ' ;
break;
case EDIT_INFO_GESTION :
$aff_final.= ''.htmlentities($msg['resa_planning_tab_qty'], ENT_QUOTES, $charset).' |
'.htmlentities($msg['resa_validee'], ENT_QUOTES, $charset).' |
'.htmlentities($msg['resa_confirmee'], ENT_QUOTES, $charset).' | ';
if ($pmb_location_resa_planning=='1') {
$aff_final .= ''.$msg['resa_planning_loc_retrait'].' | ';
}
break;
case LECTEUR_INFO_GESTION :
$aff_final.= ''.htmlentities($msg['resa_planning_tab_qty'], ENT_QUOTES, $charset).' |
'.htmlentities($msg['resa_validee'], ENT_QUOTES, $charset).' |
'.htmlentities($msg['resa_confirmee'], ENT_QUOTES, $charset).' | ';
if ($pmb_location_resa_planning=='1') {
$aff_final .= ''.$msg['resa_planning_loc_retrait'].' | ';
}
$aff_final.= '' . $msg["resa_suppr_th"] . ' | ' ;
break;
case NO_INFO_GESTION:
default:
break;
}
$aff_final .= '
';
$odd_even=0;
//Contenu tableau
while ($data = pmb_mysql_fetch_object($r)) {
if ($odd_even==0) {
$aff_final .= "";
$odd_even=1;
} else if ($odd_even==1) {
$aff_final .= "
";
$odd_even=0;
}
$link = '';
$type_doc_aff = "alt='".htmlentities($tdoc->table[$data->typdoc],ENT_QUOTES, $charset)."' title='".htmlentities($tdoc->table[$data->typdoc],ENT_QUOTES, $charset)."' ";
switch ($info_gestion) {
case GESTION_INFO_GESTION:
case EDIT_INFO_GESTION:
//Titre document
if (SESSrights & CATALOGAGE_AUTH) {
if ($data->resa_idnotice) {
$link = "".htmlentities($data->tit, ENT_QUOTES, $charset).'';
} else if($data->resa_idbulletin) {
$link = "".htmlentities($data->tit, ENT_QUOTES, $charset)."";
} else {
$link = htmlentities($data->tit, ENT_QUOTES, $charset);
}
} else {
$link = htmlentities($data->tit, ENT_QUOTES, $charset);
}
$aff_final.= ''.$link.' | ';
//Nom lecteur
if (SESSrights & CIRCULATION_AUTH) {
$aff_final .= "empr_cb)."\">".htmlentities($data->empr_nom_prenom, ENT_QUOTES, $charset)." | ";
} else {
$aff_final .= ''.htmlentities($data->empr_nom_prenom, ENT_QUOTES, $charset).' | ';
}
//Localisation lecteur
if ($pmb_lecteurs_localises) {
$aff_final.= ''.$tab_loc_empr[$data->empr_location].' | ';
}
break;
case LECTEUR_INFO_GESTION:
//Titre document
if (SESSrights & CATALOGAGE_AUTH) {
if ($data->resa_idnotice) {
$link = "".htmlentities($data->tit, ENT_QUOTES, $charset)."";
} else if ($data->resa_idbulletin) {
$link = "".htmlentities($data->tit, ENT_QUOTES, $charset)."";
} else {
$link = htmlentities($data->tit, ENT_QUOTES, $charset);
}
} else {
$link = htmlentities($data->tit, ENT_QUOTES, $charset);
}
$aff_final.= ''.$link.' | ';
break;
case NO_INFO_GESTION:
default:
//Nom lecteur
if (SESSrights & CIRCULATION_AUTH) {
$aff_final .= "empr_cb)."\">".htmlentities($data->empr_nom_prenom, ENT_QUOTES, $charset)." | ";
} else {
$aff_final .= ''.htmlentities($data->empr_nom_prenom, ENT_QUOTES, $charset).' | ';
}
//Localisation lecteur
if ($pmb_lecteurs_localises) {
$aff_final.= ''.$tab_loc_empr[$data->empr_location].' | ';
}
break;
}
//Date prevision
$aff_final.= ''.$data->aff_resa_date.' | ';
switch ($info_gestion) {
case GESTION_INFO_GESTION:
case LECTEUR_INFO_GESTION:
//id emprunteur
$aff_final.= "";
//Date debut/fin prevision
if($data->resa_validee) {
$aff_final.= "".$data->aff_resa_date_debut.' | ';
$aff_final.= "".$data->aff_resa_date_fin." | ";
$aff_final.= "";
if ($montrerquoi!='toresa') {
$aff_final.= $data->resa_remaining_qty."/";
}
$aff_final.= $data->resa_qty." | ";
$aff_final.= "X | ";
} else {
$aff_final .= "";
$aff_final .= "";
$resa_date_debut = str_replace("-", "", $data->resa_date_debut);
$aff_final .= "";
$aff_final .= "id_resa."¶m2=form_resa_date_debut_lib_".$data->id_resa."&auto_submit=NO&date_anterieure=YES&func_to_call=func_callback&id=".$data->id_resa."&sub_param1=1', 'resa_date_debut', 250, 300, -2, -2, 'toolbar=no, dependent=yes, resizable=yes'); \" value='".$data->aff_resa_date_debut."' name='form_resa_date_debut_lib_".$data->id_resa."'>";
$aff_final .= ' | ';
$aff_final .= "";
$aff_final .= "";
$resa_date_fin = str_replace("-", "", $data->resa_date_fin);
$aff_final .= "";
$aff_final .= "id_resa."¶m2=form_resa_date_fin_lib_".$data->id_resa."&auto_submit=NO&date_anterieure=YES&func_to_call=func_callback&id=".$data->id_resa."&sub_param1=2', 'resa_date_fin', 250, 300, -2, -2, 'toolbar=no, dependent=yes, resizable=yes')\" value='".$data->aff_resa_date_fin."' name='form_resa_date_fin_lib_".$data->id_resa."'>";
$aff_final .= ' | ';
$aff_final.= "";
if ($montrerquoi!='toresa') {
$aff_final.= $data->resa_remaining_qty."/";
}
$aff_final.= $data->resa_qty." | ";
$aff_final.= ' | ';
}
//Resa confirmee
if($data->resa_confirmee) {
$aff_final.= "X | ";
} else {
$aff_final.= ' | ';
}
//Localisation retrait
if ($pmb_location_resa_planning=="1") {
$aff_final .= ''.$tab_loc_ret[$data->resa_loc_retrait].' | ';
}
break;
case EDIT_INFO_GESTION:
$aff_final.= "".$data->aff_resa_date_debut.' | ';
$aff_final.= "".$data->aff_resa_date_fin." | ";
$aff_final.= "";
if ($montrerquoi!='toresa') {
$aff_final.= $data->resa_remaining_qty."/";
}
$aff_final.= $data->resa_qty." | ";
if($data->resa_validee) {
$aff_final.= "X | ";
} else {
$aff_final.= ' | ';
}
if($data->resa_confirmee) {
$aff_final.= "X | ";
} else {
$aff_final.= ' | ';
}
//Localisation retrait
if ($pmb_location_resa_planning=='1') {
$aff_final .= ''.$tab_loc_ret[$data->resa_loc_retrait].' | ';
}
break;
case NO_INFO_GESTION:
default:
$aff_final.= "".$data->aff_resa_date_debut.' | ';
$aff_final.= "".$data->aff_resa_date_fin." | ";
break;
}
switch ($info_gestion) {
case GESTION_INFO_GESTION:
$aff_final .= "\n | " ;
break;
case LECTEUR_INFO_GESTION:
$aff_final .= "\nid_resa."&id_empr=".$idempr."';\" /> | " ;
break;
case EDIT_INFO_GESTION:
break;
case NO_INFO_GESTION:
default:
break;
}
$aff_final.= "
";
}
$aff_final.= "
";
$aff_final.= "
";
//Affichage boutons
switch ($info_gestion) {
case GESTION_INFO_GESTION:
$aff_final .= "
" ;
$aff_final.= "
";
break;
case LECTEUR_INFO_GESTION:
break;
case EDIT_INFO_GESTION:
$aff_final.= '' ;
break;
case NO_INFO_GESTION:
default:
break;
}
return $aff_final ;
}
function resa_planning_loc_retrait($id_resa) {
global $dbh,$msg,$charset;
global $transferts_choix_lieu_opac, $transferts_site_fixe;
$res_trans = 0;
switch ($transferts_choix_lieu_opac) {
case "2":
//retrait de la resa sur lieu fixé
$res_trans = $transferts_site_fixe;
break;
case "3":
//retrait de la resa sur lieu exemplaire
//==>on fait rien !
break;
case "1":
default:
//retrait de la resa sur lieu lecteur
//on recupere la localisation de l'emprunteur
$rqt = "SELECT empr_location FROM resa_planning INNER JOIN empr ON resa_idempr = id_empr WHERE id_resa='".$id_resa."'";
$res = pmb_mysql_query($rqt,$dbh);
$res_trans = pmb_mysql_result($res,0) ;
break;
}
return $res_trans;
}
//Generation entete réservation avec verification numero lecteur
function aff_entete($id_empr,&$layout_begin='',&$empr_cb=0) {
global $dbh,$msg,$charset;
$exists=false;
$id_empr+=0;
if($id_empr) {
// récupération nom emprunteur
$q = "SELECT empr_nom, empr_prenom, empr_cb FROM empr WHERE id_empr=$id_empr LIMIT 1";
$r = pmb_mysql_query($q, $dbh);
if(pmb_mysql_num_rows($r)) {
$o = pmb_mysql_fetch_object($r);
$name = $o->empr_prenom;
$name ? $name .= ' '.$o->empr_nom : $name = $o->empr_nom;
$layout_begin = str_replace('!!nom_lecteur!!', htmlentities($name,ENT_QUOTES,$charset), $layout_begin);
$layout_begin = str_replace('!!cb_lecteur!!', htmlentities($o->empr_cb,ENT_QUOTES,$charset), $layout_begin);
$empr_cb=$o->empr_cb;
$exists=true;
}
}
return $exists;
}
function check_record($id_notice,$id_bulletin) {
global $dbh,$msg;
$id_notice+=0;
$id_bulletin+=0;
$exists=false;
if($id_notice || $id_bulletin) {
$q = "SELECT expl_id FROM exemplaires where expl_notice=$id_notice and expl_bulletin=$id_bulletin LIMIT 1";
$r = pmb_mysql_query($q, $dbh);
if(pmb_mysql_num_rows($r)) {
$exists=true;
}
}
return $exists;
}
//Affichage des réservations planifiées sur le document courant par le lecteur courant
function doc_planning_list($id_empr, $id_notice, $id_bulletin) {
global $msg, $dbh;
$requete3 = "SELECT id_resa, resa_idempr, resa_idnotice, resa_date, resa_date_debut, resa_date_fin, resa_validee, IF(resa_date_fin>=sysdate() or resa_date_fin='0000-00-00',0,1) as perimee, date_format(resa_date_fin, '".$msg["format_date_sql"]."') as aff_date_fin ";
$requete3.= "FROM resa_planning ";
$requete3.= "WHERE resa_idempr='".$id_empr."' and resa_idnotice='".$id_notice."' ";
$result3 = pmb_mysql_query($requete3, $dbh);
if (pmb_mysql_num_rows($result3)) $message_resa = '
'.$msg['resa_planning_enc'].'';
while ($resa = pmb_mysql_fetch_array($result3)) {
$id_resa = $resa['id_resa'];
$resa_idempr = $resa['resa_idempr'];
$resa_idnotice = $resa['resa_idnotice'];
$resa_date = $resa['resa_date'];
$resa_date_debut = $resa['resa_date_debut'];
$resa_date_fin = $resa['resa_date_fin'];
$resa_validee = $resa['resa_validee'];
$message_resa.= "
".$msg['resa_planning_date_debut']." ".formatdate($resa_date_debut)." ".$msg['resa_planning_date_fin']." ".formatdate($resa_date_fin)." " ;
if (!$resa['perimee']) {
if ($resa['resa_validee']) {
$message_resa.= " ".$msg['resa_validee'] ;
} else {
$message_resa.= " ".$msg['resa_attente_validation']." " ;
}
} else {
$message_resa.= " ".$msg['resa_overtime']." " ;
}
$message_resa.= "
" ;
}
return $message_resa;
}
function alert_empr_resa_planning($id_resa=0, $id_empr_concerne=0) {
global $dbh;
global $msg, $charset;
global $PMBuserid, $PMBuseremail, $PMBuseremailbcc ;
global $pdflettreresa_priorite_email ;
global $pdflettreresa_before_list , $pdflettreresa_madame_monsieur, $pdflettreresa_after_list, $pdflettreresa_fdp;
global $biblio_name, $biblio_email ;
global $biblio_adr1, $biblio_adr2, $biblio_cp, $biblio_town, $biblio_phone ;
global $pdflettreresa_priorite_email_manuel;
if ($pdflettreresa_priorite_email_manuel==3) return ;
if(!count($id_resa)) return;
$tmp_id_resa =implode(",",$id_resa);
$query = "select distinct ";
$query .= "trim(concat(ifnull(notices_m.tit1,''),ifnull(notices_s.tit1,''),' ',ifnull(bulletin_numero,''), if (mention_date, concat(' (',mention_date,')') ,''))) as tit, ";
$query .= "date_format(resa_date_fin, '".$msg["format_date"]."') as aff_resa_date_fin, ";
$query .= "date_format(resa_date_debut, '".$msg["format_date"]."') as aff_resa_date_debut, ";
$query .= "empr_prenom, empr_nom, empr_cb, empr_mail, empr_tel1, empr_sms, id_resa, ";
$query .= "trim(concat(ifnull(notices_m.niveau_biblio,''), ifnull(notices_s.niveau_biblio,''))) as niveau_biblio, ";
$query .= "trim(concat(ifnull(notices_m.notice_id,''), ifnull(notices_s.notice_id,''))) as id_notice ";
$query .= "from (((resa_planning LEFT JOIN notices AS notices_m ON resa_idnotice = notices_m.notice_id ) LEFT JOIN bulletins ON resa_idbulletin = bulletins.bulletin_id) LEFT JOIN notices AS notices_s ON bulletin_notice = notices_s.notice_id), empr ";
$query .= "where id_resa in (".$tmp_id_resa.") and resa_validee=1 and resa_idempr=id_empr";
if ($id_empr_concerne) $query .= "and id_empr=$id_empr_concerne ";
$result = pmb_mysql_query($query, $dbh);
if (pmb_mysql_num_rows($result)) {
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=".$charset."\n";
$var = "pdflettreresa_fdp";
eval ("\$pdflettreresa_fdp=\"".${$var}."\";");
// le texte après la liste des ouvrages en résa
$var = "pdflettreresa_after_list";
eval ("\$pdflettreresa_after_list=\"".${$var}."\";");
// le texte avant la liste des ouvrages en réservation
$var = "pdflettreresa_before_list";
eval ("\$pdflettreresa_before_list=\"".${$var}."\";");
// le "Madame, Monsieur," ou tout autre truc du genre "Cher adhérent,"
$var = "pdflettreresa_madame_monsieur";
eval ("\$pdflettreresa_madame_monsieur=\"".${$var}."\";");
while ($o=pmb_mysql_fetch_object($result)) {
if (($pdflettreresa_priorite_email_manuel==1 || $pdflettreresa_priorite_email_manuel==2) && $o->empr_mail) {
$to = $o->empr_prenom." ".$o->empr_nom." <".$o->empr_mail.">";
$output_final = "" ;
$texte_madame_monsieur=str_replace("!!empr_name!!", $o->empr_nom,$pdflettreresa_madame_monsieur);
$texte_madame_monsieur=str_replace("!!empr_first_name!!", $o->empr_prenom,$texte_madame_monsieur);
$output_final .= $texte_madame_monsieur.'
'.$pdflettreresa_before_list ;
$output_final .= '
'.$o->tit.'';
$output_final .= '
' ;
$output_final .= $msg['resa_planning_date_debut'].' '.$o->aff_resa_date_debut.' '.$msg['resa_planning_date_fin'].' '.$o->aff_resa_date_fin ;
$output_final .= '
'.$pdflettreresa_after_list.'
'.$pdflettreresa_fdp."
".mail_bloc_adresse() ;
$output_final .= '';
$res_envoi=mailpmb($o->empr_prenom.' '.$o->empr_nom, $o->empr_mail,$msg['mail_obj_resa_validee'],$output_final,$biblio_name, $biblio_email, $headers, "", $PMBuseremailbcc);
if (!$res_envoi || $pdflettreresa_priorite_email_manuel==2) {
print "";
}
} elseif ($pdflettreresa_priorite_email_manuel!=3) {
print "";
}
$rqt_maj = "update resa_planning set resa_confirmee=1 where id_resa in (".$tmp_id_resa.") and resa_validee=1 " ;
pmb_mysql_query($rqt_maj, $dbh);
}
}
}
?>