Example #1
0
// 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;
 }
Example #6
0
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);
}