Position des produits

10 messages dans ce sujet

Posté(e) · Signaler ce message

Je cherche à faire comme pour les catégories (Position dans la catégorie :) une gestion de l'emplacement d'un produit dans la catégorie.

Car si je rajoute de nouvelles références certain de produit qui sont des produits phare ce retrouve en 2eme page lors de la navigation dans la cat!!

VOus auriez une idée?

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

si tu fais avec ça Gérer les positions des produits / catégorie dans le menu catégories/produits

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

En effet apparement on peut, mais j'ai une belle erreur 404 et je n'ais pas la page "/administrer/positions.php" sur mon site :)

Quelqu'un a le code de cette page pour moi.

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

En effet apparement on peut, mais j'ai une belle erreur 404 et je n'ais pas la page "/administrer/positions.php" sur mon site :)

Quelqu'un a le code de cette page pour moi.

Willy

Bonjour willy,

Je ne connais pas cette page suis je censé l'avoir avec ma version 2.9?

Question :

Comment faire pour que le textarea de mes commande soit repris dans les factures PDF ?

Moi dans le textarea ils inscrivent la date de livraison souhaité et un message

Lorsqu'ils impriment la facture en PDF ils n'ont pas confirmation de la date de livraison

Y a t il un moyen ?

PS : J'ai un PR de deux et tout seul SVP !

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

oui tu parles des commentaires/instructions spéciales ?

bravo pour ton pr au bout de combien de temps l'as tu obtenu

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour willy,

Je ne connais pas cette page suis je censé l'avoir avec ma version 2.9?

Question :

Comment faire pour que le textarea de mes commande soit repris dans les factures PDF ?

Moi dans le textarea ils inscrivent la date de livraison souhaité et un message

Lorsqu'ils impriment la facture en PDF ils n'ont pas confirmation de la date de livraison

Y a t il un moyen ?

PS : J'ai un PR de deux et tout seul SVP !

La page positions.php

<?

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

necessite_identification();

necessite_priv("admin");

$DOC_TITLE = "Gestion des positions";

include("modeles/haut.php");

$start = vn($_REQUEST['start']);// D&eacute;termine la variable start (d&eacute;but de page)

switch (vb script:return confirm('&ecirc;tes-vous s&ucirc;r de vouloir supprimer la position ?');" title="Supprimer <?=$ligne['nom_'.$_SESSION['langue'].''] ?>" href=<?=$_SERVER['PHP_SELF]?>?mode=suppr&id=<?=$ligne['id'] ?>"><img src="images/b_drop.png" alt="drop" border="0"></a></td>

<td class=petit><a class=petit title="Modifier ce position" href="<?=$_SERVER['PHP_SELF']?>?mode=modif&id=<?=$ligne['id'] ?>"><?=$ligne['nom_'.$_SESSION['langue'].''] ?></a></td>

<td class=petit>

<?php

if ($ligne['image'] != "") {echo "<img src=.$repertoire_images.$ligne['image]." width=\"100\" />";}

?>

</td>

<td align=center class=petit><?=$ligne['ordre'] ?></td>

<td align=center>

<?php

$query_lang = mysql_query("SELECT * FROM peel_langues WHERE etat = '1' AND lang <> '".$_SESSION['langue']."' GROUP BY lang");

if($query_lang) {

if (mysql_num_rows($query_lang)) {

echo "<select name=\"langue\" class=\"formulaire1\" onChange=\"gototraduire(this.options[this.selectedIndex].value)\">";

echo "<option value=\"\">Choisir la langue :</option>";

while($res_lang = mysql_fetch_array($query_lang)) {

echo "<option value=\"mode=traduire&id=".$ligne['id']."&langue=.$res_lang['lang]."\">".stripslashes($res_lang['nom_'.$_SESSION['langue'].''])."</option>";

}

echo "</select>";

}

}

?>

</td>

</tr>

<?

$i++;

}

}

echo "</table>";

}

function supprime_fichier($id, $file) {

/* Supprime le produit sp&eacute;cifici&eacute; par $id. Il faut supprimer le produit

* puis les entr&eacute;es correspondantes de la table produits_categories. */

global $the_path ;

/* Charge les infos du produit. */

switch($file) {

case "image" :

$sql = "SELECT image FROM peel_positions WHERE id = '$id'";

$res = mysql_query($sql);

$file = mysql_fetch_row($res);

mysql_query("UPDATE peel_positions SET image = '' WHERE id = '$id'");

break;

}

@unlink($the_path.$file[0]);

?>

<div class="normal">

Le fichier <b><?=$file[0]?> </b>a &eacute;t&eacute; effac&eacute; du serveur.

</div>

<?

}

?>

En espérant qu'elle vous sera utile sinon je la remets ...

La fleurs

oui tu parles des commentaires/instructions spéciales ?

bravo pour ton pr au bout de combien de temps l'as tu obtenu

Pourquoi parler des choses qui fachent Paulana !!!!

La page positions.php

<?

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

necessite_identification();

necessite_priv("admin");

$DOC_TITLE = "Gestion des positions";

include("modeles/haut.php");

$start = vn($_REQUEST['start']);// D&eacute;termine la variable start (d&eacute;but de page)

switch (vb script:return confirm('&ecirc;tes-vous s&ucirc;r de vouloir supprimer la position ?');" title="Supprimer <?=$ligne['nom_'.$_SESSION['langue'].''] ?>" href=<?=$_SERVER['PHP_SELF]?>?mode=suppr&id=<?=$ligne['id'] ?>"><img src="images/b_drop.png" alt="drop" border="0"></a></td>

<td class=petit><a class=petit title="Modifier ce position" href="<?=$_SERVER['PHP_SELF']?>?mode=modif&id=<?=$ligne['id'] ?>"><?=$ligne['nom_'.$_SESSION['langue'].''] ?></a></td>

<td class=petit>

<?php

if ($ligne['image'] != "") {echo "<img src=.$repertoire_images.$ligne['image]." width=\"100\" />";}

?>

</td>

<td align=center class=petit><?=$ligne['ordre'] ?></td>

<td align=center>

<?php

$query_lang = mysql_query("SELECT * FROM peel_langues WHERE etat = '1' AND lang <> '".$_SESSION['langue']."' GROUP BY lang");

if($query_lang) {

if (mysql_num_rows($query_lang)) {

echo "<select name=\"langue\" class=\"formulaire1\" onChange=\"gototraduire(this.options[this.selectedIndex].value)\">";

echo "<option value=\"\">Choisir la langue :</option>";

while($res_lang = mysql_fetch_array($query_lang)) {

echo "<option value=\"mode=traduire&id=".$ligne['id']."&langue=.$res_lang['lang]."\">".stripslashes($res_lang['nom_'.$_SESSION['langue'].''])."</option>";

}

echo "</select>";

}

}

?>

</td>

</tr>

<?

$i++;

}

}

echo "</table>";

}

function supprime_fichier($id, $file) {

/* Supprime le produit sp&eacute;cifici&eacute; par $id. Il faut supprimer le produit

* puis les entr&eacute;es correspondantes de la table produits_categories. */

global $the_path ;

/* Charge les infos du produit. */

switch($file) {

case "image" :

$sql = "SELECT image FROM peel_positions WHERE id = '$id'";

$res = mysql_query($sql);

$file = mysql_fetch_row($res);

mysql_query("UPDATE peel_positions SET image = '' WHERE id = '$id'");

break;

}

@unlink($the_path.$file[0]);

?>

<div class="normal">

Le fichier <b><?=$file[0]?> </b>a &eacute;t&eacute; effac&eacute; du serveur.

</div>

<?

}

?>

En espérant qu'elle vous sera utile sinon je la remets ...

La fleurs

Pourquoi parler des choses qui fachent Paulana !!!!

Ah oui je parle des instructions spéciales c'est ça

Y a t il une solution ?

La fleur

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

ouaip fais moi passer la page facture_pdf.php et invoice.php pour tracer le cadre

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

je suis nul, j'ai effectivement le lien, désolé pour le dérangement :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

ouaip fais moi passer la page facture_pdf.php et invoice.php pour tracer le cadre

Voila dans l'ordre demandé en plus !

<?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_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_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->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,

);

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

$pdf->addCadreSignature();

}

$pdf->addTVAs($params);

$pdf->addCadreEurosFrancs();

$pdf->Output();

} else {

echo "NO HACKING (-:!";

}

} else {

echo "NO HACKING (-:!";

}

?>

Invoice maintenant

<?php

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

define('EURO_VAL', 6.55957 );

class INVOICE extends FPDF

{

// variables priv&eacute;es

var $colonnes;

var $format;

var $angle=0;

// fonctions priv&eacute;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&eacute;es de la soci&eacute;t&eacute;

$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 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&egrave;glement (ch&egrave;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&eacute;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);

}

}

?>

Voila et avec ça on doit arriver à faire qque chose ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

je suis nul, j'ai effectivement le lien, désolé pour le dérangement :)

Pas de soucis, je ne savais même pas que ca existait, merci a vous !

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