function confirmResaReader($id_resa = 0, $id_empr_concerne = 0, $f_loc = 0) { global $dbh; global $msg, $charset; global $PMBuserid, $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 $pmb_transferts_actif, $transferts_choix_lieu_opac; global $empr_sms_activation; global $empr_sms_msg_resa_dispo; // global $deflt2docs_location; if (SESSrights & CIRCULATION_AUTH) { if ($pdflettreresa_priorite_email == 3) { return; } $this->infos_biblio(); // $this->infos_biblio($deflt2docs_location); $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 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 (" . $id_resa . ") and resa_idempr=id_empr "; $query .= "and resa_confirmee=0"; if ($id_empr_concerne) { $query .= " and id_empr={$id_empr_concerne} "; } if ($f_loc) { $query .= " and empr_location={$f_loc} "; } $result = mysql_query($query, $dbh); $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 ouvrges 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} . "\";"); $tab_resa = array(); while ($empr = mysql_fetch_object($result)) { $id_empr = $empr->id_empr; $rqt_maj = "update resa set resa_confirmee=1 where id_resa in (" . $id_resa . ") AND resa_cb is not null and resa_cb!=''"; if ($id_empr_concerne) { $rqt_maj .= " and resa_idempr={$id_empr_concerne} "; } mysql_query($rqt_maj, $dbh); if (($pdflettreresa_priorite_email == 1 || $pdflettreresa_priorite_email == 2) && $empr->empr_mail) { $to = $empr->empr_prenom . " " . $empr->empr_nom . " <" . $empr->empr_mail . ">"; $output_final = "<html><body>"; $pdflettreresa_madame_monsieur = str_replace("!!empr_first_name!!", $empr->empr_prenom, $pdflettreresa_madame_monsieur); $output_final .= "{$pdflettreresa_madame_monsieur} <br />" . $pdflettreresa_before_list; if ($empr->niveau_biblio == 'm' || $empr->niveau_biblio == 'b') { $affichage = new mono_display($empr->id_notice, 0, '', '', '', '', '', '', '', '', '', '', '', true, '', ''); $output_final .= "<hr /><strong>" . $affichage->header . "</strong>"; } elseif ($empr->niveau_biblio == 's' || $empr->niveau_biblio == 'a') { $affichage_perio = new serial_display($empr->id_notice, 0); $output_final .= "<hr /><strong>" . $affichage_perio->header . "</strong>"; } $output_final .= "<br />"; $output_final .= $msg['fpdf_valide'] . " " . $empr->aff_resa_date_debut . " " . $msg['fpdf_valable'] . " " . $empr->aff_resa_date_fin; $lieu_retrait = ""; if ($pmb_transferts_actif && $transferts_choix_lieu_opac == 3) { $rqt = "select resa_confirmee, resa_cb,resa_loc_retrait from resa where id_resa in (" . $id_resa . ") and resa_cb is not null and resa_cb!='' "; $res = mysql_query($rqt, $dbh); if ($resa_lue = mysql_fetch_object($res)) { if ($resa_lue->resa_confirmee) { if ($resa_lue->resa_loc_retrait) { $loc_retait = $resa_lue->resa_loc_retrait; } else { $rqt = "select expl_location from exemplaires where expl_cb='" . $resa_lue->resa_cb . "' "; $res = mysql_query($rqt, $dbh); if ($res_expl = mysql_fetch_object($res)) { $loc_retait = $res_expl->expl_location; } } $rqt = "select location_libelle from docs_location where idlocation=" . $loc_retait; $res = mysql_query($rqt, $dbh); if ($res_expl = mysql_fetch_object($res)) { $lieu_retrait = str_replace("!!location!!", $res_expl->location_libelle, $msg["resa_lettre_lieu_retrait"]); } } } } $output_final .= "<br />{$lieu_retrait}<br /><hr />{$pdflettreresa_after_list} <br />" . $pdflettreresa_fdp; $output_final .= "<br /><br />" . mail_bloc_adresse(); $output_final .= "</body></html> "; if (is_resa_confirme($empr->id_resa)) { $res_envoi = mailpmb($empr->empr_prenom . " " . $empr->empr_nom, $empr->empr_mail, $msg["mail_obj_resa_validee"] . " : " . $empr->empr_prenom . " " . mb_strtoupper($empr->empr_nom, $charset) . " (" . $empr->empr_cb . ")", $output_final, $biblio_name, $biblio_email, $headers, "", $PMBuseremailbcc, 1); } if (!$res_envoi || $pdflettreresa_priorite_email == 2) { if (is_resa_confirme($empr->id_resa)) { array_push($tab_resa, $empr->id_resa); } } } elseif ($pdflettreresa_priorite_email != 3) { if (is_resa_confirme($empr->id_resa)) { array_push($tab_resa, $empr->id_resa); } } if (is_resa_confirme($empr->id_resa) && $empr_sms_activation && $empr->empr_tel1 && $empr->empr_sms && $empr_sms_msg_resa_dispo) { $res_envoi_sms = send_sms(1, 0, $empr->empr_tel1, $empr_sms_msg_resa_dispo); } } // end while $valeur_tab = implode(',', $tab_resa); if ($valeur_tab) { return $valeur_tab; } else { return ""; } } else { return; } }
if ($tit_serie) { $expl->tit = $tit_serie . '. ' . $expl->tit; } $texte_mail .= $expl->tit . $auteur . "\r\n"; $texte_mail .= " -" . $msg[fpdf_date_pret] . " : " . $expl->aff_pret_date . " " . $msg[fpdf_retour_prevu] . " : " . $expl->aff_pret_retour . "\r\n"; $texte_mail .= " -" . $expl->location_libelle . ": " . $expl->section_libelle . " (" . $expl->expl_cb . ")\r\n\r\n\r\n"; $i++; } $texte_mail .= "\r\n"; if ($after_list) { $texte_mail .= $after_list . "\r\n\r\n"; } if ($fdp) { $texte_mail .= $fdp . "\r\n\r\n"; } $texte_mail .= mail_bloc_adresse(); //Si mail de rappel affecté au responsable du groupe $requete = "select id_groupe,resp_groupe from groupe,empr_groupe where id_groupe=groupe_id and empr_id={$id_empr} and resp_groupe and mail_rappel limit 1"; $res = pmb_mysql_query($requete); /* Récupération du nom, prénom et mail du lecteur destinataire */ if (pmb_mysql_num_rows($res) > 0) { $requete = "select id_empr, empr_mail, empr_nom, empr_prenom from empr where id_empr='" . pmb_mysql_result($res, 0, 1) . "'"; $result = pmb_mysql_query($requete); $coords_dest = pmb_mysql_fetch_object($result); } else { $requete = "select id_empr, empr_mail, empr_nom, empr_prenom from empr where id_empr={$id_empr}"; $result = pmb_mysql_query($requete); $coords_dest = pmb_mysql_fetch_object($result); } /* Récupération du nom, prénom et mail du lecteur concerné */ $requete = "select id_empr, empr_mail, empr_nom, empr_prenom, empr_cb from empr where id_empr={$id_empr}";
$output_final .= "<hr />"; } } if ($charset != 'utf-8') { $output_final = cp1252Toiso88591($output_final); } switch ($environement['output']) { case 'email': $headers = "MIME-Version: 1.0\n"; $headers .= "Content-type: text/html; charset=" . $charset . "\n"; $f_objet_mail = $msg['print_emailobj'] . " - {$biblio_name} - {$date_today} "; $f_message_to_send = ""; if ($environement["emailcontent"]) { $f_message_to_send .= $msg["523"] . $environement["emailcontent"] . "<br />"; } $f_message_to_send .= $output_final . '<br /><br />' . mail_bloc_adresse() . "</body></html> "; $emaildest = $_SESSION["PRINT"]["emaildest"]; $res_envoi = mailpmb("", $emaildest, $f_objet_mail, $f_message_to_send, $PMBuserprenom . " " . $PMBusernom, $PMBuseremail, $headers, "", $PMBuseremailbcc); if ($res_envoi) { print "{$pheader}\n<br /><br /><center><h3>" . sprintf($msg["print_emailsucceed"], $emaildest) . "</h3><br /><a href=\"\" onClick=\"self.close(); return false;\">" . $msg["print_emailclose"] . "</a></center></body></html>"; } else { print "{$pheader}\n<br /><br /><center><h3>" . sprintf($msg["print_emailfailed"], $emaildest) . "</h3><br /><a href=\"\" onClick=\"self.close(); return false;\">" . $msg["print_emailclose"] . "</a></center></body></html>"; } break; case 'printer': $output_final .= '<script type="text/javascript">self.print();</script>'; $output_final .= '</body></html>'; print pmb_bidi($output_final); break; case 'tt': $output_final .= '</body></html>';
function alert_empr_resa($id_resa = 0, $id_empr_concerne = 0, $print_mode = 0) { global $dbh; global $msg, $charset; global $PMBuserid, $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 $bouton_impr_conf, $pdflettreresa_priorite_email_manuel; global $pmb_transferts_actif, $transferts_choix_lieu_opac; global $empr_sms_activation; global $empr_sms_msg_resa_dispo; global $use_opac_url_base; $use_opac_url_base = 1; // si c'est une impression à partir du bouton, on prend le paramètre ad hoc if ($bouton_impr_conf) { $pdflettreresa_priorite_email = $pdflettreresa_priorite_email_manuel; } if ($pdflettreresa_priorite_email == 3) { return; } $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 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 (" . $id_resa . ") and resa_idempr=id_empr"; if ($id_empr_concerne) { $query .= " and id_empr={$id_empr_concerne} "; } $result = mysql_query($query, $dbh); $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 ouvrges 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} . "\";"); $tab_resa = array(); while ($empr = mysql_fetch_object($result)) { $id_empr = $empr->id_empr; $rqt_maj = "update resa set resa_confirmee=1 where id_resa in (" . $id_resa . ") AND resa_cb is not null and resa_cb!=''"; if ($id_empr_concerne) { $rqt_maj .= " and resa_idempr={$id_empr_concerne} "; } mysql_query($rqt_maj, $dbh); if (($pdflettreresa_priorite_email == 1 || $pdflettreresa_priorite_email == 2) && $empr->empr_mail) { $to = $empr->empr_prenom . " " . $empr->empr_nom . " <" . $empr->empr_mail . ">"; $output_final = "<html><body>"; $texte_madame_monsieur = str_replace("!!empr_name!!", $empr->empr_nom, $pdflettreresa_madame_monsieur); $texte_madame_monsieur = str_replace("!!empr_first_name!!", $empr->empr_prenom, $texte_madame_monsieur); $output_final .= "{$texte_madame_monsieur} <br />" . $pdflettreresa_before_list; if ($empr->niveau_biblio == 'm' || $empr->niveau_biblio == 'b') { $affichage = new mono_display($empr->id_notice, 0, '', '', '', '', '', '', '', '', '', '', '', true, '', ''); $output_final .= "<hr /><strong>" . $affichage->header . "</strong>"; } elseif ($empr->niveau_biblio == 's' || $empr->niveau_biblio == 'a') { $affichage_perio = new serial_display($empr->id_notice, 0); $output_final .= "<hr /><strong>" . $affichage_perio->header . "</strong>"; } $rqt_detail = "select resa_confirmee, resa_cb,location_libelle, expl_cote from resa\n\t\t\tleft join exemplaires on expl_cb=resa_cb\n\t\t\tleft join docs_location on idlocation=expl_location\n\t\t\twhere id_resa ={$id_resa} and resa_cb is not null and resa_cb!='' "; $res_detail = mysql_query($rqt_detail); $expl_detail = mysql_fetch_object($res_detail); $output_final .= "<br />"; $output_final .= strip_tags($msg[291] . " : " . $expl_detail->resa_cb . " {$msg['296']} : " . $expl_detail->expl_cote); $output_final .= "<br />"; $output_final .= $msg['fpdf_valide'] . " " . $empr->aff_resa_date_debut . " " . $msg['fpdf_valable'] . " " . $empr->aff_resa_date_fin; $lieu_retrait = ""; if ($pmb_transferts_actif && $transferts_choix_lieu_opac == 3) { $rqt = "select resa_confirmee, resa_cb,resa_loc_retrait from resa where id_resa in (" . $id_resa . ") and resa_cb is not null and resa_cb!='' "; $res = mysql_query($rqt, $dbh); if ($resa_lue = mysql_fetch_object($res)) { if ($resa_lue->resa_confirmee) { if ($resa_lue->resa_loc_retrait) { $loc_retait = $resa_lue->resa_loc_retrait; } else { $rqt = "select expl_location from exemplaires where expl_cb='" . $resa_lue->resa_cb . "' "; $res = mysql_query($rqt, $dbh); if ($res_expl = mysql_fetch_object($res)) { $loc_retait = $res_expl->expl_location; } } $rqt = "select location_libelle from docs_location where idlocation=" . $loc_retait; $res = mysql_query($rqt, $dbh); if ($res_expl = mysql_fetch_object($res)) { $lieu_retrait = str_replace("!!location!!", $res_expl->location_libelle, $msg["resa_lettre_lieu_retrait"]); } } } } else { $lieu_retrait = str_replace("!!location!!", $expl_detail->location_libelle, $msg["resa_lettre_lieu_retrait"]); } $output_final .= "<br />{$lieu_retrait}<br /><hr />{$pdflettreresa_after_list} <br />" . $pdflettreresa_fdp; $output_final .= "<br /><br />" . mail_bloc_adresse(); $output_final .= "</body></html> "; if (is_resa_confirme($empr->id_resa)) { $res_envoi = mailpmb($empr->empr_prenom . " " . $empr->empr_nom, $empr->empr_mail, $msg["mail_obj_resa_validee"] . " : " . $empr->empr_prenom . " " . mb_strtoupper($empr->empr_nom, $charset) . " (" . $empr->empr_cb . ")", $output_final, $biblio_name, $biblio_email, $headers, "", $PMBuseremailbcc, 1); } if (!$res_envoi || $pdflettreresa_priorite_email == 2) { if (is_resa_confirme($empr->id_resa)) { array_push($tab_resa, $empr->id_resa); } } } elseif ($pdflettreresa_priorite_email != 3) { if (is_resa_confirme($empr->id_resa)) { array_push($tab_resa, $empr->id_resa); } } if (is_resa_confirme($empr->id_resa) && $empr->empr_tel1 && $empr->empr_sms && $empr_sms_msg_resa_dispo) { $res_envoi_sms = send_sms(1, 0, $empr->empr_tel1, $empr_sms_msg_resa_dispo); } } // end while $valeur_tab = implode(',', $tab_resa); if ($valeur_tab && !$print_mode) { print "<script type='text/javascript'>openPopUp('./pdf.php?pdfdoc=lettre_resa&id_resa={$valeur_tab}', 'lettre_confirm_resa" . $id_resa . "', 600, 500, -2, -2, 'toolbar=no, dependent=yes, resizable=yes, scrollbars=yes');</script>"; } }
function send_mail($id_empr, $relance) { global $pmb_gestion_devise, $msg, $charset; global $biblio_name, $biblio_email, $biblio_phone, $PMBuseremailbcc; // l'objet du mail $var = "mailretard_" . $relance . "objet"; global ${$var}; eval("\$objet=\"" . ${$var} . "\";"); // la formule de politesse du bas (le signataire) $var = "mailretard_" . $relance . "fdp"; global ${$var}; eval("\$fdp=\"" . ${$var} . "\";"); // le texte après la liste des ouvrages en retard $var = "mailretard_" . $relance . "after_list"; global ${$var}; eval("\$after_list=\"" . ${$var} . "\";"); // le texte avant la liste des ouvrges en retard $var = "mailretard_" . $relance . "before_list"; global ${$var}; eval("\$before_list=\"" . ${$var} . "\";"); // le "Madame, Monsieur," ou tout autre truc du genre "Cher adhérent," $var = "mailretard_" . $relance . "madame_monsieur"; global ${$var}; eval("\$madame_monsieur=\"" . ${$var} . "\";"); if ($madame_monsieur) { $texte_mail .= $madame_monsieur . "\r\n\r\n"; } if ($before_list) { $texte_mail .= $before_list . "\r\n\r\n"; } //Récupération des exemplaires $rqt = "select pret_idempr, expl_id, expl_cb from pret, exemplaires where pret_idempr='" . $id_empr . "' and pret_retour < curdate() and pret_idexpl=expl_id order by pret_date "; $req = pmb_mysql_query($rqt) or die('Erreur SQL !<br />' . $rqt . '<br />' . pmb_mysql_error()); $i = 0; $total_amendes = 0; //Calcul des frais de relance $id_compte = comptes::get_compte_id_from_empr($id_empr, 2); if ($id_compte) { $cpte = new comptes($id_compte); $frais_relance = $cpte->summarize_transactions("", "", 0, $realisee = -1); if ($frais_relance < 0) { $frais_relance = -$frais_relance; } else { $frais_relance = 0; } } while ($data = pmb_mysql_fetch_array($req)) { //Calcul des amendes $valeur = 0; $amende = new amende($data["pret_idempr"]); $amd = $amende->get_amende($data["expl_id"]); if ($amd["valeur"]) { $valeur = $amd["valeur"]; $total_amendes += $valeur; } /* Récupération des infos exemplaires et prêt */ $requete = "SELECT notices_m.notice_id as m_id, notices_s.notice_id as s_id, expl_cb, pret_date, pret_retour, tdoc_libelle, trim(concat(ifnull(notices_m.tit1,''),ifnull(notices_s.tit1,''),' ',ifnull(bulletin_numero,''), if (mention_date, concat(' (',mention_date,')') ,''))) as tit, "; $requete .= " date_format(pret_date, '" . $msg["format_date"] . "') as aff_pret_date, "; $requete .= " date_format(pret_retour, '" . $msg["format_date"] . "') as aff_pret_retour, "; $requete .= " IF(pret_retour>sysdate(),0,1) as retard, notices_m.tparent_id, notices_m.tnvol "; $requete .= "FROM (((exemplaires LEFT JOIN notices AS notices_m ON expl_notice = notices_m.notice_id ) LEFT JOIN bulletins ON expl_bulletin = bulletins.bulletin_id) LEFT JOIN notices AS notices_s ON bulletin_notice = notices_s.notice_id), docs_type , pret "; $requete .= "WHERE expl_cb='" . addslashes($data['expl_cb']) . "' and expl_typdoc = idtyp_doc and pret_idexpl = expl_id "; $res = pmb_mysql_query($requete); $expl = pmb_mysql_fetch_object($res); $responsabilites = array(); $header_aut = ""; $responsabilites = get_notice_authors($expl->m_id + $expl->s_id); $as = array_search("0", $responsabilites["responsabilites"]); if ($as !== FALSE && $as !== NULL) { $auteur_0 = $responsabilites["auteurs"][$as]; $auteur = new auteur($auteur_0["id"]); $header_aut .= $auteur->isbd_entry; } else { $aut1_libelle = array(); $as = array_keys($responsabilites["responsabilites"], "1"); for ($i = 0; $i < count($as); $i++) { $indice = $as[$i]; $auteur_1 = $responsabilites["auteurs"][$indice]; $auteur = new auteur($auteur_1["id"]); $aut1_libelle[] = $auteur->isbd_entry; } $header_aut .= implode(", ", $aut1_libelle); } $header_aut ? $auteur = " / " . $header_aut : ($auteur = ""); // récupération du titre de série $tit_serie = ""; if ($expl->tparent_id && $expl->m_id) { $parent = new serie($expl->tparent_id); $tit_serie = $parent->name; if ($expl->tnvol) { $tit_serie .= ', ' . $expl->tnvol; } } if ($tit_serie) { $expl->tit = $tit_serie . '. ' . $expl->tit; } $texte_mail .= $expl->tit . $auteur . "\r\n"; $texte_mail .= " -" . sprintf($msg["relance_mail_retard_dates"], $expl->aff_pret_date, $expl->aff_pret_retour); if ($valeur) { $texte_mail .= " " . sprintf($msg["relance_mail_retard_amende"], comptes::format_simple($valeur)); } $texte_mail .= "\r\n"; $i++; } if ($total_amendes) { $texte_mail .= "\r\n" . sprintf($msg["relance_mail_retard_total_amendes"], comptes::format_simple($total_amendes)); } if ($frais_relance) { $texte_mail .= "\r\n" . $msg["relance_lettre_retard_frais_relance"] . comptes::format_simple($frais_relance); } if ($frais_relance && $total_amendes) { $texte_mail .= "\r\n" . $msg["relance_lettre_retard_total_du"] . comptes::format_simple($total_amendes + $frais_relance); } $texte_mail .= "\r\n\r\n"; if ($after_list) { $texte_mail .= $after_list . "\r\n\r\n"; } if ($fdp) { $texte_mail .= $fdp . "\r\n\r\n"; } $texte_mail .= mail_bloc_adresse(); //Si mail de rappel affecté au responsable du groupe $requete = "select id_groupe,resp_groupe from groupe,empr_groupe where id_groupe=groupe_id and empr_id={$id_empr} and resp_groupe and mail_rappel limit 1"; $res = pmb_mysql_query($requete); /* Récupération du nom, prénom et mail du lecteur destinataire */ if (pmb_mysql_num_rows($res) > 0) { $requete = "select id_empr, empr_mail, empr_nom, empr_prenom from empr where id_empr='" . pmb_mysql_result($res, 0, 1) . "'"; $result = pmb_mysql_query($requete); $coords_dest = pmb_mysql_fetch_object($result); } else { $requete = "select id_empr, empr_mail, empr_nom, empr_prenom from empr where id_empr={$id_empr}"; $res = pmb_mysql_query($requete); $coords_dest = pmb_mysql_fetch_object($res); } /* Récupération du nom, prénom et mail du lecteur concerné */ $requete = "select id_empr, empr_mail, empr_nom, empr_prenom, empr_cb from empr where id_empr={$id_empr}"; $res = pmb_mysql_query($requete); $coords = pmb_mysql_fetch_object($res); //remplacement nom et prenom $texte_mail = str_replace("!!empr_name!!", $coords->empr_nom, $texte_mail); $texte_mail = str_replace("!!empr_first_name!!", $coords->empr_prenom, $texte_mail); // function mailpmb($to_nom="", $to_mail, $obj="", $corps="", $from_name="", $from_mail, $headers, $copie_CC="", $copie_BCC="", $faire_nl2br=0, $pieces_jointes=array()) { $res_envoi = mailpmb($coords_dest->empr_prenom . " " . $coords_dest->empr_nom, $coords_dest->empr_mail, $objet . " : " . $coords->empr_prenom . " " . mb_strtoupper($coords->empr_nom, $charset) . " (" . $coords->empr_cb . ")", $texte_mail, $biblio_name, $biblio_email, "Content-Type: text/plain; charset=\"{$charset}\"\n", "", $PMBuseremailbcc, 1); return $res_envoi; }
} } //print "</table>"; if ($output == "printer") { $output_final .= "<script>self.print();</script>"; } } if ($opac_parse_html) { $output_final = parseHTML($output_final); } if ($output != "email") { print pmb_bidi($output_final . "</body></html>"); } else { $headers = "MIME-Version: 1.0\n"; $headers .= "Content-type: text/html; charset=" . $charset . "\n"; $res_envoi = mailpmb("", $emaildest, $msg["print_emailobj"] . " {$opac_biblio_name} - {$date_today} ", ($emailcontent ? $msg["print_emailcontent"] . $emailcontent . "<br />" : '') . $output_final . "<br /><br />" . mail_bloc_adresse() . "</body></html> ", $opac_biblio_name, $opac_biblio_email, $headers); $vide_cache = filemtime("./styles/" . $css . "/" . $css . ".css"); if ($res_envoi) { print "<html><head><meta http-equiv=Content-Type content=\"text/html; charset=" . $charset . "\" /><title>" . $msg["print_title"] . "</title></head><body><link rel=\"stylesheet\" href=\"./styles/" . $css . "/{$css}.css?" . $vide_cache . "\" />\n<br /><br /><center><h3>" . sprintf($msg["print_emailsucceed"], $emaildest) . "</h3><br />\n\t\t<a href=\"\" onClick=\"self.close(); return false;\">" . $msg["print_emailclose"] . "</a></center></body></html>"; } else { echo "<html><head><meta http-equiv=Content-Type content=\"text/html; charset=" . $charset . "\" /><title>" . $msg["print_title"] . "</title></head><body><link rel=\"stylesheet\" href=\"./styles/" . $css . "/{$css}.css?" . $vide_cache . "\" />\n<br /><br /><center><h3>" . sprintf($msg["print_emailfailed"], $emaildest) . "</h3><br />\n\t\t<a href=\"\" onClick=\"self.close(); return false;\">" . $msg["print_emailclose"] . "</a></center></body></html>"; } } global $pmb_logs_activate; if ($pmb_logs_activate) { global $log, $infos_notice, $infos_expl; $rqt = " select empr_prof,empr_cp, empr_ville as ville, empr_year, empr_sexe, empr_date_adhesion, empr_date_expiration, count(pret_idexpl) as nbprets, count(resa.id_resa) as nbresa, code.libelle as codestat, es.statut_libelle as statut, categ.libelle as categ, gr.libelle_groupe as groupe,dl.location_libelle as location \n\t\t\tfrom empr e\n\t\t\tleft join empr_codestat code on code.idcode=e.empr_codestat\n\t\t\tleft join empr_statut es on e.empr_statut=es.idstatut\n\t\t\tleft join empr_categ categ on categ.id_categ_empr=e.empr_categ\n\t\t\tleft join empr_groupe eg on eg.empr_id=e.id_empr\n\t\t\tleft join groupe gr on eg.groupe_id=gr.id_groupe\n\t\t\tleft join docs_location dl on e.empr_location=dl.idlocation\n\t\t\tleft join resa on e.id_empr=resa_idempr\n\t\t\tleft join pret on e.id_empr=pret_idempr\n\t\t\twhere e.empr_login='******'\n\t\t\tgroup by resa_idempr, pret_idempr"; $res = mysql_query($rqt); if ($res) { $empr_carac = mysql_fetch_array($res); $log->add_log('empr', $empr_carac);
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 = "<html><body>"; $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 . ' <br />' . $pdflettreresa_before_list; $output_final .= '<hr /><strong>' . $o->tit . '</strong>'; $output_final .= '<br />'; $output_final .= $msg['resa_planning_date_debut'] . ' ' . $o->aff_resa_date_debut . ' ' . $msg['resa_planning_date_fin'] . ' ' . $o->aff_resa_date_fin; $output_final .= '<hr />' . $pdflettreresa_after_list . ' <br />' . $pdflettreresa_fdp . "<br /><br />" . mail_bloc_adresse(); $output_final .= '</body></html>'; $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 "<script type='text/javascript'>openPopUp('./pdf.php?pdfdoc=lettre_resa_planning&id_resa={$tmp_id_resa}', 'lettre_confirm_resa" . $tmp_id_resa . "', 600, 500, -2, -2, 'toolbar=no, dependent=yes, resizable=yes, scrollbars=yes');</script>"; } } elseif ($pdflettreresa_priorite_email_manuel != 3) { print "<script type='text/javascript'>openPopUp('./pdf.php?pdfdoc=lettre_resa_planning&id_resa={$tmp_id_resa}', 'lettre_confirm_resa" . $tmp_id_resa . "', 600, 500, -2, -2, 'toolbar=no, dependent=yes, resizable=yes, scrollbars=yes');</script>"; } $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); } } }
/** * * Envoi de mail auto * @param $type_send READER=1,GROUP=2 * @param $ident */ function sendMailLoansRunning($type_send, $ident, $location_biblio) { global $dbh, $msg, $pmb_lecteurs_localises; global $mailretard_1fdp, $biblio_name, $biblio_email, $PMBuseremailbcc; $this->infos_biblio($location_biblio); if (!$relance) { $relance = 1; } // l'objet du mail $objet = $msg["prets_en_cours"]; //Date de l'édition $date_edition = $msg['fpdf_edite'] . " " . formatdate(date("Y-m-d", time())); // la formule de politesse du bas (le signataire) $formule = $mailretard_1fdp; $texte_mail = $objet . "\r\n"; $texte_mail .= $date_edition . "\r\n\r\n"; // if ($id_groupe) { // //requete par rapport à un groupe d'emprunteurs // $rqt1 = "select id_empr, empr_nom, empr_prenom from empr_groupe, empr, pret where groupe_id='".$id_groupe."' and empr_groupe.empr_id=empr.id_empr and pret.pret_idempr=empr_groupe.empr_id group by empr_id order by empr_nom, empr_prenom"; // $req1 = pmb_mysql_query($rqt1) or die($msg['err_sql'].'<br />'.$rqt1.'<br />'.pmb_mysql_error()); // } // // if ($id_empr) { // //requete par rapport à un emprunteur // $rqt1 = "select id_empr, empr_nom, empr_prenom from empr_groupe, empr, pret where id_empr='".$id_empr."' and empr_groupe.empr_id=empr.id_empr and pret.pret_idempr=empr_groupe.empr_id group by empr_id order by empr_nom, empr_prenom"; // $req1 = pmb_mysql_query($rqt1) or die($msg['err_sql'].'<br />'.$rqt1.'<br />'.pmb_mysql_error()); // } if ($ident) { if ($type_send == 1) { //requete par rapport à un emprunteur $rqt1 = "select id_empr, empr_nom, empr_prenom from empr_groupe, empr, pret where id_empr='" . $ident . "' and empr_groupe.empr_id=empr.id_empr and pret.pret_idempr=empr_groupe.empr_id group by empr_id order by empr_nom, empr_prenom"; $req1 = pmb_mysql_query($rqt1); } else { if ($type_send == 2) { //requete par rapport à un groupe d'emprunteurs $rqt1 = "select id_empr, empr_nom, empr_prenom from empr_groupe, empr, pret where groupe_id='" . $ident . "' and empr_groupe.empr_id=empr.id_empr and pret.pret_idempr=empr_groupe.empr_id group by empr_id order by empr_nom, empr_prenom"; $req1 = pmb_mysql_query($rqt1); } } } while ($data1 = pmb_mysql_fetch_array($req1)) { $id_empr = $data1['id_empr']; $texte_mail .= $data1['empr_nom'] . " " . $data1['empr_prenom'] . "\r\n\r\n"; //Récupération des exemplaires $rqt = "select expl_cb from pret, exemplaires where pret_idempr='" . $id_empr . "' and pret_idexpl=expl_id order by pret_date "; $req = pmb_mysql_query($rqt); $i = 0; while ($data = pmb_mysql_fetch_array($req)) { /* Récupération des infos exemplaires et prêt */ $requete = "SELECT notices_m.notice_id as m_id, notices_s.notice_id as s_id, expl_cb, pret_date, pret_retour, tdoc_libelle, section_libelle, location_libelle, trim(concat(ifnull(notices_m.tit1,''),ifnull(notices_s.tit1,''),' ',ifnull(bulletin_numero,''), if (mention_date, concat(' (',mention_date,')') ,''))) as tit, "; $requete .= " date_format(pret_date, '" . $msg["format_date"] . "') as aff_pret_date, "; $requete .= " date_format(pret_retour, '" . $msg["format_date"] . "') as aff_pret_retour, "; $requete .= " IF(pret_retour>sysdate(),0,1) as retard, notices_m.tparent_id, notices_m.tnvol "; $requete .= "FROM (((exemplaires LEFT JOIN notices AS notices_m ON expl_notice = notices_m.notice_id ) LEFT JOIN bulletins ON expl_bulletin = bulletins.bulletin_id) LEFT JOIN notices AS notices_s ON bulletin_notice = notices_s.notice_id), docs_type, docs_section, docs_location, pret "; $requete .= "WHERE expl_cb='" . $data['expl_cb'] . "' and expl_typdoc = idtyp_doc and expl_section = idsection and expl_location = idlocation and pret_idexpl = expl_id "; $res = pmb_mysql_query($requete, $dbh); $expl = pmb_mysql_fetch_object($res); $responsabilites = array(); $header_aut = ""; $responsabilites = get_notice_authors($expl->m_id + $expl->s_id); $as = array_search("0", $responsabilites["responsabilites"]); if ($as !== FALSE && $as !== NULL) { $auteur_0 = $responsabilites["auteurs"][$as]; $auteur = new auteur($auteur_0["id"]); $header_aut .= $auteur->isbd_entry; } else { $aut1_libelle = array(); $as = array_keys($responsabilites["responsabilites"], "1"); for ($i = 0; $i < count($as); $i++) { $indice = $as[$i]; $auteur_1 = $responsabilites["auteurs"][$indice]; $auteur = new auteur($auteur_1["id"]); $aut1_libelle[] = $auteur->isbd_entry; } $header_aut .= implode(", ", $aut1_libelle); } $header_aut ? $auteur = " / " . $header_aut : ($auteur = ""); // récupération du titre de série if ($expl->tparent_id && $expl->m_id) { $parent = new serie($expl->tparent_id); $tit_serie = $parent->name; if ($expl->tnvol) { $tit_serie .= ', ' . $expl->tnvol; } } if ($tit_serie) { $expl->tit = $tit_serie . '. ' . $expl->tit; } $texte_mail .= $expl->tit . $auteur . "\r\n"; $texte_mail .= " -" . $msg[fpdf_date_pret] . " : " . $expl->aff_pret_date . " " . $msg[fpdf_retour_prevu] . " : " . $expl->aff_pret_retour . "\r\n"; $texte_mail .= " -" . $expl->location_libelle . ": " . $expl->section_libelle . " (" . $expl->expl_cb . ")\r\n\r\n"; $i++; } } $texte_mail .= $formule . "\r\n\r\n" . mail_bloc_adresse(); /* Récupération du nom, prénom et mail de l'utilisateur */ $requete = "select id_empr, empr_mail, empr_nom, empr_prenom from empr where id_empr={$id_empr}"; $res = pmb_mysql_query($requete); $coords = pmb_mysql_fetch_object($res); $headers .= "Content-type: text/plain; charset=" . $charset . "\n"; $res_envoi = mailpmb($coords->empr_prenom . " " . $coords->empr_nom, $coords->empr_mail, $objet, $texte_mail, $biblio_name, $biblio_email, $headers, "", $PMBuseremailbcc, 1); if ($res_envoi) { return sprintf($msg["mail_retard_succeed"], $coords->empr_mail); } else { return sprintf($msg["mail_retard_failed"], $coords->empr_mail); } }
$tit_serie = ""; if ($expl->tparent_id && $expl->m_id) { $parent = new serie($expl->tparent_id); $tit_serie = $parent->name; if ($expl->tnvol) { $tit_serie .= ', ' . $expl->tnvol; } } if ($tit_serie) { $expl->tit = $tit_serie . '. ' . $expl->tit; } $texte_mail .= $expl->tit . $auteur . "\r\n"; $texte_mail .= " -" . $msg[fpdf_date_pret] . " : " . $expl->aff_pret_date . " " . $msg[fpdf_retour_prevu] . " : " . $expl->aff_pret_retour . "\r\n"; $texte_mail .= " -" . $expl->location_libelle . ": " . $expl->section_libelle . " (" . $expl->expl_cb . ")\r\n\r\n\r\n"; $i++; } } $texte_mail .= "\r\n" . $after_list; $texte_mail .= "\r\n\r\n" . $fdp . "\r\n\r\n" . mail_bloc_adresse(); /* Récupération du nom, prénom et mail de l'utilisateur */ $requete = "select id_empr, empr_mail, empr_nom, empr_prenom from empr, groupe where empr.id_empr=groupe.resp_groupe and id_groupe={$id_groupe}"; $res = pmb_mysql_query($requete); $coords = pmb_mysql_fetch_object($res); $headers .= "Content-type: text/plain; charset=" . $charset . "\n"; $res_envoi = mailpmb($coords->empr_prenom . " " . $coords->empr_nom, $coords->empr_mail, $objet, $texte_mail, $biblio_name, $biblio_email, $headers, "", $PMBuseremailbcc, 1); if ($res_envoi) { echo "<center><h3>" . sprintf($msg["mail_retard_succeed"], $coords->empr_mail) . "</h3><br /><a href=\"\" onClick=\"self.close(); return false;\">" . $msg["mail_retard_close"] . "</a></center><br /><br />" . nl2br($texte_mail); } else { echo "<center><h3>" . sprintf($msg["mail_retard_failed"], $coords->empr_mail) . "</h3><br /><a href=\"\" onClick=\"self.close(); return false;\">" . $msg["mail_retard_close"] . "</a></center>"; } }
function generateMailReadersSubscription($id_empr, $empr_location_id) { global $mailrelanceadhesion_objet, $mailrelanceadhesion_fdp, $mailrelanceadhesion_madame_monsieur, $mailrelanceadhesion_texte; $this->infos_biblio($empr_location_id); // l'objet du mail $var = "mailrelanceadhesion_objet"; eval("\$objet=\"" . ${$var} . "\";"); // la formule de politesse du bas (le signataire) $var = "mailrelanceadhesion_fdp"; eval("\$fdp=\"" . ${$var} . "\";"); // le "Madame, Monsieur," ou tout autre truc du genre "Cher adhérent," $var = "mailrelanceadhesion_madame_monsieur"; eval("\$madame_monsieur=\"" . ${$var} . "\";"); // le texte $var = "mailrelanceadhesion_texte"; eval("\$texte=\"" . ${$var} . "\";"); // mettre ici le texte $coords = new emprunteur($id_empr, '', FALSE, 0); if ($madame_monsieur) { $texte_mail = $madame_monsieur . "\r\n\r\n"; } $texte_mail .= $texte . "\r\n"; if ($fdp) { $texte_mail .= $fdp . "\r\n\r\n"; } $texte_mail .= mail_bloc_adresse(); $texte_mail = str_replace("!!date_fin_adhesion!!", $coords->aff_empr_date_expiration, $texte_mail); //remplacement nom et prenom $texte_mail = str_replace("!!empr_name!!", $coords->nom, $texte_mail); $texte_mail = str_replace("!!empr_first_name!!", $coords->prenom, $texte_mail); $headers .= "Content-type: text/plain; charset=" . $charset . "\n"; $res_envoi = mailpmb($coords->prenom . " " . $coords->nom, $coords->mail, $objet, $texte_mail, $biblio_name, $biblio_email, $headers, "", $PMBuseremailbcc, 1); return $res_envoi; }
$header_aut ? $auteur = " / " . $header_aut : ($auteur = ""); // récupération du titre de série $tit_serie = ""; if ($expl->tparent_id && $expl->m_id) { $parent = new serie($expl->tparent_id); $tit_serie = $parent->name; if ($expl->tnvol) { $tit_serie .= ', ' . $expl->tnvol; } } if ($tit_serie) { $expl->tit = $tit_serie . '. ' . $expl->tit; } $texte_mail .= $expl->tit . $auteur . "\r\n"; $texte_mail .= " -" . $msg[fpdf_date_pret] . " : " . $expl->aff_pret_date . " " . $msg[fpdf_retour_prevu] . " : " . $expl->aff_pret_retour . "\r\n"; $texte_mail .= " -" . $expl->location_libelle . ": " . $expl->section_libelle . " (" . $expl->expl_cb . ")\r\n\r\n"; $i++; } } $texte_mail .= $formule . "\r\n\r\n" . mail_bloc_adresse(); /* Récupération du nom, prénom et mail de l'utilisateur */ $requete = "select id_empr, empr_mail, empr_nom, empr_prenom from empr where id_empr={$id_empr}"; $res = mysql_query($requete); $coords = mysql_fetch_object($res); $headers .= "Content-type: text/plain; charset=" . $charset . "\n"; $res_envoi = mailpmb($coords->empr_prenom . " " . $coords->empr_nom, $coords->empr_mail, $objet, $texte_mail, $biblio_name, $biblio_email, $headers, "", $PMBuseremailbcc, 1); if ($res_envoi) { echo "<center><h3>" . sprintf($msg["mail_retard_succeed"], $coords->empr_mail) . "</h3><br /><a href=\"\" onClick=\"self.close(); return false;\">" . $msg["mail_retard_close"] . "</a></center><br /><br />" . nl2br($texte_mail); } else { echo "<center><h3>" . sprintf($msg["mail_retard_failed"], $coords->empr_mail) . "</h3><br /><a href=\"\" onClick=\"self.close(); return false;\">" . $msg["mail_retard_close"] . "</a></center>"; }