db->query($sql_courrier); $f->isDatabaseError($res); while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){ $obj=$row['lettretype']; //if(DBCHARSET=='UTF8'){ // $titre= utf8_decode($lettretype["titre"]); $destinataire=$row['destinataire']; // *** $datecourrier=$row['datecourrier']; $complement=$row['complement']; $complement2=$row['complement2']; $complement3=$row['complement3']; $complement4=$row['complement4']; $complement5=$row['complement5']; $complement6=$row['complement6']; $complement7=$row['complement7']; $complement8=$row['complement8']; $complement9=$row['complement9']; $complement10=$row['complement10']; $complement11=$row['complement11']; $complement12=$row['complement12']; $complement13=$row['complement13']; $complement14=$row['complement14']; $complement15=$row['complement15']; } // ligne a desactiver ========================================================================== //$destinataire =""; //$datecourrier=date('d/m/Y'); //$complement="<-Ici le complement->"; // ============================================================================================= // format date courrier en francais if ($f->formatdate=="AAAA-MM-JJ"){ $valTemp=explode("-",$datecourrier); $datecourrier = $valTemp[2]."/".$valTemp[1]."/".$valTemp[0]; } /** * acces table om_lettretype */ $niveau=''; // requete SQL $sql= "select * from ".DB_PREFIXE."om_lettretype where id='".$obj."'"; // select obj $sql.= " and actif IS TRUE"; $sql.= " and om_collectivite ='".$_SESSION['collectivite']."'"; $res1 = $f->db->query($sql); $f->isDatabaseError($res1); if ($res1->numrows()==0){ $sql="select om_collectivite from ".DB_PREFIXE."om_collectivite where niveau ='2'"; $niveau=$f->db->getOne($sql); //$res1->free(); $sql= "select * from ".DB_PREFIXE."om_lettretype where id='".$obj."'"; // select obj $sql.= " and actif IS TRUE"; $sql.= " and om_collectivite ='".$niveau."'"; $res1 = $f->db->query($sql); $f->isDatabaseError($res1); } if ($res1->numrows()==0){ //$res1->free(); $sql= "select * from ".DB_PREFIXE."om_lettretype where id='".$obj."'"; // select obj $sql.= " and om_collectivite ='".$niveau."'"; $res1 = $f->db->query($sql); $f->isDatabaseError($res1); } set_time_limit(180); //require_once PATH_FPDF."fpdf.php"; require_once "../php/fpdf/fpdf.php"; // *** mettre le path FPDF $collectivite = $f->collectivite; // bug array vide class PDF extends FPDF { /** * Pied de page */ function Footer() { // NUMERO DE PAGE //Positionnement à 1,5 cm du bas $this->SetY(-15); // Police Arial italique 8 $this->SetFont('Arial','I',8); // Numero de page $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C'); } } // INSTANCE PDF ================================================ // orientation P= portrait L=paysage // unite mm (milimetre) // format A4 A3 // ============================================================= $unite="mm"; while ($lettretype =& $res1->fetchRow(DB_FETCHMODE_ASSOC)) { $pdf=new PDF($lettretype["orientation"],$unite,$lettretype["format"]); // methode fpdf calcul nombre de page $pdf->AliasNbPages(); // methode de creation de page $pdf->AddPage(); // police ====================================================== // setFont 0 = times, arial // 1 = I B ou '' // 2 = 8 .... // affichage image ============================================= // image 0 = nom // 1 = left // 2 = top // 3 = width 0=calcul auto // 4 = hauteur 0=calcul auto // 5 = type image rien=exetension du fichier // 6 = lien // setXY (left,top) ============================================= // affichage multicell ========================================== // multicell 0 = width =0 left->droite // 1 = hauteur de la cellule // 2 = texte // 3 = bordure (0 ou 1) // 4 = align (L C R J) // 5 = 0 fd transparent // 1 couleur (parametre à rajouter) // ============================================================== if(file_exists($f->getPathFolderTrs().$lettretype["logo"])) { $pdf->Image($f->getPathFolderTrs().$lettretype["logo"], $lettretype["logoleft"], $lettretype["logotop"], 0, 0, '', ''); } // variables statiques $sql = $lettretype['om_sql']; $titre= $lettretype["titre"]; $corps= $lettretype["corps"]; // include("../dyn/varlettretypepdf.inc"); // $res = $f->db->query($sql); $f->isDatabaseError($res); while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) { // titre $temp = explode("[",$lettretype["titre"]); for($i=1;$i dans titre * // aout 2008 * //************************************************ $pos_t=""; $pos_t = strpos($titre, ""); if(DBCHARSET=='UTF8') $titre= utf8_decode($titre); if ($pos_t === false) { // compatibilite :aucun attribut affichage dans corps //*************************************************************************** if(trim($titre)!="") { $pdf->SetFont($lettretype["titrefont"], $lettretype["titreattribut"], $lettretype["titretaille"]); $pdf->SetXY($lettretype["titreleft"], $lettretype["titretop"]); $pdf->MultiCell($lettretype["titrelargeur"], $lettretype["titrehauteur"], $titre, $lettretype["titrebordure"], $lettretype["titrealign"], 0); } //**************************************************************************** // attribut affichage present dans titre }else{ $pdf->SetY($lettretype["titretop"]); $tmptitre=""; $tmptitre=explode('', $titre); // for($y=0;$y"); // if ($pos1 === false) { if(trim($tmptitre[$y])!="") { $pdf->SetFont($lettretype["titrefont"],$lettretype["titreattribut"],$lettretype["titretaille"]); $pdf->SetX($lettretype["titreleft"]); $pdf->MultiCell($lettretype["titrelargeur"],$lettretype["titrehauteur"],$tmptitre[$y],$lettretype["titrebordure"],$lettretype["titrealign"],0); } }else{ $ctrl_fin_b=0; $ctrl_fin_b=substr_count($tmptitre[$y],""); $lettretype["titreattribut"] = str_replace("B","",$lettretype["titreattribut"]); $lettretype["titreattribut"] = str_replace("b","",$lettretype["titreattribut"]); if ($ctrl_fin_b>1){ // nbr superieur a 1 if(trim($tmptitre[$y])!="") { $pdf->SetFont($lettretype["titrefont"],"B".$lettretype["titreattribut"],$lettretype["titretaille"]); $pdf->SetX($lettretype["titreleft"]); $pdf->MultiCell($lettretype["titrelargeur"],$lettretype["titrehauteur"],$tmptitre[$y],$lettretype["titrebordure"],$lettretype["titrealign"],0); } }else{ $tmptitre1 = explode("",$tmptitre[$y]); // if(trim($tmptitre1[0])!="") { $pdf->SetFont($lettretype["titrefont"],"B".$lettretype["titreattribut"],$lettretype["titretaille"]); $pdf->SetX($lettretype["titreleft"]); $pdf->MultiCell($lettretype["titrelargeur"],$lettretype["titrehauteur"],$tmptitre1[0],$lettretype["titrebordure"],$lettretype["titrealign"],0); } if(trim($tmptitre1[1])!=""){ $pdf->SetFont($lettretype["titrefont"],$lettretype["titreattribut"],$lettretype["titretaille"]); $pdf->SetX($lettretype["titreleft"]); $pdf->MultiCell($lettretype["titrelargeur"],$lettretype["titrehauteur"],$tmptitre1[1],$lettretype["titrebordure"],$lettretype["titrealign"],0); } } // } } } // corps $temp = explode("[",$lettretype["corps"]); for($i=1;$iSetFont($lettretype["corpsfont"],$lettretype["corpsattribut"],$lettretype["corpstaille"]); $pdf->SetXY($lettretype["corpsleft"],$lettretype["corpstop"]); //FIN++ //18//11/2011 AJOUT \p if (strstr($corps,'\p')){ $temp=""; $temp = explode("\p",$corps); //////////////////////// // image en fond de page if (file_exists("../trs/bg_".$obj."1.png")) { $pdf->Image("../trs/bg_".$obj."1.png", 0, 0, 210, 0, '', ''); } //////////////////////// //************************************************ //traitement attribut affichage dans $temp[0]* // aout 2008 * //************************************************ $pos=""; $pos = strpos($temp[0], ""); if ($pos === false) { // compatibilite :aucun attribut affichage dans corps //*************************************************************************** $pdf->MultiCell($lettretype["corpslargeur"],$lettretype["corpshauteur"],$temp[0],$lettretype["corpsbordure"],$lettretype["corpsalign"],0); }else{ $tmp=""; $tmp=explode('', $temp[0]); // for($x=0;$x"); // if ($pos1 === false) { if(trim($tmp[$x])!=""){ $pdf->SetFont($lettretype["corpsfont"],$lettretype["corpsattribut"],$lettretype["corpstaille"]); $pdf->write($lettretype["corpshauteur"],$tmp[$x]); } }else{ $ctrl_fin_b=0; $ctrl_fin_b=substr_count($tmp[$x],""); $lettretype["corpsattribut"] = str_replace("B","",$lettretype["corpsattribut"]); $lettretype["corpsattribut"] = str_replace("b","",$lettretype["corpsattribut"]); if ($ctrl_fin_b>1){ // nbr superieur a 1 if(trim($tmp[$x])!=""){ $pdf->SetFont($lettretype["corpsfont"],"B".$lettretype["corpsattribut"],$lettretype["corpstaille"]); $pdf->write($lettretype["corpshauteur"],$tmp[$x]); } }else{ $tmp1 = explode("",$tmp[$x]); // if(trim($tmp1[0])!=""){ // $nbcar=0; $nbcar=$tmp1[0]; if( strlen($nbcar)==1) { // ??????bug fpdf write si affichage 1 seul caractere -> ajout 2 blancs $pdf->SetFont($lettretype["corpsfont"],"B".$lettretype["corpsattribut"],$lettretype["corpstaille"]); $pdf->write($lettretype["corpshauteur"]," ".$tmp1[0]." "); }else{ $pdf->SetFont($lettretype["corpsfont"],"B".$lettretype["corpsattribut"],$lettretype["corpstaille"]); $pdf->write($lettretype["corpshauteur"],$tmp1[0]); } } if(trim($tmp1[1])!=""){ $pdf->SetFont($lettretype["corpsfont"],$lettretype["corpsattribut"],$lettretype["corpstaille"]); $pdf->write($lettretype["corpshauteur"],$tmp1[1]); } } // } } } for($i=1;$iAddPage(); $pdf->SetFont($lettretype["corpsfont"],$lettretype["corpsattribut"],$lettretype["corpstaille"]); $pdf->SetXY($lettretype["corpsleft"],$lettretype["titretop"]); //////////////////////// // image en fond de page if (file_exists("../trs/bg_".$obj.($i+1).".png")) { $pdf->Image("../trs/bg_".$obj.($i+1).".png", 0, 0, 210, 0, '', ''); } //************************************************ //traitement attribut affichage dans $temp[$i]* // aout 2008 * //************************************************ $pos=""; $pos = strpos($temp[$i], ""); if ($pos === false) { // compatibilite :aucun attribut affichage dans corps //*************************************************************************** $pdf->MultiCell($lettretype["corpslargeur"],$lettretype["corpshauteur"],$temp[$i],$lettretype["corpsbordure"],$lettretype["corpsalign"],0); }else{ $tmp=""; $tmp=explode('', $temp[$i]); // for($x=0;$x"); // if ($pos1 === false) { if(trim($tmp[$x])!=""){ $pdf->SetFont($lettretype["corpsfont"],$lettretype["corpsattribut"],$lettretype["corpstaille"]); $pdf->write($lettretype["corpshauteur"],$tmp[$x]); } }else{ $ctrl_fin_b=0; $ctrl_fin_b=substr_count($tmp[$x],""); $lettretype["corpsattribut"] = str_replace("B","",$lettretype["corpsattribut"]); $lettretype["corpsattribut"] = str_replace("b","",$lettretype["corpsattribut"]); if ($ctrl_fin_b>1){ // nbr superieur a 1 if(trim($tmp[$x])!=""){ $pdf->SetFont($lettretype["corpsfont"],"B".$lettretype["corpsattribut"],$lettretype["corpstaille"]); $pdf->write($lettretype["corpshauteur"],$tmp[$x]); } }else{ $tmp1 = explode("",$tmp[$x]); // if(trim($tmp1[0])!=""){ // $nbcar=0; $nbcar=$tmp1[0]; if( strlen($nbcar)==1) { // ??????bug fpdf write si affichage 1 seul caractere -> ajout 2 blancs $pdf->SetFont($lettretype["corpsfont"],"B".$lettretype["corpsattribut"],$lettretype["corpstaille"]); $pdf->write($lettretype["corpshauteur"]," ".$tmp1[0]." "); }else{ $pdf->SetFont($lettretype["corpsfont"],"B".$lettretype["corpsattribut"],$lettretype["corpstaille"]); $pdf->write($lettretype["corpshauteur"],$tmp1[0]); } } if(trim($tmp1[1])!=""){ $pdf->SetFont($lettretype["corpsfont"],$lettretype["corpsattribut"],$lettretype["corpstaille"]); $pdf->write($lettretype["corpshauteur"],$tmp1[1]); } } // } } } } }else{ //18/11/2011 fin ajout \p //************************************************ // traitement attribut affichage dans corps * // aout 2008 * //************************************************ $pos=""; $pos = strpos($corps, ""); if(DBCHARSET=='UTF8') $corps= utf8_decode($corps); if ($pos === false) { // compatibilite :aucun attribut affichage dans corps //*************************************************************************** if(trim($corps)!="") { $pdf->SetFont($lettretype["corpsfont"], $lettretype["corpsattribut"], $lettretype["corpstaille"]); $pdf->SetXY($lettretype["corpsleft"], $lettretype["corpstop"]); $pdf->MultiCell($lettretype["corpslargeur"], $lettretype["corpshauteur"] , $corps, $lettretype["corpsbordure"], $lettretype["corpsalign"], 0); } //**************************************************************************** // attribut affichage present dans corps }else{ $pdf->SetXY($lettretype["corpsleft"],$lettretype["corpstop"]); $tmp=""; $tmp=explode('', $corps); // for($x=0;$x"); // if ($pos1 === false) { if(trim($tmp[$x])!=""){ $pdf->SetFont($lettretype["corpsfont"],$lettretype["corpsattribut"],$lettretype["corpstaille"]); $pdf->write($lettretype["corpshauteur"],$tmp[$x]); } }else{ $ctrl_fin_b=0; $ctrl_fin_b=substr_count($tmp[$x],""); $lettretype["corpsattribut"] = str_replace("B","",$lettretype["corpsattribut"]); $lettretype["corpsattribut"] = str_replace("b","",$lettretype["corpsattribut"]); if ($ctrl_fin_b>1){ // nbr superieur a 1 if(trim($tmp[$x])!=""){ $pdf->SetFont($lettretype["corpsfont"],"B".$lettretype["corpsattribut"],$lettretype["corpstaille"]); $pdf->write($lettretype["corpshauteur"],$tmp[$x]); } }else{ $tmp1 = explode("",$tmp[$x]); // if(trim($tmp1[0])!=""){ // $nbcar=0; $nbcar=$tmp1[0]; if( strlen($nbcar)==1) { // ??????bug fpdf write si affichage 1 seul caractere -> ajout 2 blancs $pdf->SetFont($lettretype["corpsfont"],"B".$lettretype["corpsattribut"],$lettretype["corpstaille"]); $pdf->write($lettretype["corpshauteur"]," ".$tmp1[0]." "); }else{ $pdf->SetFont($lettretype["corpsfont"],"B".$lettretype["corpsattribut"],$lettretype["corpstaille"]); $pdf->write($lettretype["corpshauteur"],$tmp1[0]); } } if(trim($tmp1[1])!=""){ $pdf->SetFont($lettretype["corpsfont"],$lettretype["corpsattribut"],$lettretype["corpstaille"]); $pdf->write($lettretype["corpshauteur"],$tmp1[1]); } } // } } } } //18/11/2011 fin de 'pas de \p' // fermeture pdf $pdf->Output($obj.date("dmY").".pdf","D"); } } ?>