collectivite; // Variable permettant de stocker l'identifiant de la collectivité de niveau 2 $niveau = ""; /** * Ces paramètres sont ici pour une raison de rétro-compatibilité * @todo Vérifier qu'il n'est pas possible de les supprimer de ce fichier et de * les gérer dans dyn/varlettretypepdf.inc ce qui est déjà en partie le * cas */ // $destinataire = ""; // $datecourrier = date('d/m/Y'); // $complement = "<-Ici le complement->"; /** * Gestion de la sélection des paramètres de l'édition à générer * en fonction du paramètre actif et/ou du niveau de la collectivité */ // On récupère l'enregistrement 'om_lettretype' de la collectivité en cours dans // l'état 'actif' $sql = " select * from ".DB_PREFIXE."om_lettretype "; $sql .= " where id='".$obj."' "; $sql .= " and actif IS TRUE "; $sql .= " and om_collectivite='".$_SESSION['collectivite']."' "; $res1 = $f->db->query($sql); $f->addToLog("pdflettretype.php: db->query(\"".$sql."\");", VERBOSE_MODE); $f->isDatabaseError($res1); // Si on obtient aucun résultat if ($res1->numrows() == 0) { // On libère le résultat de la requête précédente $res1->free(); // On récupère l'identifiant de la collectivité de niveau 2 $sql = " select om_collectivite from ".DB_PREFIXE."om_collectivite "; $sql .= " where niveau='2' "; $niveau = $f->db->getone($sql); $f->addToLog("pdflettretype.php: db->getone(\"".$sql."\");", VERBOSE_MODE); $f->isDatabaseError($niveau); // On récupère l'enregistrement 'om_lettretype' de la collectivité de niveau // 2 dans l'état 'actif' $sql = " select * from ".DB_PREFIXE."om_lettretype "; $sql .= " where id='".$obj."' "; $sql .= " and actif IS TRUE "; $sql .= " and om_collectivite='".$niveau."' "; $res1 = $f->db->query($sql); $f->addToLog("pdflettretype.php: db->query(\"".$sql."\");", VERBOSE_MODE); $f->isDatabaseError($res1); // Si on obtient aucun résultat if ($res1->numrows() == 0) { // On libère le résultat de la requête précédente $res1->free(); // On récupère l'enregistrement 'om_lettretype' de la collectivité de // niveau 2 dans n'importe quel état $sql = " select * from ".DB_PREFIXE."om_lettretype "; $sql .= " where id='".$obj."' "; $sql .= " and om_collectivite='".$niveau."' "; $res1 = $f->db->query($sql); $f->addToLog("pdflettretype.php: db->query(\"".$sql."\");", VERBOSE_MODE); $f->isDatabaseError($res1); } } /** * */ // set_time_limit(180); // require_once "fpdf.php"; // 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'); } } /** * */ // while ($edition =& $res1->fetchRow(DB_FETCHMODE_ASSOC)) { /** * */ // $pdf = new PDF($edition["orientation"], "mm", $edition["format"]); // Définit un alias pour le nombre total de pages $pdf->AliasNbPages(); // Ajoute une nouvelle page à l'édition $pdf->AddPage(); /** * Affichage du logo */ // Récupération du path du logo à afficher $path_logo = $f->getPathFolderTrs().$edition['logo']; // Placement d'une image - aucune dimension explicite, auquel cas l'image // est dimensionnée en 96 dpi $pdf->Image($path_logo, $edition["logoleft"], $edition["logotop"], 0, 0); /** * */ // Variables statiques contenant des paramètres à remplacer $sql = $edition['om_sql']; $titre = $edition["titre"]; $corps = $edition["corps"]; // Remplacement des paramètres dans le fichier ../dyn/varlettretypepdf.inc if (file_exists("../dyn/varlettretypepdf.inc")) { include "../dyn/varlettretypepdf.inc"; } // Exécution de la requête SQL de l'édition $res = $f->db->query($sql); $f->addToLog("pdflettretype.php: db->query(\"".$sql."\");", VERBOSE_MODE); $f->isDatabaseError($res); // while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) { ////// // TITRE ////// // Explosion des champs à récupérer depuis la requête $temp = explode("[", $edition["titre"]); // for ($i = 1; $i < sizeof($temp); $i++) { // $temp1 = explode("]", $temp[$i]); // $titre = str_replace("[".$temp1[0]."]", $row[$temp1[0]], $titre); // $temp1[0] = ""; } // if (DBCHARSET == "UTF8") { $titre = utf8_decode($titre); } // $element = $titre; // On teste si une balise est présente dans l'élément if (strpos($element, "") === false) { // => Aucune balise n'est présente dans l'élément // if (trim($element) != "") { // $pdf->SetFont($edition["titrefont"], $edition["titreattribut"], $edition["titretaille"]); $pdf->SetXY($edition["titreleft"], $edition["titretop"]); $pdf->MultiCell($edition["titrelargeur"], $edition["titrehauteur"], $element, $edition["titrebordure"], $edition["titrealign"], 0); } } else { // => Une balise est présente dans l'élément // $pdf->SetY($edition["titretop"]); // $element_part1 = ""; $element_part1 = explode("", $element); // for ($x = 0; $x < sizeof($element_part1); $x++) { // if (strpos($element_part1[$x], "") === false) { // => // if (trim($element_part1[$x]) != "") { // $pdf->SetFont($edition["titrefont"], $edition["titreattribut"], $edition["titretaille"]); $pdf->SetX($edition["titreleft"]); $pdf->MultiCell($edition["titrelargeur"], $edition["titrehauteur"], $element_part1[$x], $edition["titrebordure"], $edition["titrealign"], 0); } } else { // => // $ctrl_fin_b = 0; $ctrl_fin_b = substr_count($element_part1[$x], ""); // $edition["titreattribut"] = str_replace("B", "", $edition["titreattribut"]); $edition["titreattribut"] = str_replace("b", "", $edition["titreattribut"]); // if ($ctrl_fin_b > 1) { // => nbr superieur a 1 // if (trim($element_part1[$x]) != "") { // $pdf->SetFont($edition["titrefont"], "B".$edition["titreattribut"], $edition["titretaille"]); $pdf->SetX($edition["titreleft"]); $pdf->MultiCell($edition["titrelargeur"], $edition["titrehauteur"], $element_part1[$x], $edition["titrebordure"], $edition["titrealign"], 0); } } else { // => // $element_part2 = explode("", $element_part1[$x]); // if (trim($element_part2[0]) != "") { // $pdf->SetFont($edition["titrefont"], "B".$edition["titreattribut"], $edition["titretaille"]); $pdf->SetX($edition["titreleft"]); $pdf->MultiCell($edition["titrelargeur"], $edition["titrehauteur"], $element_part2[0], $edition["titrebordure"], $edition["titrealign"], 0); } // if (trim($element_part2[1]) != "") { // $pdf->SetFont($edition["titrefont"], $edition["titreattribut"], $edition["titretaille"]); $pdf->SetX($edition["titreleft"]); $pdf->MultiCell($edition["titrelargeur"], $edition["titrehauteur"], $element_part2[1], $edition["titrebordure"], $edition["titrealign"], 0); } } } } } ////// // CORPS ////// // Explosion des champs à récupérer depuis la requête $temp = explode("[", $edition["corps"]); // for ($i = 1; $i < sizeof($temp); $i++) { // $temp1 = explode("]", $temp[$i]); // $corps = str_replace("[".$temp1[0]."]", $row[$temp1[0]], $corps); // $temp1[0] = ""; } // if (DBCHARSET == "UTF8") { $corps = utf8_decode($corps); } // $element = $corps; // On teste si une balise est présente dans l'élément if (strpos($element, "") === false) { // => Aucune balise n'est présente dans l'élément // if (trim($element) != "") { // $pdf->SetFont($edition["corpsfont"], $edition["corpsattribut"], $edition["corpstaille"]); $pdf->SetXY($edition["corpsleft"], $edition["corpstop"]); $pdf->MultiCell($edition["corpslargeur"], $edition["corpshauteur"], $element, $edition["corpsbordure"], $edition["corpsalign"], 0); } } else { // => Une balise est présente dans l'élément // $pdf->SetXY($edition["corpsleft"], $edition["corpstop"]); // $element_part1 = ""; $element_part1 = explode("", $element); // for ($x = 0; $x < sizeof($element_part1); $x++) { // if (strpos($element_part1[$x], "") === false) { // => // if (trim($element_part1[$x]) != "") { // $pdf->SetFont($edition["corpsfont"], $edition["corpsattribut"], $edition["corpstaille"]); $pdf->write($edition["corpshauteur"], $element_part1[$x]); } } else { // => // $ctrl_fin_b = 0; $ctrl_fin_b = substr_count($element_part1[$x], ""); // $edition["corpsattribut"] = str_replace("B", "", $edition["corpsattribut"]); $edition["corpsattribut"] = str_replace("b", "", $edition["corpsattribut"]); // if ($ctrl_fin_b > 1) { // => nbr superieur a 1 // if (trim($element_part1[$x]) != "") { // $pdf->SetFont($edition["corpsfont"], "B".$edition["corpsattribut"], $edition["corpstaille"]); $pdf->write($edition["corpshauteur"], $element_part1[$x]); } } else { // => // $element_part2 = explode("", $element_part1[$x]); // if (trim($element_part2[0]) != "") { // $nbcar = 0; $nbcar = $element_part2[0]; // if (strlen($nbcar) == 1) { // ??????bug fpdf write si affichage 1 seul caractere -> ajout 2 blancs $pdf->SetFont($edition["corpsfont"], "B".$edition["corpsattribut"], $edition["corpstaille"]); $pdf->write($edition["corpshauteur"], " ".$element_part2[0]." "); } else { // $pdf->SetFont($edition["corpsfont"], "B".$edition["corpsattribut"], $edition["corpstaille"]); $pdf->write($edition["corpshauteur"], $element_part2[0]); } } // if (trim($element_part2[1]) != "") { // $pdf->SetFont($edition["corpsfont"], $edition["corpsattribut"], $edition["corpstaille"]); $pdf->write($edition["corpshauteur"], $element_part2[1]); } } } } } /** * Sortie du fichier PDF */ // $pdf->Output("courrier.pdf", "D"); } } ?>