Flux d’activité

Flux d’activité

  1. goldorakteam a ajouté un sujet dans Module PEEL Premium pour PEEL SHOPPING   

    Email caractere
    Bonsoir mes clients reçois par email notre code promo par newsletters est voici l’aperçu par email avec des caractères comme dans l'exemple :

    Pour vous désinscrire, allez dans Mon compte > Modifier mes paramètres.

    d&eaucute

    Re finalement sa doit notre fournisseur

    Une idée :) Merci
    • 5 réponses
    • 3 076 vues
  2. paulanna a ajouté un message dans un sujet  code de stats   

    modeles/defautl/haut.php
    • 0
  3. paulanna a ajouté un message dans un sujet  Connection Automatique apres inscription   

    comprend pas bien la, car c'est ce qui se passe habituellement tu commandes et à partir du caddie en cliquant sur commander tu es dirigé vers la page memebre où tu peux t'identifier si tu as deja un compte sinon créer un compte et à la suite de ça tu es à nouveau dirigé sur le caddie
    • 0
  4. Vincnet a ajouté un sujet dans PEEL SHOPPING : logiciel open source de boutique en ligne   

    Connection Automatique apres inscription
    Bonjour à tous.

    J'utilise une version de Peel 2.7 un peu modifiée.
    En fait pas mal, puisque cela fait un ans que je suis dessus, au début dans le but d'apprendre le php, puis maintenant pour faire tourner la boutique d'un amis.

    Je ne vais pas vous lister mes modifs, car elle sont nombreuses, et en bon programmeur amateur, je serai bien incapable de sortir une release note...
    Enfin si vous voulez vous faire une idée, c'est un site de vente de pocket bike : www.pocketmotors.fr

    Un des problèmes qu'il me reste à traiter, c'est la perte de temps pour l'utilisateur, lors de sa première commande.
    Comment le loguer automatiquement, sans qu'il ai besoin de le faire après son inscription ?
    Le tout sans crèer une faille de sécurité bien évidement !

    Merci d'avance pour vos idées.
    • 12 réponses
    • 4 815 vues
  5. tinty a ajouté un sujet dans Module PEEL Premium pour PEEL SHOPPING   

    code de stats
    Bonjour ou plutot bonsoir;

    j'ai une ligne à insérer dans les pages à tracer <?php include"stat/statinclude.php";?> sachant que sript est dans situé dans un repertoire "stat"

    J'ai pu mettre cette ligne dans index.php et dans les fichiers situé à la racine et ca fonctionne mais dès que je le place dans un autre répertoire, ca ne me donne rien.
    Questions: dans quelles pages doit on mettre cette ligne pour avoir le plus possible de traces et à quel endroit dans la page.

    Merci de vos réponses eclairées.

    Tinty.
    • 8 réponses
    • 3 214 vues
  6. Paul a ajouté un message dans un sujet  prob catégories   

    problème résolu , merci encore willy
    • 0
  7. paulanna a ajouté un sujet dans Module PEEL Premium pour PEEL SHOPPING   

    Récupérer les commentaires dans facture_pdf.php
    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
    • 33 réponses
    • 9 769 vues
  8. noya_m a ajouté un message dans un sujet  plan du site   

    En gros je voudrais celui affichant les catégories et sous catégories car j'ai trop de produits donc la liste est trop longue

    Merci
    • 0
  9. Willy a ajouté un message dans un sujet  Position des produits   


    Pas de soucis, je ne savais même pas que ca existait, merci a vous !
    • 0
  10. Willy a ajouté un message dans un sujet  plan du site   

    Vous en voulez donc 2 un pour les produits et un pour les catégories et sous catégories ?
    • 0
  11. noya_m a ajouté un message dans un sujet  plan du site   

    Oui pardon le "sitemap" plan du site pour les visiteurs
    • 0
  12. La fleur a ajouté un message dans un sujet  Position des produits   

    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 ?
    • 0
  13. 3DVF a ajouté un message dans un sujet  Position des produits   

    je suis nul, j'ai effectivement le lien, désolé pour le dérangement :)
    • 0
  14. Willy a ajouté un message dans un sujet  plan du site   

    Dans quel sitemap ?

    Le vrai sitemap que vous soumettez à Google ou le plan du site pour les visiteurs ?

    Willy
    • 0
  15. noya_m a ajouté un message dans un sujet  plan du site   

    Maintenant un peu plus dur :) :

    avec le sitemap d'origine les sous categories ne s'affichent pas

    comment faire pour les afficher aussi
    • 0
  16. Willy a ajouté un message dans un sujet  Soucis Session suite ajout de script   


    Oui j'ai vu, mais c'est l'intégration dans la page qui pose soucis apparement.

    Willy
    • 0
  17. noya_m a ajouté un message dans un sujet  plan du site   

    mettre ceci :

    <a class="normal" href="achat/produit_details.php?id=<? echo $cat['id'] ?>" ><? echo html_entity_decode($cat['nom_'.$_SESSION['langue'].''])?> (<?php echo $Count[0] ?>)</a>

    ou lieu de

    <a class="normal" href="achat/index.php?catid=<? echo $cat['id'] ?>"><? echo html_entity_decode($cat['nom_'.$_SESSION['langue'].''])?> (<?php echo $Count[0] ?>)</a>
    • 0
  18. paulanna a ajouté un message dans un sujet  Position des produits   

    ouaip fais moi passer la page facture_pdf.php et invoice.php pour tracer le cadre
    • 0
  19. 3DVF a ajouté un message dans un sujet  Soucis Session suite ajout de script   

    le script est disp oen téléchargement sur le site cité au dessus.
    • 0
  20. La fleur a ajouté un message dans un sujet  Position des produits   


    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
    • 0
  21. sebix a ajouté un message dans un sujet  GESTION DE STOCK   

    paulana, je ne comprends vraiment pas pourquoi mais j utilise a la lettre ton code, je peux ajouter des produits en stock, pas de probleme mais uniquement via la fiche produit. lorsque je le fais par la fiche "speciale" stock, il y a bien ajouter 1 et enlever 1 mais quoi que je fasse cela ne fonctionne pas. a ton avis que se passe t il?
    • 0
  22. Willy a ajouté un message dans un sujet  plan du site   

    Le bon code est donc pour les intéressés:


    <? include("configuration.inc.php"); $DOC_TITLE = "[PEEL.FR]"; include("$repertoire_modele/haut.php"); print_alpha(); include("$repertoire_modele/bas.php"); /****************************************************************************** * FUNCTIONS *****************************************************************************/ function print_alpha() { /* Affiche la liste des cat&eacute;gories par ordre alphab&eacute;tique */ global $wwwroot, $repertoire_modele, $repertoire_images; $alpha = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'); echo "<table align=\"center\" border=\"0\" cellspacing=\"0\" cellpadding=\"3\" width=\"100%\">"; echo "<tr><td colspan=\"2\" class=\"entete\">".SITEMAP."</td></tr>"; foreach ($alpha as $value) { $sqlCat = "SELECT c.id, c.nom_".$_SESSION['langue'].", c.alpha FROM peel_produits c WHERE c.etat = '1' AND c.alpha = '".$value."'"; $resCat = mysql_query($sqlCat) or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); echo "<tr><td class=\"titre\" colspan=\"2\">".$value."</td></tr>"; if (mysql_num_rows($resCat) > 0) { while ($cat = mysql_fetch_array($resCat)) { $sqlCount = "SELECT COUNT(*) FROM peel_produits p, peel_produits_categories pc, peel_categories c WHERE p.id = pc.produit_id AND p.id = '".intval($cat['id'])."' AND c.id = pc.categorie_id"; $resCount = mysql_query($sqlCount); if ($resCount) { $Count = mysql_fetch_row($resCount) or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); } echo "<tr valign=\"top\"><td class=\"normal\">"; ?> <a class="normal" href="achat/produit_details.php?id=<? echo $cat['id'] ?>" ><? echo html_entity_decode($cat['nom_'.$_SESSION['langue'].''])?> (<?php echo $Count[0] ?>)</a> <?php echo "</td></tr>"; } } } echo "</table>"; } ?>

    Willy
    • 0
  23. paulanna a ajouté un message dans un sujet  Position des produits   

    oui tu parles des commentaires/instructions spéciales ?

    bravo pour ton pr au bout de combien de temps l'as tu obtenu
    • 0
  24. noya_m a ajouté un message dans un sujet  plan du site   

    Yes .......... :)

    Merci a toi
    • 0
  25. La fleur a ajouté un message dans un sujet  Position des produits   

    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 !
    • 0

Twitter Advisto ecommerce

Facebook PEEL Shopping