예제 #1
0
    $coch_groupe[0] = $id_groupe;
}
while ($coch_groupe[$j]) {
    $id_groupe = $coch_groupe[$j];
    $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
    groupe_adresse($id_groupe, 130, 10 + $offsety, $dbh, true);
    date_edition(10, 15 + $offsety);
    $ourPDF->SetXY(10, 15 + $offsety);
    $ourPDF->setFont($pmb_pdf_font, 'BI', 14);
    $ourPDF->multiCell(190, 20, $msg["prets_en_cours"], 0, 'L', 0);
    $i = 0;
    $nb_page = 0;
    $indice_page = 0;
    $nb_par_page = 21;
    $nb_1ere_page = 19;
    $taille_bloc_expl = 12;
    $debut_expl_1er_page = 35 + $offsety;
    $debut_expl_page = 10;
    $limite_after_list = 250;
    //requete par rapport à un groupe d'emprunteurs
    $rqt1 = "select empr_id 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";
예제 #2
0
 function buildPdfLoansRunningGroup($id_groupe = '')
 {
     global $dbh, $fpdf, $msg, $ourPDF;
     global $class_path, $include_path;
     global $pdflettreretard_1largeur_page, $pdflettreretard_1hauteur_page, $pdflettreretard_1format_page;
     global $pmb_pdf_font, $pmb_pdf_fontfixed, $pmb_hide_biblioinfo_letter;
     if (!$id_groupe) {
         throw new Exception("Missing parameter : id_groupe");
     }
     $this->get_texts(1);
     $largeur_page = $pdflettreretard_1largeur_page;
     $hauteur_page = $pdflettreretard_1hauteur_page;
     $taille_doc = array($largeur_page, $hauteur_page);
     $format_page = $pdflettreretard_1format_page;
     // inclusion de la classe de gestion des impressions PDF
     // Definition de la police si pas définie dans les paramètres
     if (!$pmb_pdf_font) {
         $pmb_pdf_font = 'pmb';
     }
     if (!$pmb_pdf_fontfixed) {
         $pmb_pdf_fontfixed = 'pmbmono';
     }
     define('FPDF_FONTPATH', "{$class_path}/font/");
     // Démarrage et configuration du pdf
     $ourPDF = new $fpdf($format_page, 'mm', $taille_doc);
     $ourPDF->Open();
     $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);
     }
     groupe_adresse($id_groupe, 150, 10 + $offsety, $dbh, true);
     date_edition(10, 15 + $offsety);
     $ourPDF->SetXY(10, 15 + $offsety);
     //		$ourPDF->setFont($pmb_pdf_font, 'BI', 14);
     $ourPDF->multiCell(190, 20, $msg["prets_en_cours"], 0, 'L', 0);
     $i = 0;
     $nb_page = 0;
     $indice_page = 0;
     $nb_par_page = 21;
     $nb_1ere_page = 19;
     $taille_bloc_expl = 12;
     $debut_expl_1er_page = 35 + $offsety;
     $debut_expl_page = 10;
     //requete par rapport à un groupe d'emprunteurs
     $rqt1 = "select empr_id 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);
     while ($data1 = pmb_mysql_fetch_array($req1)) {
         $id_empr = $data1['empr_id'];
         if ($nb_page == 0 && $indice_page == $nb_1ere_page) {
             $ourPDF->addPage();
             $nb_page++;
             $indice_page = 0;
         } elseif ($nb_page >= 1 && ($indice_page - $nb_1ere_page) % $nb_par_page == 0) {
             $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;
         }
         lecteur_info($id_empr, 10, $pos_page, $dbh, 1, 0);
         $indice_page++;
         //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);
         while ($data = pmb_mysql_fetch_array($req)) {
             if ($nb_page == 0 && $indice_page == $nb_1ere_page) {
                 $ourPDF->addPage();
                 $nb_page++;
                 $indice_page = 0;
             } elseif ($nb_page >= 1 && ($indice_page - $nb_1ere_page) % $nb_par_page == 0) {
                 $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;
             }
             expl_info($data['expl_cb'], 10, $pos_page - 5, $dbh, 1, 80);
             $indice_page++;
         }
     }
     return $ourPDF;
 }
예제 #3
0
파일: fpdf.inc.php 프로젝트: bouchra012/PMB
function lettre_retard_par_groupe($id_groupe, $lecteurs_ids = array())
{
    global $ourPDF, $dbh, $msg;
    global $pmb_pdf_font;
    // les variables sont lues en dehors
    global $marge_page_gauche, $marge_page_droite, $largeur_page, $fdp_group, $after_list_group, $limite_after_list, $before_list_group, $madame_monsieur_group, $nb_1ere_page, $nb_par_page, $taille_bloc_expl, $debut_expl_1er_page, $debut_expl_page;
    global $pmb_hide_biblioinfo_letter;
    $ourPDF->addPage();
    date_jour(($largeur_page - $marge_page_droite - $marge_page_gauche) / 2, 98);
    if (!$pmb_hide_biblioinfo_letter) {
        biblio_info($marge_page_gauche, 15);
    }
    groupe_adresse($id_groupe, $marge_page_gauche + 90, 45, $dbh);
    $rqt = "select empr_nom, empr_prenom from empr join groupe on id_empr=resp_groupe where id_groupe='" . $id_groupe . "'";
    $req = mysql_query($rqt) or die('Erreur SQL !<br />' . $rqt . '<br />' . mysql_error());
    if (mysql_num_rows($req) == 1) {
        $r = mysql_fetch_object($req);
        $texte_madame_monsieur_group = str_replace("!!empr_name!!", $r->empr_nom, $madame_monsieur_group);
        $texte_madame_monsieur_group = str_replace("!!empr_first_name!!", $r->empr_prenom, $texte_madame_monsieur_group);
    } else {
        $texte_madame_monsieur_group = str_replace("!!empr_name!!", "", $madame_monsieur_group);
        $texte_madame_monsieur_group = str_replace("!!empr_first_name!!", "", $texte_madame_monsieur_group);
    }
    $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_group, 0, 'L', 0);
    $ourPDF->multiCell($largeur_page - $marge_page_droite - $marge_page_gauche, 8, $before_list_group, 0, 'J', 0);
    // compter les totaux pour ce groupe et les retards
    $sqlcount = "SELECT count(pret_idexpl) as combien , IF(pret_retour>=curdate(),0,1) as retard ";
    $sqlcount .= "FROM exemplaires, empr, pret, empr_groupe, groupe ";
    $sqlcount .= "WHERE pret.pret_idempr = empr.id_empr AND pret.pret_idexpl = exemplaires.expl_id AND empr_groupe.empr_id = empr.id_empr AND groupe.id_groupe = empr_groupe.groupe_id and id_groupe={$id_groupe} group by retard order by retard ";
    $reqcount = mysql_query($sqlcount) or die(mysql_error() . "<br />" . $sqlcount);
    $nbok = 0;
    $nbretard = 0;
    while ($datacount = mysql_fetch_object($reqcount)) {
        if ($datacount->retard == 0) {
            $nbok = $datacount->combien;
        }
        if ($datacount->retard == 1) {
            $nbretard = $datacount->combien;
        }
    }
    $retard_sur_total = str_replace("!!nb_retards!!", $nbretard * 1, $msg[n_retards_sur_total_de]);
    $retard_sur_total = str_replace("!!nb_total!!", ($nbretard + $nbok) * 1, $retard_sur_total);
    $ourPDF->multiCell($largeur_page - $marge_page_droite - $marge_page_gauche, 8, $retard_sur_total, 0, 'L', 0);
    if ($lecteurs_ids) {
        $lecteur_ids_text = " AND id_empr in (" . implode(",", $lecteurs_ids) . ")";
    } else {
        $lecteur_ids_text = "";
    }
    $rqt = "select  empr_id, expl_cb from pret, exemplaires, empr_groupe, empr where groupe_id='" . $id_groupe . "' and pret_retour < curdate() and pret_idexpl=expl_id and empr_id=pret_idempr and empr_id=id_empr {$lecteur_ids_text} order by empr_nom, empr_prenom, pret_date ";
    $req = mysql_query($rqt, $dbh) or die($msg['err_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;
        }
        expl_retard_empr($data['empr_id'], $data['expl_cb'], $marge_page_gauche, $pos_page, $largeur_page - $marge_page_droite - $marge_page_gauche, 10, $dbh);
        $i++;
        $indice_page++;
    }
    $ourPDF->setFont($pmb_pdf_font, '', 12);
    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_group . "\n\n", 0, 'J', 0);
    $ourPDF->setFont($pmb_pdf_font, 'I', 12);
    $ourPDF->multiCell($largeur_page - $marge_page_droite - $marge_page_gauche, 8, $fdp_group, 0, 'R', 0);
}