Récupérer les commentaires dans facture_pdf.php

34 messages dans ce sujet

Posté(e) · Signaler ce message

Pour répondre à LaFleur

TELECHARGMEMENT ICI

il s'avère effectivement que les codes sont corrects, en effet il y a un souci je pense au niveau de la conversion de certains caractères AINSI et UNICODE dans le forum

car j'ai mis tout cela sur un fichier texte et avec un simple copier/coller tout fonctionne

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Pour répondre à LaFleur

factures_pdf.php

<?php


// © PEEL.FR

define('FPDF_FONTPATH','../lib/class/pdf/font/');

include("../configuration.inc.php");

require("invoice.php");

	if (!empty($_GET['timestamp']) && !empty($_GET['id']) && !empty($_GET['mode'])) {

// Chargement des variables pour afficher facture ou bons de commande


	$timestamp = urldecode(htmlspecialchars($_GET['timestamp']));




	$id = intval($_GET['id']);




	$mode = htmlspecialchars($_GET['mode']);




	$qid_commande = mysql_query("SELECT * FROM peel_commandes WHERE id = '$id' AND o_timestamp = '$timestamp'");




	if (mysql_num_rows($qid_commande) > 0) {




	$commande = mysql_fetch_object($qid_commande);




	$qid_items = mysql_query("


	SELECT


		 p.reference


		,oi.nom_produit


		,p.prix AS curr_prix


		,oi.prix AS purchase_prix


		,oi.quantite


		,oi.tva


		,oi.promotion


		,oi.prix * oi.quantite AS total


		,oi.comment


		,oi.couleur


		,oi.taille


		,oi.option_prix


		,oi.delivery_stock


	FROM peel_commandes_articles oi


		LEFT JOIN peel_produits p ON (oi.produit_id = p.id)


	WHERE commande_id = '$id'


	");




	switch ($_GET['mode']) {




	case "proforma" :


	$libelle = PROFORMA;


	$numero = $id;


	$pdf_date = return_date_fr($commande->o_timestamp);


	break;




	case "invoice" :


	$libelle = INVOICE;


	$numero = $commande->numero;


	if ($commande->a_timestamp != "" && $commande->a_timestamp != "0000-00-00" ) {$pdf_date = return_date_fr($commande->a_timestamp);} else {$pdf_date = date("d-m-Y");}


	break;




	}




	// $pdf_logo = "logopeel.jpg";




	$qid = mysql_query("SELECT * FROM peel_societe");




	if ($qid) {




	if (mysql_num_rows($qid) > 0) { 




		$ligne = mysql_fetch_object($qid); 




			if (!empty($ligne->societe))		{	$pdf_societe 	= filtre_pdf($ligne->societe);} else {$pdf_societe 	= "";}


			if (!empty($ligne->adresse))		{	$pdf_adresse 	= filtre_pdf($ligne->adresse);} else {$pdf_adresse 	= "";}


			if (!empty($ligne->code_postal)) 	{	$pdf_codepostal = $ligne->code_postal;} else {$pdf_codepostal 	= "";}


			if (!empty($ligne->ville))			{ 	$pdf_ville =  filtre_pdf($ligne->ville);} else {$pdf_ville 	= "";}


			if (!empty($ligne->pays))			{ 	$pdf_pays = filtre_pdf($ligne->pays);} else {$pdf_pays 	= "";}


			if (!empty($ligne->tel))			{	$pdf_tel = $ligne->tel;} else {$pdf_tel 	= "";}


			if (!empty($ligne->fax))			{ 	$pdf_fax = $ligne->fax;} else {$pdf_fax 	= "";}


			if (!empty($ligne->siren))			{	$pdf_siret = "R.C.S. : ".$ligne->siren;} else {$pdf_siret 	= "";}


			if (!empty($ligne->tvaintra))		{	$pdf_tvaintra = $ligne->tvaintra;} else {$pdf_tvaintra 	= "";}


		}


	}	




	$pdf_numerodevis = $numero;


	$pdf_commentaires = filtre_pdf($commande->commentaires);


	$pdf_client1 = filtre_pdf($commande->client_info1);




	$pdf_client2 = filtre_pdf($commande->client_info2);




	$pdf_paiement = filtre_pdf($commande->paiement);

	$pdf_transport = filtre_pdf($commande->transport);




	$pdf_tarif_paiement = $commande->tarif_paiement;

	$transport = $commande->transport;


	$pdf_commentaires = $commande->commentaires;


	$pdf_expedition = $commande->cout_transport;




$pdf = new INVOICE( 'P', 'mm', 'A4' );


$pdf->Open();


$pdf->AddPage();


$pdf->addSociete( $pdf_societe."\n" .$pdf_adresse."\n" .$pdf_codepostal." ".$pdf_ville."\n".


				  $pdf_siret."\n"


				  );

if ($_GET['mode'] == "proforma") {

$pdf->fact_dev( "BDC ", $numero );


$pdf->temporaire( "Bon de commande" );

} else {

$pdf->fact_dev( "FACTURE ", $numero );

}

$pdf->addDate( $pdf_date);

$pdf->addClientCommentaires($pdf_commentaires);


$pdf->addClientAdresseFacturation($pdf_client1);


$pdf->addClientAdresseExpedition($pdf_client2);


$pdf->addReglement($pdf_paiement);


$pdf->addNumTVA($pdf_tvaintra);

$cols=array( "REFERENCE"	=> 23,


			 "DESIGNATION"  => 78,


			 "QUANTITE"	 => 22,


			 "PU_TTC"	  => 26,


			 "MONTANT_TTC" => 30,


			 "TVA"		  => 11 );

$pdf->addCols( $cols);

$cols=array( "REFERENCE"	=> "L",


			 "DESIGNATION"  => "L",


			 "QUANTITE"	 => "C",


			 "PU_TTC"	  => "R",


			 "MONTANT_TTC" => "R",


			 "TVA"		  => "C" );




$pdf->addLineFormat( $cols);

$pdf->addLineFormat($cols);

$y	= 109;

$pdf_total_ttc  = 0;

$pdf_total_ht = 0;

if ($qid_items) {

			if (mysql_num_rows($qid_items)) {




			while ($prod = mysql_fetch_array($qid_items)) { 




			if ($prod['couleur'] !='') {$couleur = "\n\r".COLOR." : ".stripslashes($prod['couleur']);} else {$couleur = "";}




			if ($prod['taille'] !='') {$taille = "\n\r".SIZE." : ".stripslashes($prod['taille']);} else {$taille = "";}




			if ($prod['delivery_stock'] !='') {$delivery = "\n\r".DELIVERY_STOCK." : ".stripslashes($prod['delivery_stock']);} else {$delivery = "";}




			if ($prod['comment'] !='') {$comment = "\n\r".COMMENT." : ".stripslashes($prod['comment']);} else {$comment = "";}




			if ($prod['option_prix'] !=0) {$perso = "\n\r".OPTION_PRIX." : ".$prod['option_prix']." EUR";} else {$perso = "";}







			   $line = array( 




			   "REFERENCE"		=> $prod["reference"],


			   "DESIGNATION"	=> filtre_pdf($prod["nom_produit"]).vb($couleur).vb($taille).vb($delivery).vb($comment).vb($perso),


			   "QUANTITE"		  => $prod["quantite"],


			   "PU_TTC"	 	=> fprix($prod["purchase_prix"]),


			   "MONTANT_TTC"   	=>  fprix($prod["total"]),


			   "TVA"		   	=> number_format($prod["tva"],1) 




			   );

$size = $pdf->addLine( $y, $line );

$pdf_total_ttc += $prod['total'];

$pdf_total_ht += $prod['total'] / (1+$prod['tva']/100);

$y   += $size + 2;

		}

	}

}

$pdf_tva = $pdf_total_ttc - $pdf_total_ht;

$params  = array( 


				"TotalHt" => $pdf_total_ht,


				"TVA" => $pdf_tva,


				"TotalTtc" => $pdf_total_ttc,


				"portTTC"		=> $pdf_expedition,   


				"tarifPaiement"		=> $pdf_tarif_paiement,  



				"commentaires"		=> $pdf_commentaires,  







				);

if ($_GET['mode'] == "proforma") {




$pdf->addCadreSignature();

}

$pdf->addTVAs($params);

$pdf->addCadreEurosFrancs();

$pdf->Output();

} else {

echo "NO HACKING (-:!";

}

} else {

echo "NO HACKING (-:!";

}

?>
et invoice.php
<?php


define('EURO', chr(128) );


define('EURO_VAL', 6.55957 );

class INVOICE extends FPDF


{


// variables privées


var $colonnes;


var $format;


var $angle=0;

// fonctions privées


function RoundedRect($x, $y, $w, $h, $r, $style = '')


{


	$k = $this->k;


	$hp = $this->h;


	if($style=='F')


		$op='f';


	elseif($style=='FD' or $style=='DF')


		$op='B';


	else


		$op='S';


	$MyArc = 4/3 * (sqrt(2) - 1);


	$this->_out(sprintf('%.2f %.2f m',($x+$r)*$k,($hp-$y)*$k ));


	$xc = $x+$w-$r;


	$yc = $y+$r;


	$this->_out(sprintf('%.2f %.2f l', $xc*$k,($hp-$y)*$k ));

	$this->_Arc($xc + $r*$MyArc, $yc - $r, $xc + $r, $yc - $r*$MyArc, $xc + $r, $yc);


	$xc = $x+$w-$r;


	$yc = $y+$h-$r;


	$this->_out(sprintf('%.2f %.2f l',($x+$w)*$k,($hp-$yc)*$k));


	$this->_Arc($xc + $r, $yc + $r*$MyArc, $xc + $r*$MyArc, $yc + $r, $xc, $yc + $r);


	$xc = $x+$r;


	$yc = $y+$h-$r;


	$this->_out(sprintf('%.2f %.2f l',$xc*$k,($hp-($y+$h))*$k));


	$this->_Arc($xc - $r*$MyArc, $yc + $r, $xc - $r, $yc + $r*$MyArc, $xc - $r, $yc);


	$xc = $x+$r;


	$yc = $y+$r;


	$this->_out(sprintf('%.2f %.2f l',($x)*$k,($hp-$yc)*$k ));


	$this->_Arc($xc - $r, $yc - $r*$MyArc, $xc - $r*$MyArc, $yc - $r, $xc, $yc - $r);


	$this->_out($op);


}

function _Arc($x1, $y1, $x2, $y2, $x3, $y3)


{


	$h = $this->h;


	$this->_out(sprintf('%.2f %.2f %.2f %.2f %.2f %.2f c ', $x1*$this->k, ($h-$y1)*$this->k,


						$x2*$this->k, ($h-$y2)*$this->k, $x3*$this->k, ($h-$y3)*$this->k));


}

function Rotate($angle,$x=-1,$y=-1)


{


	if($x==-1)


		$x=$this->x;


	if($y==-1)


		$y=$this->y;


	if($this->angle!=0)


		$this->_out('Q');


	$this->angle=$angle;


	if($angle!=0)


	{


		$angle*=M_PI/180;


		$c=cos($angle);


		$s=sin($angle);


		$cx=$x*$this->k;


		$cy=($this->h-$y)*$this->k;


		$this->_out(sprintf('q %.5f %.5f %.5f %.5f %.2f %.2f cm 1 0 0 1 %.2f %.2f cm',$c,$s,-$s,$c,$cx,$cy,-$cx,-$cy));


	}


}

function _endpage()


{


	if($this->angle!=0)


	{


		$this->angle=0;


		$this->_out('Q');


	}


	parent::_endpage();


}

// fonctions publiques


function sizeOfText( $texte, $largeur )


{


	$index	= 0;


	$nb_lines = 0;


	$loop	 = TRUE;


	while ( $loop )


	{


		$pos = strpos($texte, "\n");


		if (!$pos)


		{


			$loop  = FALSE;


			$ligne = $texte;


		}


		else


		{


			$ligne  = substr( $texte, $index, $pos);


			$texte = substr( $texte, $pos+1 );


		}


		$length = floor( $this->GetStringWidth( $ligne ) );


		if ($largeur != 0) {$res = 1 + floor( $length / $largeur);} else {$res = 1 + floor( $length);}


		$nb_lines += $res;


	}


	return $nb_lines;


}

// Cette fonction affiche en haut, a gauche,


// le nom de la societe dans la police Arial-12-Bold


// les coordonnees de la societe dans la police Arial-10


function addSociete( $adresse )


{


	$x1 = 10;


	$y1 = 8;


	//Positionnement en bas


	//$this->Image($logo,$x1,$y1,24);


	//$this->SetXY( $x1, $y1 + 10);


	$this->SetFont('Arial','B',12);


	//$length = $this->GetStringWidth( $nom );


	//$this->Cell( $length, 2, $nom);


	$this->SetXY( $x1, $y1 + 12 );


	$this->SetFont('Arial','',10);


	$length = $this->GetStringWidth( $adresse );


	//Coordonnées de la société


	$lignes = $this->sizeOfText( $adresse, $length);


	$this->MultiCell($length, 4, $adresse);


}

// Affiche en haut, a droite le libelle


// (FACTURE, DEVIS, Bon de commande, etc...)


// et son numero


// La taille de la fonte est auto-adaptee au cadre


function fact_dev( $libelle, $num )


{


	$r1  = $this->w - 80;


	$r2  = $r1 + 68;


	$y1  = 6;


	$y2  = $y1 + 2;


	$mid = ($r1 + $r2 ) / 2;




	$texte  = $libelle . " N∞ : " . $num;	


	$szfont = 12;


	$loop   = 0;




	while ( $loop == 0 )


	{


	   $this->SetFont( "Helvetica", "B", $szfont );


	   $sz = $this->GetStringWidth( $texte );


	   if ( ($r1+$sz) > $r2 )


		  $szfont --;


	   else


		  $loop ++;


	}

	$this->SetLineWidth(0.1);


	$this->SetFillColor(154, 154, 204);


	$this->RoundedRect($r1, $y1, ($r2 - $r1), $y2, 2.5, 'DF');


	$this->SetXY( $r1+1, $y1+2);


	$this->Cell($r2-$r1 -1,5, $texte, 0, 0, "C" );


}

// Genere automatiquement un numero de devis


function addDevis( $numdev )


{


	$string = sprintf("DEV%04d",$numdev);


	$this->fact_dev( "Devis", $string );


}

// Genere automatiquement un numero de facture


function addFacture( $numfact )


{


	$string = sprintf("FA%04d",$numfact);


	$this->fact_dev( "Facture", $string );


}

// Affiche un cadre avec la date de la facture / devis


// (en haut, a droite)


function addDate( $date )


{


	$r1  = $this->w - 80;


	$r2  = $r1 + 68;


	$y1  = 17;


	$y2  = $y1;


	$mid = $y1 + ($y2 / 2);




	$this->Rect($r1, $y1, ($r2 - $r1), $y2, 'D');




	$this->Line( $r1, $mid, $r2, $mid);

	$this->SetXY( $r1 + ($r2-$r1)/2 - 5, $y1+3 );


	$this->SetFont( "Helvetica", "B", 10);




	$this->Cell(15,5, "DATE", 0, 0, "C");


	$this->SetXY( $r1 + ($r2-$r1)/2 - 5, $y1+9 );


	$this->SetFont( "Helvetica", "", 10);


	$this->Cell(15,5,$date, 0,0, "C");


}

// Affiche un cadre avec les references du client


// (en haut, a droite)


function addClient( $ref )


{


	$r1  = $this->w - 31;


	$r2  = $r1 + 19;


	$y1  = 17;


	$y2  = $y1;


	$mid = $y1 + ($y2 / 2);


	$this->RoundedRect($r1, $y1, ($r2 - $r1), $y2, 3.5, 'D');


	$this->Line( $r1, $mid, $r2, $mid);


	$this->SetXY( $r1 + ($r2-$r1)/2 - 5, $y1+3 );


	$this->SetFont( "Helvetica", "B", 10);


	$this->Cell(10,5, "CLIENT", 0, 0, "C");


	$this->SetXY( $r1 + ($r2-$r1)/2 - 5, $y1 + 9 );


	$this->SetFont( "Helvetica", "", 10);


	$this->Cell(10,5,$ref, 0,0, "C");


}

// Affiche un cadre avec un numero de page


// (en haut, a droite)


function addPageNumber( $page )


{


	$r1  = $this->w - 80;


	$r2  = $r1 + 19;


	$y1  = 17;


	$y2  = $y1;


	$mid = $y1 + ($y2 / 2);


	$this->RoundedRect($r1, $y1, ($r2 - $r1), $y2, 3.5, 'D');


	$this->Line( $r1, $mid, $r2, $mid);


	$this->SetXY( $r1 + ($r2-$r1)/2 - 5, $y1+3 );


	$this->SetFont( "Helvetica", "B", 10);


	$this->Cell(10,5, "PAGE", 0, 0, "C");


	$this->SetXY( $r1 + ($r2-$r1)/2 - 5, $y1 + 9 );


	$this->SetFont( "Helvetica", "", 10);


	$this->Cell(10,5,$page, 0,0, "C");


}

// Affiche l'adresse du client


// (en haut, a droite)


function addClientCommentaires( $pdf_commentaires )


{


	$this->SetFont( "Arial", "B", 8);


	$r1  = 10;


	$r2  = $r1 + 60;


	$y1  = $this->h - 45;


	$y2  = $y1+30;


	$this->RoundedRect($r1, $y1, ($r2 - $r1), ($y2-$y1), 2.5, 'D');


	$this->Line( $r1, $y1+4, $r2, $y1+4);


	$this->SetXY( $r1+5, $y1);


	$this->Cell(10,4, "Commentaires");


	$this->SetFont( "Arial", "", 9);


	$this->SetXY( $r1+0, $y2 - 23 );


	$this->Cell(6,0, "".$pdf_commentaires."");


	$this->SetXY( $r1+5, $y2 - 18 );

}

function addClientAdresseFacturation( $pdf_facturation )


{


	$r1	 = $this->w - 200;


	$r2  = $r1 + 68;


	$y1	 = 40;


	$y2  = $y1+38;


	$this->Rect($r1, $y1, ($r2 - $r1), ($y2-$y1), 'D');


	$this->SetXY( $r1, $y1);


	$this->MultiCell( 60, 4, "Adresse de facturation :\n".$pdf_facturation);


}

function addClientAdresseExpedition( $pdf_facturation2 )


{


	$r1	 = $this->w - 80;


	$r2  = $r1 + 68;


	$y1	 = 40;


	$y2  = $y1+38;


	$this->Rect($r1, $y1, ($r2 - $r1), ($y2-$y1), 'D');


	$this->SetXY( $r1, $y1);


	$this->MultiCell( 60, 4, "Adresse d'expÈdition :\n".$pdf_facturation2);


}

// Affiche un cadre avec le règlement (chèque, etc...)


// (en haut, a gauche)


function addReglement( $mode )


{


	$r1  = 10;


	$r2  = $r1 + 68;


	$y1  = 80;


	$y2  = $y1+10;


	$mid = $y1 + (($y2-$y1) / 2);


	$this->Rect($r1, $y1, ($r2 - $r1), ($y2-$y1), 'D');


	$this->Line( $r1, $mid, $r2, $mid);


	$this->SetXY( $r1 + ($r2-$r1)/2 -5 , $y1+1 );


	$this->SetFont( "Helvetica", "B", 10);


	$this->Cell(10,4, "MODE DE REGLEMENT", 0, 0, "C");


	$this->SetXY( $r1 + ($r2-$r1)/2 -5 , $y1 + 5 );


	$this->SetFont( "Helvetica", "", 10);


	$this->Cell(10,5,$mode, 0,0, "C");


}

// Affiche un cadre avec la date d'echeance


// (en haut, au centre)


function addEcheance( $date )


{


	$r1  = 80;


	$r2  = $r1 + 40;


	$y1  = 80;


	$y2  = $y1+10;


	$mid = $y1 + (($y2-$y1) / 2);


	$this->RoundedRect($r1, $y1, ($r2 - $r1), ($y2-$y1), 2.5, 'D');


	$this->Line( $r1, $mid, $r2, $mid);


	$this->SetXY( $r1 + ($r2 - $r1)/2 - 5 , $y1+1 );


	$this->SetFont( "Helvetica", "B", 10);


	$this->Cell(10,4, "DATE D'ECHEANCE", 0, 0, "C");


	$this->SetXY( $r1 + ($r2-$r1)/2 - 5 , $y1 + 5 );


	$this->SetFont( "Helvetica", "", 10);


	$this->Cell(10,5,$date, 0,0, "C");


}

// Affiche un cadre avec le numero de la TVA


// (en haut, au droite)


function addNumTVA($tva)


{


	$this->SetFont( "Helvetica", "B", 10);


	$r1  = $this->w - 80;


	$r2  = $r1 + 68;


	$y1  = 80;


	$y2  = $y1+10;


	$mid = $y1 + (($y2-$y1) / 2);


	$this->Rect($r1, $y1, ($r2 - $r1), ($y2-$y1), 'D');


	$this->Line( $r1, $mid, $r2, $mid);


	$this->SetXY( $r1 + 16 , $y1+1 );


	$this->Cell(40, 4, "TVA Intracommunautaire", '', '', "C");


	$this->SetFont( "Helvetica", "", 10);


	$this->SetXY( $r1 + 16 , $y1+5 );


	$this->Cell(40, 5, $tva, '', '', "C");


}

// Affiche une ligne avec des reference


// (en haut, a gauche)


function addReference($ref)


{


	$this->SetFont( "Helvetica", "", 10);


	$length = $this->GetStringWidth( "References : " . $ref );


	$r1  = 10;


	$r2  = $r1 + $length;


	$y1  = 92;


	$y2  = $y1+5;


	$this->SetXY( $r1 , $y1 );


	$this->Cell($length,4, "Reference : " . $ref);


}

// trace le cadre des colonnes du devis/facture


function addCols( $tab )


{


	global $colonnes;




	$r1  = 10;


	$r2  = $this->w - ($r1 * 2);


	$y1  = 100;


	$y2  = $this->h - 50 - $y1;


	$this->SetXY( $r1, $y1 );


	$this->Rect( $r1, $y1, $r2, $y2, "D");




	$this->Line( $r1, $y1+6, $r1+$r2, $y1+6);




	$colX = $r1;


	$colonnes = $tab;


	while ( list( $lib, $pos ) = each ($tab) )


	{


		$this->SetXY( $colX, $y1+2 );


		$this->Cell( $pos, 1, $lib, 0, 0, "C");


		$colX += $pos;


		$this->Line( $colX, $y1, $colX, $y1+$y2);


	}


}

// mémorise le format (gauche, centre, droite) d'une colonne


function addLineFormat( $tab )


{


	global $format, $colonnes;




	while ( list( $lib, $pos ) = each ($colonnes) )


	{


		if ( isset( $tab["$lib"] ) )


			$format[ $lib ] = $tab["$lib"];


	}


}

function lineVert( $tab )


{


	global $colonnes;

	reset( $colonnes );


	$maxSize=0;


	while ( list( $lib, $pos ) = each ($colonnes) )


	{


		$texte = $tab[ $lib ];


		$longCell  = $pos -2;


		$size = $this->sizeOfText( $texte, $longCell );


		if ($size > $maxSize)


			$maxSize = $size;


	}


	return $maxSize;


}

function addLine( $ligne, $tab )


{


	global $colonnes, $format;


	$ordonnee	 = 10;


	$maxSize	  = $ligne;

	reset( $colonnes );


	while ( list( $lib, $pos ) = each ($colonnes) )


	{


		$longCell  = $pos -2;


		$texte	 = $tab[ $lib ];


		$length	= $this->GetStringWidth( $texte );


		$tailleTexte = $this->sizeOfText( $texte, $length );


		$formText  = $format[ $lib ];


		$this->SetXY( $ordonnee, $ligne-1);


		$this->MultiCell( $longCell, 4 , $texte, 0, $formText);


		if ( $maxSize < ($this->GetY()  ) )


			$maxSize = $this->GetY();


		$ordonnee += $pos;


	}


	return ( $maxSize - $ligne );


}

function addTotalHt( $total_ht )


{


	$r1  = $this->w - 31;


	$r2  = $r1 + 19;


	$y1  = 100;


	$y2  = $y1;


	$mid = $y1 + ($y2 / 2);


	$this->SetXY( $r1 + ($r2-$r1)/2 - 5, $y1+3 );


	$this->SetFont( "Helvetica", "B", 10);


	$this->Cell(10,5, "Total H.T.", 0, 0, "C");


	$this->SetXY( $r1 + ($r2-$r1)/2 - 5, $y1 + 9 );


	$this->SetFont( "Helvetica", "", 10);


	$this->Cell(10,5,$total_ht."Ä H.T.", 0,0, "C");


}

// Ajoute une remarque (en bas, a gauche)


function addRemarque($remarque)


{


	$this->SetFont( "Helvetica", "", 10);


	$length = $this->GetStringWidth( "Remarque : " . $remarque );


	$r1  = 10;


	$r2  = $r1 + $length;


	$y1  = $this->h - 45.5;


	$y2  = $y1+5;


	$this->SetXY( $r1 , $y1 );


	$this->Cell($length,4, "Remarque : " . $remarque);


}

// trace le cadre des TVAs


function addCadreTVAs()


{


	$this->SetFont( "Arial", "B", 8);


	$r1  = 10;


	$r2  = $r1 + 20;


	$y1  = $this->h;


	$y2  = $y1+5;


	$this->Line( $r1, $y1+4, $r2, $y1+4);


	$this->Line( $r1+5,  $y1+4, $r1+5, $y2); // avant BASE HT


	$this->Line( $r1+27, $y1, $r1+27, $y2);  // avant REMISE


	$this->Line( $r1+63, $y1, $r1+63, $y2);  // avant % TVA


	$this->Line( $r1+75, $y1, $r1+75, $y2);  // avant PORT


	$this->Line( $r1+91, $y1, $r1+91, $y2);  // avant TOTAUX


	$this->SetXY( $r1+9, $y1);


	$this->Cell(10,4, "TOTAL HT");


	$this->SetX( $r1+63 );


	$this->Cell(10,4, "TVA");


	$this->SetX( $r1+78 );


	$this->Cell(10,4, "PORT");


	$this->SetX( $r1+100 );


	$this->Cell(10,4, "TOTAUX");


	$this->SetFont( "Arial", "B", 6);


	$this->SetXY( $r1+93, $y2 - 13 );


	$this->Cell(6,0, "T.T.C   :");


	$this->SetXY( $r1+93, $y2 - 8 );


	$this->Cell(6,0, "H.T.   :");


	$this->SetXY( $r1+93, $y2 - 3 );


	$this->Cell(6,0, "T.V.A. :");


}

function addCadreSignature()


{


	$this->SetFont( "Arial", "B", 10);


	$r1  = 10;


	$r2  = $r1 + 60;


	$y1  = $this->h - 45;


	$y2  = $y1+30;


	$this->RoundedRect($r1, $y1, ($r2 - $r1), ($y2-$y1), 2.5, 'D');


	$this->Line( $r1, $y1+4, $r2, $y1+4);


	$this->SetXY( $r1+5, $y1);


	$this->Cell(10,4, "ACCORD POUR COMMANDE");


	$this->SetFont( "Arial", "B", 6);


	$this->SetXY( $r1+5, $y2 - 23 );


	$this->Cell(6,0, "Date   :");


	$this->SetXY( $r1+5, $y2 - 18 );


	$this->Cell(6,0, "Mention (Bon pour accord)   :");


	$this->SetXY( $r1+5, $y2 - 13 );


	$this->Cell(6,0, "Signature   :");


}

// trace le cadre des totaux


function addCadreEurosFrancs()


{


	$r1  = $this->w - 60;


	$r2  = $r1 + 50;


	$y1  = $this->h - 45;


	$y2  = $y1+30;


	$this->RoundedRect($r1, $y1, ($r2 - $r1), ($y2-$y1), 2.5, 'D');




}

function addTVAs( $params )


{


	$this->SetFont('Arial','',6);




	$prix	 = array();




	$totalHT  = $params["TotalHt"];




	$totalTVA = $params['TVA'];




	$totalTTC = $params['TotalTtc'];




	$tarifPaiement = $params['tarifPaiement'];




	$y = 261;

	$pTTC = sprintf("%0.2f", $params["portTTC"]);




	$totalTTC = $totalHT + $totalTVA +$pTTC + $tarifPaiement;




	$re  = $this->w - 52;


	$rf  = $this->w - 26;


	$y1  = $this->h - 40;


	$this->SetFont( "Arial", "B", 6);


	$this->SetXY( $re, $y1-5 );


	$this->Cell( 17,4, "TOTAL HT :");


	$this->Cell( 17,4, sprintf("%0.2f",$totalHT)." Ä", '', '', 'R');


	$this->SetXY( $re, $y1 );


	$this->Cell( 17,4, "TVA :");


	$this->Cell( 17,4, sprintf("%0.2f", $totalTVA)." Ä", '', '', 'R');


	$this->SetXY( $re, $y1+5 );


	$this->Cell( 17,4, "Frais de port:");


	$this->Cell( 17,4, sprintf("%0.2f", $pTTC)." Ä", '', '', 'R');


	$this->SetXY( $re, $y1+10 );


	$this->Cell( 17,4, "SupplÈment paiement:");


	$this->Cell( 17,4, sprintf("%0.2f", $tarifPaiement)." Ä", '', '', 'R');


	$this->SetXY( $re, $y1+15 );


	$this->Cell( 17,4, "Net ‡ payer :");


	$this->Cell( 17,4, sprintf("%0.2f", $totalTTC)." Ä", '', '', 'R');




}

// Permet de rajouter un commentaire (Devis temporaire, REGLE, DUPLICATA, ...)


// en sous-impression


// ATTENTION: APPELER CETTE FONCTION EN PREMIER


function temporaire( $texte )


{


	$this->SetFont('Arial','B',50);


	$this->SetTextColor(203,203,203);


	$this->Rotate(45,55,190);


	$this->Text(55,190,$texte);


	$this->Rotate(0);


	$this->SetTextColor(0,0,0);


}

}


?>

Merci bcp voici ce que j'obtiens

Parse error: syntax error, unexpected $end, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home4/f/floraclic/www/factures/invoice.php on line 366

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Je pense qu'il faut remplacer:

	$this->Cell(10,4, "Commentaires");


	$this->SetFont( "Arial", "", 9);


	$this->SetXY( $r1+0, $y2 - 23 );


	$this->Cell(6,0, "".$pdf_commentaires."");
Par:
	$this->Cell(10,4, "Commentaires", 0, 0, "C" );


	$this->SetFont( "Arial", "", 9);


	$this->SetXY( $r1+0, $y2 - 23 );


	$this->Cell(6,0, "".$pdf_commentaires."", 0, 0, "C" );

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Je pense qu'il faut remplacer:

	$this->Cell(10,4, "Commentaires");


	$this->SetFont( "Arial", "", 9);


	$this->SetXY( $r1+0, $y2 - 23 );


	$this->Cell(6,0, "".$pdf_commentaires."");
Par:
	$this->Cell(10,4, "Commentaires", 0, 0, "C" );


	$this->SetFont( "Arial", "", 9);


	$this->SetXY( $r1+0, $y2 - 23 );


	$this->Cell(6,0, "".$pdf_commentaires."", 0, 0, "C" );

Willy

Voila ce que j'obtiens maintenant

Parse error: syntax error, unexpected $end, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home4/f/floraclic/www/factures/invoice.php on line 369

ah! bonjour et merci willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Et il y a quoi à la ligne 369 ?

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Et il y a quoi à la ligne 369 ?

Willy

Je ne peux pas le savoir je n'ai rien pour compter les lignes MOI

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Je ne peux pas le savoir je n'ai rien pour compter les lignes MOI

Moi non plus, rien ici.

Word le fait, mais par page, on peut y arriver, mais faites le avec votre code que vous venez de modifier.

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Je ne peux pas le savoir je n'ai rien pour compter les lignes MOI

avec dreamweaver par exemple tu as les numéros de ligne sur la gauche

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

avec dreamweaver par exemple tu as les numéros de ligne sur la gauche

ça ne pourrait pas se situer par là ?

}

// Affiche l'adresse du client

// (en haut, a droite)

function addClientCommentaires( $pdf_commentaires )

{

$this->SetFont( "Arial", "B", 8);

$r1 = 10;

$r2 = $r1 + 60;

$y1 = $this->h - 45;

$y2 = $y1+30;

$this->RoundedRect($r1, $y1, ($r2 - $r1), ($y2-$y1), 2.5, 'D');

$this->Line( $r1, $y1+4, $r2, $y1+4);

$this->SetXY( $r1+5, $y1);

La fleur

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Je ne sais pas :)

Il faut voir le code de la page modifiée.

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Je ne sais pas :)

Il faut voir le code de la page modifiée.

Willy

Voici le code modifier de la page invoice.php

<?php

define('EURO', chr(128) );

define('EURO_VAL', 6.55957 );

class INVOICE extends FPDF

{

// variables privées

var $colonnes;

var $format;

var $angle=0;

// fonctions privées

function RoundedRect($x, $y, $w, $h, $r, $style = '')

{

$k = $this->k;

$hp = $this->h;

if($style=='F')

$op='f';

elseif($style=='FD' or $style=='DF')

$op='B';

else

$op='S';

$MyArc = 4/3 * (sqrt(2) - 1);

$this->_out(sprintf('%.2f %.2f m',($x+$r)*$k,($hp-$y)*$k ));

$xc = $x+$w-$r;

$yc = $y+$r;

$this->_out(sprintf('%.2f %.2f l', $xc*$k,($hp-$y)*$k ));

$this->_Arc($xc + $r*$MyArc, $yc - $r, $xc + $r, $yc - $r*$MyArc, $xc + $r, $yc);

$xc = $x+$w-$r;

$yc = $y+$h-$r;

$this->_out(sprintf('%.2f %.2f l',($x+$w)*$k,($hp-$yc)*$k));

$this->_Arc($xc + $r, $yc + $r*$MyArc, $xc + $r*$MyArc, $yc + $r, $xc, $yc + $r);

$xc = $x+$r;

$yc = $y+$h-$r;

$this->_out(sprintf('%.2f %.2f l',$xc*$k,($hp-($y+$h))*$k));

$this->_Arc($xc - $r*$MyArc, $yc + $r, $xc - $r, $yc + $r*$MyArc, $xc - $r, $yc);

$xc = $x+$r;

$yc = $y+$r;

$this->_out(sprintf('%.2f %.2f l',($x)*$k,($hp-$yc)*$k ));

$this->_Arc($xc - $r, $yc - $r*$MyArc, $xc - $r*$MyArc, $yc - $r, $xc, $yc - $r);

$this->_out($op);

}

function _Arc($x1, $y1, $x2, $y2, $x3, $y3)

{

$h = $this->h;

$this->_out(sprintf('%.2f %.2f %.2f %.2f %.2f %.2f c ', $x1*$this->k, ($h-$y1)*$this->k,

$x2*$this->k, ($h-$y2)*$this->k, $x3*$this->k, ($h-$y3)*$this->k));

}

function Rotate($angle,$x=-1,$y=-1)

{

if($x==-1)

$x=$this->x;

if($y==-1)

$y=$this->y;

if($this->angle!=0)

$this->_out('Q');

$this->angle=$angle;

if($angle!=0)

{

$angle*=M_PI/180;

$c=cos($angle);

$s=sin($angle);

$cx=$x*$this->k;

$cy=($this->h-$y)*$this->k;

$this->_out(sprintf('q %.5f %.5f %.5f %.5f %.2f %.2f cm 1 0 0 1 %.2f %.2f cm',$c,$s,-$s,$c,$cx,$cy,-$cx,-$cy));

}

}

function _endpage()

{

if($this->angle!=0)

{

$this->angle=0;

$this->_out('Q');

}

parent::_endpage();

}

// fonctions publiques

function sizeOfText( $texte, $largeur )

{

$index = 0;

$nb_lines = 0;

$loop = TRUE;

while ( $loop )

{

$pos = strpos($texte, "\n");

if (!$pos)

{

$loop = FALSE;

$ligne = $texte;

}

else

{

$ligne = substr( $texte, $index, $pos);

$texte = substr( $texte, $pos+1 );

}

$length = floor( $this->GetStringWidth( $ligne ) );

if ($largeur != 0) {$res = 1 + floor( $length / $largeur);} else {$res = 1 + floor( $length);}

$nb_lines += $res;

}

return $nb_lines;

}

// Cette fonction affiche en haut, a gauche,

// le nom de la societe dans la police Arial-12-Bold

// les coordonnees de la societe dans la police Arial-10

function addSociete( $adresse )

{

$x1 = 10;

$y1 = 8;

//Positionnement en bas

//$this->Image($logo,$x1,$y1,24);

//$this->SetXY( $x1, $y1 + 10);

$this->SetFont('Arial','B',12);

//$length = $this->GetStringWidth( $nom );

//$this->Cell( $length, 2, $nom);

$this->SetXY( $x1, $y1 + 12 );

$this->SetFont('Arial','',10);

$length = $this->GetStringWidth( $adresse );

//Coordonnées de la société

$lignes = $this->sizeOfText( $adresse, $length);

$this->MultiCell($length, 4, $adresse);

}

// Affiche en haut, a droite le libelle

// (FACTURE, DEVIS, Bon de commande, etc...)

// et son numero

// La taille de la fonte est auto-adaptee au cadre

function fact_dev( $libelle, $num )

{

$r1 = $this->w - 80;

$r2 = $r1 + 68;

$y1 = 6;

$y2 = $y1 + 2;

$mid = ($r1 + $r2 ) / 2;

$texte = $libelle . " N∞ : " . $num;

$szfont = 12;

$loop = 0;

while ( $loop == 0 )

{

$this->SetFont( "Helvetica", "B", $szfont );

$sz = $this->GetStringWidth( $texte );

if ( ($r1+$sz) > $r2 )

$szfont --;

else

$loop ++;

}

$this->SetLineWidth(0.1);

$this->SetFillColor(154, 154, 204);

$this->RoundedRect($r1, $y1, ($r2 - $r1), $y2, 2.5, 'DF');

$this->SetXY( $r1+1, $y1+2);

$this->Cell($r2-$r1 -1,5, $texte, 0, 0, "C" );

}

// Genere automatiquement un numero de devis

function addDevis( $numdev )

{

$string = sprintf("DEV%04d",$numdev);

$this->fact_dev( "Devis", $string );

}

// Genere automatiquement un numero de facture

function addFacture( $numfact )

{

$string = sprintf("FA%04d",$numfact);

$this->fact_dev( "Facture", $string );

}

// Affiche un cadre avec la date de la facture / devis

// (en haut, a droite)

function addDate( $date )

{

$r1 = $this->w - 80;

$r2 = $r1 + 68;

$y1 = 17;

$y2 = $y1;

$mid = $y1 + ($y2 / 2);

$this->Rect($r1, $y1, ($r2 - $r1), $y2, 'D');

$this->Line( $r1, $mid, $r2, $mid);

$this->SetXY( $r1 + ($r2-$r1)/2 - 5, $y1+3 );

$this->SetFont( "Helvetica", "B", 10);

$this->Cell(15,5, "DATE", 0, 0, "C");

$this->SetXY( $r1 + ($r2-$r1)/2 - 5, $y1+9 );

$this->SetFont( "Helvetica", "", 10);

$this->Cell(15,5,$date, 0,0, "C");

}

// Affiche un cadre avec les references du client

// (en haut, a droite)

function addClient( $ref )

{

$r1 = $this->w - 31;

$r2 = $r1 + 19;

$y1 = 17;

$y2 = $y1;

$mid = $y1 + ($y2 / 2);

$this->RoundedRect($r1, $y1, ($r2 - $r1), $y2, 3.5, 'D');

$this->Line( $r1, $mid, $r2, $mid);

$this->SetXY( $r1 + ($r2-$r1)/2 - 5, $y1+3 );

$this->SetFont( "Helvetica", "B", 10);

$this->Cell(10,5, "CLIENT", 0, 0, "C");

$this->SetXY( $r1 + ($r2-$r1)/2 - 5, $y1 + 9 );

$this->SetFont( "Helvetica", "", 10);

$this->Cell(10,5,$ref, 0,0, "C");

}

// Affiche un cadre avec un numero de page

// (en haut, a droite)

function addPageNumber( $page )

{

$r1 = $this->w - 80;

$r2 = $r1 + 19;

$y1 = 17;

$y2 = $y1;

$mid = $y1 + ($y2 / 2);

$this->RoundedRect($r1, $y1, ($r2 - $r1), $y2, 3.5, 'D');

$this->Line( $r1, $mid, $r2, $mid);

$this->SetXY( $r1 + ($r2-$r1)/2 - 5, $y1+3 );

$this->SetFont( "Helvetica", "B", 10);

$this->Cell(10,5, "PAGE", 0, 0, "C");

$this->SetXY( $r1 + ($r2-$r1)/2 - 5, $y1 + 9 );

$this->SetFont( "Helvetica", "", 10);

$this->Cell(10,5,$page, 0,0, "C");

}

// Affiche l'adresse du client

// (en haut, a droite)

function addClientCommentaires( $pdf_commentaires )

{

$this->SetFont( "Arial", "B", 8);

$r1 = 10;

$r2 = $r1 + 60;

$y1 = $this->h - 45;

$y2 = $y1+30;

$this->RoundedRect($r1, $y1, ($r2 - $r1), ($y2-$y1), 2.5, 'D');

$this->Line( $r1, $y1+4, $r2, $y1+4);

$this->SetXY( $r1+5, $y1);

$this->Cell(10,4, "Commentaires", 0, 0, "C" );

$this->SetFont( "Arial", "", 9);

$this->SetXY( $r1+0, $y2 - 23 );

$this->Cell(6,0, "".$pdf_commentaires."", 0, 0, "C" );

$this->SetXY( $r1+5, $y2 - 18 );

Fin

}

Voici le code modifier de la page invoice.php

<?php

define('EURO', chr(128) );

define('EURO_VAL', 6.55957 );

class INVOICE extends FPDF

{

// variables privées

var $colonnes;

var $format;

var $angle=0;

// fonctions privées

function RoundedRect($x, $y, $w, $h, $r, $style = '')

{

$k = $this->k;

$hp = $this->h;

if($style=='F')

$op='f';

elseif($style=='FD' or $style=='DF')

$op='B';

else

$op='S';

$MyArc = 4/3 * (sqrt(2) - 1);

$this->_out(sprintf('%.2f %.2f m',($x+$r)*$k,($hp-$y)*$k ));

$xc = $x+$w-$r;

$yc = $y+$r;

$this->_out(sprintf('%.2f %.2f l', $xc*$k,($hp-$y)*$k ));

$this->_Arc($xc + $r*$MyArc, $yc - $r, $xc + $r, $yc - $r*$MyArc, $xc + $r, $yc);

$xc = $x+$w-$r;

$yc = $y+$h-$r;

$this->_out(sprintf('%.2f %.2f l',($x+$w)*$k,($hp-$yc)*$k));

$this->_Arc($xc + $r, $yc + $r*$MyArc, $xc + $r*$MyArc, $yc + $r, $xc, $yc + $r);

$xc = $x+$r;

$yc = $y+$h-$r;

$this->_out(sprintf('%.2f %.2f l',$xc*$k,($hp-($y+$h))*$k));

$this->_Arc($xc - $r*$MyArc, $yc + $r, $xc - $r, $yc + $r*$MyArc, $xc - $r, $yc);

$xc = $x+$r;

$yc = $y+$r;

$this->_out(sprintf('%.2f %.2f l',($x)*$k,($hp-$yc)*$k ));

$this->_Arc($xc - $r, $yc - $r*$MyArc, $xc - $r*$MyArc, $yc - $r, $xc, $yc - $r);

$this->_out($op);

}

function _Arc($x1, $y1, $x2, $y2, $x3, $y3)

{

$h = $this->h;

$this->_out(sprintf('%.2f %.2f %.2f %.2f %.2f %.2f c ', $x1*$this->k, ($h-$y1)*$this->k,

$x2*$this->k, ($h-$y2)*$this->k, $x3*$this->k, ($h-$y3)*$this->k));

}

function Rotate($angle,$x=-1,$y=-1)

{

if($x==-1)

$x=$this->x;

if($y==-1)

$y=$this->y;

if($this->angle!=0)

$this->_out('Q');

$this->angle=$angle;

if($angle!=0)

{

$angle*=M_PI/180;

$c=cos($angle);

$s=sin($angle);

$cx=$x*$this->k;

$cy=($this->h-$y)*$this->k;

$this->_out(sprintf('q %.5f %.5f %.5f %.5f %.2f %.2f cm 1 0 0 1 %.2f %.2f cm',$c,$s,-$s,$c,$cx,$cy,-$cx,-$cy));

}

}

function _endpage()

{

if($this->angle!=0)

{

$this->angle=0;

$this->_out('Q');

}

parent::_endpage();

}

// fonctions publiques

function sizeOfText( $texte, $largeur )

{

$index = 0;

$nb_lines = 0;

$loop = TRUE;

while ( $loop )

{

$pos = strpos($texte, "\n");

if (!$pos)

{

$loop = FALSE;

$ligne = $texte;

}

else

{

$ligne = substr( $texte, $index, $pos);

$texte = substr( $texte, $pos+1 );

}

$length = floor( $this->GetStringWidth( $ligne ) );

if ($largeur != 0) {$res = 1 + floor( $length / $largeur);} else {$res = 1 + floor( $length);}

$nb_lines += $res;

}

return $nb_lines;

}

// Cette fonction affiche en haut, a gauche,

// le nom de la societe dans la police Arial-12-Bold

// les coordonnees de la societe dans la police Arial-10

function addSociete( $adresse )

{

$x1 = 10;

$y1 = 8;

//Positionnement en bas

//$this->Image($logo,$x1,$y1,24);

//$this->SetXY( $x1, $y1 + 10);

$this->SetFont('Arial','B',12);

//$length = $this->GetStringWidth( $nom );

//$this->Cell( $length, 2, $nom);

$this->SetXY( $x1, $y1 + 12 );

$this->SetFont('Arial','',10);

$length = $this->GetStringWidth( $adresse );

//Coordonnées de la société

$lignes = $this->sizeOfText( $adresse, $length);

$this->MultiCell($length, 4, $adresse);

}

// Affiche en haut, a droite le libelle

// (FACTURE, DEVIS, Bon de commande, etc...)

// et son numero

// La taille de la fonte est auto-adaptee au cadre

function fact_dev( $libelle, $num )

{

$r1 = $this->w - 80;

$r2 = $r1 + 68;

$y1 = 6;

$y2 = $y1 + 2;

$mid = ($r1 + $r2 ) / 2;

$texte = $libelle . " N∞ : " . $num;

$szfont = 12;

$loop = 0;

while ( $loop == 0 )

{

$this->SetFont( "Helvetica", "B", $szfont );

$sz = $this->GetStringWidth( $texte );

if ( ($r1+$sz) > $r2 )

$szfont --;

else

$loop ++;

}

$this->SetLineWidth(0.1);

$this->SetFillColor(154, 154, 204);

$this->RoundedRect($r1, $y1, ($r2 - $r1), $y2, 2.5, 'DF');

$this->SetXY( $r1+1, $y1+2);

$this->Cell($r2-$r1 -1,5, $texte, 0, 0, "C" );

}

// Genere automatiquement un numero de devis

function addDevis( $numdev )

{

$string = sprintf("DEV%04d",$numdev);

$this->fact_dev( "Devis", $string );

}

// Genere automatiquement un numero de facture

function addFacture( $numfact )

{

$string = sprintf("FA%04d",$numfact);

$this->fact_dev( "Facture", $string );

}

// Affiche un cadre avec la date de la facture / devis

// (en haut, a droite)

function addDate( $date )

{

$r1 = $this->w - 80;

$r2 = $r1 + 68;

$y1 = 17;

$y2 = $y1;

$mid = $y1 + ($y2 / 2);

$this->Rect($r1, $y1, ($r2 - $r1), $y2, 'D');

$this->Line( $r1, $mid, $r2, $mid);

$this->SetXY( $r1 + ($r2-$r1)/2 - 5, $y1+3 );

$this->SetFont( "Helvetica", "B", 10);

$this->Cell(15,5, "DATE", 0, 0, "C");

$this->SetXY( $r1 + ($r2-$r1)/2 - 5, $y1+9 );

$this->SetFont( "Helvetica", "", 10);

$this->Cell(15,5,$date, 0,0, "C");

}

// Affiche un cadre avec les references du client

// (en haut, a droite)

function addClient( $ref )

{

$r1 = $this->w - 31;

$r2 = $r1 + 19;

$y1 = 17;

$y2 = $y1;

$mid = $y1 + ($y2 / 2);

$this->RoundedRect($r1, $y1, ($r2 - $r1), $y2, 3.5, 'D');

$this->Line( $r1, $mid, $r2, $mid);

$this->SetXY( $r1 + ($r2-$r1)/2 - 5, $y1+3 );

$this->SetFont( "Helvetica", "B", 10);

$this->Cell(10,5, "CLIENT", 0, 0, "C");

$this->SetXY( $r1 + ($r2-$r1)/2 - 5, $y1 + 9 );

$this->SetFont( "Helvetica", "", 10);

$this->Cell(10,5,$ref, 0,0, "C");

}

// Affiche un cadre avec un numero de page

// (en haut, a droite)

function addPageNumber( $page )

{

$r1 = $this->w - 80;

$r2 = $r1 + 19;

$y1 = 17;

$y2 = $y1;

$mid = $y1 + ($y2 / 2);

$this->RoundedRect($r1, $y1, ($r2 - $r1), $y2, 3.5, 'D');

$this->Line( $r1, $mid, $r2, $mid);

$this->SetXY( $r1 + ($r2-$r1)/2 - 5, $y1+3 );

$this->SetFont( "Helvetica", "B", 10);

$this->Cell(10,5, "PAGE", 0, 0, "C");

$this->SetXY( $r1 + ($r2-$r1)/2 - 5, $y1 + 9 );

$this->SetFont( "Helvetica", "", 10);

$this->Cell(10,5,$page, 0,0, "C");

}

// Affiche l'adresse du client

// (en haut, a droite)

function addClientCommentaires( $pdf_commentaires )

{

$this->SetFont( "Arial", "B", 8);

$r1 = 10;

$r2 = $r1 + 60;

$y1 = $this->h - 45;

$y2 = $y1+30;

$this->RoundedRect($r1, $y1, ($r2 - $r1), ($y2-$y1), 2.5, 'D');

$this->Line( $r1, $y1+4, $r2, $y1+4);

$this->SetXY( $r1+5, $y1);

$this->Cell(10,4, "Commentaires", 0, 0, "C" );

$this->SetFont( "Arial", "", 9);

$this->SetXY( $r1+0, $y2 - 23 );

$this->Cell(6,0, "".$pdf_commentaires."", 0, 0, "C" );

$this->SetXY( $r1+5, $y2 - 18 );

}

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Le soucis c'est que la ligne 369 ne correspond a rien de bizarre. Ou alors c'est mon comptage qui est faux.

Par contre c'est quoi ce "Fin" tout en bas de la page ???

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Le soucis c'est que la ligne 369 ne correspond a rien de bizarre. Ou alors c'est mon comptage qui est faux.

Par contre c'est quoi ce "Fin" tout en bas de la page ???

Willy

Ce n'est qu'une erreur de ma part ne pas tenir compte

Ce n'est qu'une erreur de ma part ne pas tenir compte

facture_pdf.php a aussi été modifiéé

Le saviez vous ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Je tombe sur "$r1 = 10;"

Et il n'y a pas d'erreurs.

et avec ça ?

// Affiche l'adresse du client


// (en haut, a droite)


function addClientCommentaires( $pdf_commentaires = " " )


{


$this->SetFont( "Arial", "B", 8);


$r1 = 10;


$r2 = $r1 + 60;


$y1 = $this->h - 45;


$y2 = $y1+30;


$this->RoundedRect($r1, $y1, ($r2 - $r1), ($y2-$y1), 2.5, 'D');


$this->Line( $r1, $y1+4, $r2, $y1+4);


$this->SetXY( $r1+5, $y1);


$this->Cell(10,4, "Commentaires", 0, 0, "C" );


$this->SetFont( "Arial", "", 9);


$this->SetXY( $r1+0, $y2 - 23 );


$this->Cell(6,1, $pdf_commentaires, 0, 0, "C" );


$this->SetXY( $r1+5, $y2 - 18 );

}

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Je tombe sur "$r1 = 10;"

Et il n'y a pas d'erreurs.

et avec ça ?

// Affiche l'adresse du client


// (en haut, a droite)


function addClientCommentaires( $pdf_commentaires = " " )


{


$this->SetFont( "Arial", "B", 8);


$r1 = 10;


$r2 = $r1 + 60;


$y1 = $this->h - 45;


$y2 = $y1+30;


$this->RoundedRect($r1, $y1, ($r2 - $r1), ($y2-$y1), 2.5, 'D');


$this->Line( $r1, $y1+4, $r2, $y1+4);


$this->SetXY( $r1+5, $y1);


$this->Cell(10,4, "Commentaires", 0, 0, "C" );


$this->SetFont( "Arial", "", 9);


$this->SetXY( $r1+0, $y2 - 23 );


$this->Cell(6,1, $pdf_commentaires, 0, 0, "C" );


$this->SetXY( $r1+5, $y2 - 18 );

}

Willy

j'obtiens ça

Parse error: syntax error, unexpected $end, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home4/f/floraclic/www/factures/invoice.php on line 352

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Franchement on y arrivera pas comme ca.

Cherchez la ligne qui pose pb.

Ajoutez des blancs ou des commentaires pour voir si le n° de la ligne d'erreur augmente ou pas ( si vous mettez une ligne blanche en plus avant l'erreur, le n° de la ligne en erreur augmentera de 1, sinon non, ainsi vous pourrez trouver la ligne qui pose pb) et dites nous quelle est la ligne qui pose pb, car là c'est pas possible :)

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

suaf erreur de ma part bien entendu les modifs apportées à ces deux fichiers fonctionnenent correctement

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bah je n'ais pas vu d'erreurs sauf au debut avec la fct cell(), mais apres je ne vois pas :)

Il faudrait le code et l'acces pour tester, mais pas les outils si le temps là

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Pour répondre à LaFleur

il s'avère effectivement que les codes sont corrects, en effet il y a un souci je pense au niveau de la conversion de certains caractères AINSI et UNICODE dans le forum

car j'ai mis tout cela sur un fichier texte et avec un simple copier/coller tout fonctionne

en revanche je mettrais ce code en ligne dès que j'aurais retrouvé mes accès au blog

patience ... merci La Fleur

Merci bcp super Paulana !

Mais moi je les ai pris sur le forum et repassé par un fichier texte avant de les envoyer en ftp dans mes répertoires !!

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

oui ok, j'avais gardé mes pages de tests, et je les aient copier directement sur un fichier txt et ensuite un copir/coller sur les pages factures_pdf.php et invoive.php et la cela fonctionne

mais c'est vrai que si tu fais un copier/coller à partir du forum ce n'est pas bon

au plaisir

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

oui ok, j'avais gardé mes pages de tests, et je les aient copier directement sur un fichier txt et ensuite un copir/coller sur les pages factures_pdf.php et invoive.php et la cela fonctionne

mais c'est vrai que si tu fais un copier/coller à partir du forum ce n'est pas bon

au plaisir

Alors ...au plaisir...

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Ca marche ou pas ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

oui pourquoi tu as fais quelque chose de ton coté ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bah non rien, ct quoi le soucis ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

le souci vient du fait des caractères, en effet lorsque tu fais un copier/coller à partir du forum il se peux que le code soit altéré mais je n'ai rencontré ceci qu'au sujet du code pdf

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping