// reçoit : id_empr // Démarrage et configuration du pdf $ourPDF = new $fpdf('P', 'mm', 'A4'); $ourPDF->Open(); //requete par rapport à un emprunteur $rqt = "select expl_cb from pret, exemplaires where pret_idempr='" . $id_empr . "' and pret_idexpl=expl_id order by pret_date "; $req = mysql_query($rqt) or die($msg['err_sql'] . '<br />' . $rqt . '<br />' . mysql_error()); $count = mysql_num_rows($req); $ourPDF->addPage(); //$ourPDF->SetMargins(10,10,10); $ourPDF->SetLeftMargin(10); $ourPDF->SetTopMargin(10); // paramétrage spécifique à ce document : $offsety = 0; if (!$pmb_hide_biblioinfo_letter) { biblio_info(10, 10, 1); } $offsety = (ceil($ourPDF->GetStringWidth($biblio_name) / 90) - 1) * 10; //90=largeur de la cell, 10=hauteur d'une ligne lecteur_info($id_empr, 90, 10 + $offsety, $dbh, 1, 1); date_edition(10, 15 + $offsety); $ourPDF->SetXY(10, 22 + $offsety); $ourPDF->setFont($pmb_pdf_font, 'BI', 14); $ourPDF->multiCell(190, 20, $msg["prets_en_cours"] . " (" . $count . ")", 0, 'L', 0); $indice_page = 0; $nb_page = 0; $nb_par_page = 21; $nb_1ere_page = 19; $taille_bloc = 12; $debut_expl_1er_page = 35 + $offsety; $debut_expl_page = 10;
$ourPDF->multiCell($largeur_page - $marge_page_droite - $marge_page_gauche, 8, $texte_madame_monsieur, 0, 'L', 0); // mettre ici le texte $empr_temp = new emprunteur($empr->id_empr, '', FALSE, 0); $texte_relance = $texte; $texte_relance = str_replace("!!date_fin_adhesion!!", $empr_temp->aff_date_expiration, $texte_relance); $ourPDF->SetXY($marge_page_gauche, 135); $ourPDF->multiCell($largeur_page - $marge_page_droite - $marge_page_gauche, 8, $texte_relance, 0, 'J', 0); // $ourPDF->multiCell($largeur_page - $marge_page_droite - $marge_page_gauche, 8, $fdp, 0, 'R', 0); } pmb_mysql_free_result($res); } else { $ourPDF->addPage(); $ourPDF->SetMargins($marge_page_gauche, $marge_page_gauche); if (!$pmb_hide_biblioinfo_letter) { biblio_info($marge_page_gauche, 10); } lecteur_adresse($id_empr, $marge_page_gauche + 90, 45, $dbh, !$pmb_afficher_numero_lecteur_lettres); $rqt = "select empr_nom, empr_prenom from empr where id_empr='" . $id_empr . "'"; $req = pmb_mysql_query($rqt) or die('Erreur SQL !<br />' . $rqt . '<br />' . pmb_mysql_error()); $r = pmb_mysql_fetch_object($req); $texte_madame_monsieur = str_replace("!!empr_name!!", $r->empr_nom, $madame_monsieur); $texte_madame_monsieur = str_replace("!!empr_first_name!!", $r->empr_prenom, $texte_madame_monsieur); $ourPDF->SetXY($marge_page_gauche, 125); $ourPDF->setFont($pmb_pdf_font, '', 12); $ourPDF->multiCell($largeur_page - $marge_page_droite - $marge_page_gauche, 8, $texte_madame_monsieur, 0, 'L', 0); // mettre ici le texte $empr_temp = new emprunteur($id_empr, '', FALSE, 0); $texte = str_replace("!!date_fin_adhesion!!", $empr_temp->aff_date_expiration, $texte); $ourPDF->SetXY($marge_page_gauche, 135); $ourPDF->multiCell($largeur_page - $marge_page_droite - $marge_page_gauche, 8, $texte, 0, 'J', 0);
// liste des prêts et réservations // prise en compte du param d'envoi de ticket de prêt électronique // la liste n'est envoyée que si pas de cb_doc, si cb_doc, c'est que c'est un ticket unique d'un prêt et dans ce cas, le ticket électronique est envoyé par pret.inc.php if ($empr_electronic_loan_ticket && !$cb_doc && $param_popup_ticket) { electronic_ticket($id_empr); } // popup d'impression PDF pour fiche lecteur // reçoit : id_empr et éventuellement cb_doc // Démarrage et configuration du pdf $ourPDF = new $fpdf('P', 'mm', 'A4'); $ourPDF->Open(); $ourPDF->addPage(); $ourPDF->SetLeftMargin(10); $ourPDF->SetTopMargin(10); $offsety = 40; biblio_info(10, 10); lecteur_info($id_empr, 90, 10 + $offsety, $dbh); date_edition(10, 70 + $offsety); if ($cb_doc == "") { $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) or die($msg['err_sql'] . '<br />' . $rqt . '<br />' . pmb_mysql_error()); $ourPDF->SetXY(10, 80 + $offsety); $ourPDF->setFont($pmb_pdf_font, 'BI', 20); $ourPDF->multiCell(190, 20, $msg["prets_en_cours"], 0, 'L', 0); $i = 0; $nb_page = 0; $nb_par_page = 10; $nb_1ere_page = 7; $taille_bloc = 18; while ($data = pmb_mysql_fetch_array($req)) { if ($nb_page == 0 && $i < $nb_1ere_page) {
function buildPdfLoansRunningReader($id_empr, $location_biblio) { global $dbh, $fpdf, $ourPDF, $msg, $pmb_lecteurs_localises; global $pmb_hide_biblioinfo_letter; global $biblio_name; //récupère les informations sur la structure $this->infos_biblio($location_biblio); // liste des prêts et réservations // prise en compte du param d'envoi de ticket de prêt électronique si l'utilisateur le veut ! // if ($empr_electronic_loan_ticket && $param_popup_ticket) { // electronic_ticket($id_empr) ; // } // popup d'impression PDF pour fiche lecteur // reçoit : id_empr // Démarrage et configuration du pdf $ourPDF = new $fpdf('P', 'mm', 'A4'); $ourPDF->Open(); //requete par rapport à un emprunteur $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); $count = pmb_mysql_num_rows($req); $ourPDF->addPage(); //$ourPDF->SetMargins(10,10,10); $ourPDF->SetLeftMargin(10); $ourPDF->SetTopMargin(10); // paramétrage spécifique à ce document : $offsety = 0; if (!$pmb_hide_biblioinfo_letter) { biblio_info(10, 10, 1); } $offsety = (ceil($ourPDF->GetStringWidth($biblio_name) / 90) - 1) * 10; //90=largeur de la cell, 10=hauteur d'une ligne lecteur_info($id_empr, 90, 10 + $offsety, $dbh, 1, 1); date_edition(10, 15 + $offsety); $ourPDF->SetXY(10, 22 + $offsety); $ourPDF->setFont($pmb_pdf_font, 'BI', 14); $ourPDF->multiCell(190, 20, $msg["prets_en_cours"] . " (" . $count . ")", 0, 'L', 0); $i = 0; $nb_page = 0; $nb_par_page = 21; $nb_1ere_page = 19; $taille_bloc = 12; while ($data = pmb_mysql_fetch_array($req)) { if ($nb_page == 0 && $i < $nb_1ere_page) { $pos_page = 35 + $offsety + $taille_bloc * $i; } if ($nb_page == 0 && $i == $nb_1ere_page || ($i - $nb_1ere_page) % $nb_par_page == 0) { $ourPDF->addPage(); $nb_page++; } if ($nb_page >= 1) { $pos_page = 10 + $taille_bloc * ($i - $nb_1ere_page - ($nb_page - 1) * $nb_par_page); } expl_info($data['expl_cb'], 10, $pos_page, $dbh, 1, 80); $i++; } pmb_mysql_free_result($req); return $ourPDF; }
function generatePdfReaderSubscription($id_empr, $empr_location_id) { global $dbh, $fpdf, $ourPDF, $pmb_pdf_font; global $format_page, $marge_page_gauche, $marge_page_droite, $largeur_page, $fdp, $after_list, $limite_after_list, $before_list, $madame_monsieur, $nb_1ere_page, $nb_par_page, $taille_bloc_expl, $debut_expl_1er_page, $debut_expl_page, $before_recouvrement, $after_recouvrement, $texte; global $pmb_hide_biblioinfo_letter; $this->infos_biblio($empr_location_id); // la formule de politesse du bas (le signataire) $var = "pdflettreadhesion_fdp"; global ${$var}; eval("\$fdp=\"" . ${$var} . "\";"); // le "Madame, Monsieur," ou tout autre truc du genre "Cher adhérent," $var = "pdflettreadhesion_madame_monsieur"; global ${$var}; eval("\$madame_monsieur=\"" . ${$var} . "\";"); // le texte $var = "pdflettreadhesion_texte"; global ${$var}; eval("\$texte=\"" . ${$var} . "\";"); // la marge gauche des pages $var = "pdflettreadhesion_marge_page_gauche"; global ${$var}; $marge_page_gauche = ${$var}; // la marge droite des pages $var = "pdflettreadhesion_marge_page_droite"; global ${$var}; $marge_page_droite = ${$var}; // la largeur des pages $var = "pdflettreadhesion_largeur_page"; global ${$var}; $largeur_page = ${$var}; // la hauteur des pages $var = "pdflettreadhesion_hauteur_page"; global ${$var}; $hauteur_page = ${$var}; // le format des pages $var = "pdflettreadhesion_format_page"; global ${$var}; $format_page = ${$var}; $taille_doc = array($largeur_page, $hauteur_page); $ourPDF = new $fpdf($format_page, 'mm', $taille_doc); $ourPDF->Open(); $ourPDF->addPage(); $ourPDF->SetMargins($marge_page_gauche, $marge_page_gauche); if (!$pmb_hide_biblioinfo_letter) { biblio_info($marge_page_gauche, 10); } lecteur_adresse($id_empr, $marge_page_gauche + 90, 45, $dbh, !$pmb_afficher_numero_lecteur_lettres); $ourPDF->SetXY($marge_page_gauche, 125); $ourPDF->setFont($pmb_pdf_font, '', 12); $ourPDF->multiCell($largeur_page - $marge_page_droite - $marge_page_gauche, 8, $madame_monsieur, 0, 'L', 0); // mettre ici le texte $empr_temp = new emprunteur($id_empr, '', FALSE, 0); $texte = str_replace("!!date_fin_adhesion!!", $empr_temp->aff_empr_date_expiration, $texte); $ourPDF->SetXY($marge_page_gauche, 135); $ourPDF->multiCell($largeur_page - $marge_page_droite - $marge_page_gauche, 8, $texte, 0, 'J', 0); $ourPDF->multiCell($largeur_page - $marge_page_droite - $marge_page_gauche, 8, $fdp, 0, 'R', 0); return $ourPDF; }
function lettre_resa_planning_par_lecteur($id_empr) { global $ourPDF, $dbh, $msg, $nb_page, $nb_1ere_page, $nb_par_page, $pmb_afficher_numero_lecteur_lettres; // les variables sont lues en dehors global $marge_page_gauche, $marge_page_droite, $largeur_page, $fdp, $after_list, $limite_after_list, $before_list, $madame_monsieur, $nb_1ere_page, $nb_par_page, $taille_bloc_expl, $debut_expl_1er_page, $debut_expl_page; global $pmb_pdf_font; global $pmb_afficher_numero_lecteur_lettres; global $pmb_hide_biblioinfo_letter; $ourPDF->addPage(); if (!$pmb_hide_biblioinfo_letter) { biblio_info($marge_page_gauche, 10); } lecteur_adresse($id_empr, $marge_page_gauche + 90, 45, $dbh, !$pmb_afficher_numero_lecteur_lettres, false, true); $rqt = "select empr_nom, empr_prenom from empr where id_empr='" . $id_empr . "'"; $req = mysql_query($rqt) or die('Erreur SQL !<br />' . $rqt . '<br />' . mysql_error()); $r = mysql_fetch_object($req); $texte_madame_monsieur = str_replace("!!empr_name!!", $r->empr_nom, $madame_monsieur); $texte_madame_monsieur = str_replace("!!empr_first_name!!", $r->empr_prenom, $texte_madame_monsieur); $ourPDF->SetXY($marge_page_gauche, 125); $ourPDF->setFont($pmb_pdf_font, '', 12); $ourPDF->multiCell($largeur_page - $marge_page_droite - $marge_page_gauche, 8, $texte_madame_monsieur, 0, 'L', 0); $ourPDF->multiCell($largeur_page - $marge_page_droite - $marge_page_gauche, 8, $before_list, 0, 'J', 0); $rqt = "select id_resa from resa_planning where resa_idempr='{$id_empr}' order by resa_date_debut "; $req = mysql_query($rqt, $dbh) or die('Erreur SQL !<br />' . $rqt . '<br />' . mysql_error()); $i = 0; $nb_page = 0; $indice_page = 0; while ($data = mysql_fetch_array($req)) { if ($nb_page == 0 && $i == $nb_1ere_page) { $ourPDF->addPage(); $nb_page++; $indice_page = 0; } elseif ($nb_page >= 1 && ($i - $nb_1ere_page) % $nb_par_page == 0 || $ourPDF->GetY() > $limite_after_list) { $ourPDF->addPage(); $nb_page++; $indice_page = 0; } if ($nb_page == 0) { $pos_page = $debut_expl_1er_page + $taille_bloc_expl * $indice_page; } else { $pos_page = $debut_expl_page + $taille_bloc_expl * $indice_page; } notice_resa_planning($data['id_resa'], $marge_page_gauche, $pos_page, $largeur_page - $marge_page_droite - $marge_page_gauche, 10, $dbh); $i++; $indice_page++; //echo "<br /> $i "; } //echo "<br />pos_page: $pos_page <br />taille_bloc_expl: $taille_bloc_expl <br />limite_after_list: $limite_after_list "; exit ; $ourPDF->setFont($pmb_pdf_font, '', 12); // dépassement sur autre page de cette partie if ($pos_page + $taille_bloc_expl > $limite_after_list) { $ourPDF->addPage(); $pos_after_list = $debut_expl_page; } else { $pos_after_list = $pos_page + $taille_bloc_expl; } $ourPDF->SetXY($marge_page_gauche, $pos_after_list); $ourPDF->multiCell($largeur_page - $marge_page_droite - $marge_page_gauche, 8, $after_list . "\n\n", 0, 'J', 0); $ourPDF->setFont($pmb_pdf_font, 'I', 12); $ourPDF->multiCell($largeur_page - $marge_page_droite - $marge_page_gauche, 8, $fdp, 0, 'R', 0); }