Flux d’activité

Flux d’activité de Messages


  1. Au niveau de $wwwroot, il faut pas indiquer "http://localhost/Eboutique" mais :

    $wwwroot = "http://localhost";
    Il vous faut maintenant aller dans le fichier httpd.conf de Apache (sous wamp). De modifier la ligne
    DocumentRoot "c:/wamp/www/"
    Par :
    #DocumentRoot "c:/wamp/www/"
    DocumentRoot "C:/Eboutique/"[/code] Et également modifier la ligne :
    [code]<Directory "c:/wamp/www/">
    Par :
    #<Directory "c:/wamp/www/">
    <Directory "C:/Eboutique/">[/code]

    Normalement, cela devrait à présent fonctionner.


  2. Bonjour,

    Pour rajouter un champ dans votre commande, il vous faut donc rajouter le champ en question dans la table peel_commandes_articles.

    Il faut également modifier la classe caddie pour prendre en compte le numéro de série de l'article en question et de pouvoir l'insérer ensuite la la table peel_commandes_articles au moment de l'insertion de la commande en base de données.

    Ensuite, pour afficher cela dans la facture, il vous faut modifier le fichier commande_pdf.php en rajoutant dans les colonnes le nouveau champ, à savoir des lignes 144 à 161 :

    $cols = array("REFERENCE" => 25,
    "NUM. SERIE" => 25,
    "DESIGNATION" => 50,
    "PRIX HT" => 20,
    "PRIX TTC" => 20,
    "QUANTITE" => 20,
    "TOTAL HT" => 20,
    "TOTAL TTC" => 20,
    "TVA" => 15);
    $pdf->addCols($cols);
    // ALignement du contenu des cellules de chaque ligne
    $cols = array("REFERENCE" => "L",
    "NUM. SERIE" => L,
    "DESIGNATION" => "L",
    "PRIX HT" => "R",
    "PRIX TTC" => "R",
    "QUANTITE" => "C",
    "TOTAL HT" => "R",
    "TOTAL TTC" => "R",
    "TVA" => "C");[/code] ATTENTION : il faudra ajuster la largeur des colonnes. Ensuite, un peu plus bas (ligne 187 à 196), il faut afficher pour chaque article le numéro de série comme suit :
    [code]$line = array("REFERENCE" => $prod["reference"],
    "NUM. SERIE" => $prod["num_serie"],
    "DESIGNATION" => filtre_pdf(html_entity_decode($prod["nom_produit"])) . "\r\n" . vb($couleur) . vb($taille) . vb($delai) . vb($attribut), $option, $remise, $ecotaxe,
    "PRIX HT" => $prix_ht,
    "PRIX TTC" => $prix,
    "QUANTITE" => $prod["quantite"],
    "TOTAL HT" => $total_prix_ht,
    "TOTAL TTC" => $total_prix,
    "TVA" => number_format($prod['tva_percent'], 1) . " % "

    );

    Voilà en gros la procédure à suivre.

  3. Tomb


    Bonjour,

    Nous avons une boutique en peel 5.1.

    Pour certaines de nos commandes nous trouvons dans la base de donnée, des enregistrements où nous avons à la fois response_code= 00 (le paiement a été accepté par la banque) et id_statut_paiement = 6 (la commande est annulée) alors que lorsque je regarde dans le code ces deux statuts sont contradictoires.

    Comment se fait-il que pour ces commandes j'ai ces statuts contradictoires ?

    Cela a des conséquences importantes puisque du coup ces commandes ne sont pas traitées (id_statut_paiement = 6) alors que les clients sont débités response_code= 00.

  4. jacouille24


    Dans ce cas il faut voir la page caddie_affichage.php et caddie.php + la classe caddie.php.

    Bien le bonjour realoaded.

    mille excuses pour hier mais j'ai eu une coupure EDF ( une de plus ).

    J'ai quand même trouvé le defaut de la cuirasse.

    IL FALLAIT Y PENSER, c'est du à un BUG du logiciel, à savoir que lorsque l'on change de tva et malgré un UPDATE, la TVA inscrite pour les produits ne changent pas, il faut faire le changement manuellement, soit en reprenant produit par produit ou en modifiant au niveau de la base MYSQL.

    Je pense qu'une info à un ADMIN serait la bienvenue et permettrait la modif du programme.

    dicton: C'EST GRACE A L'ERREUR QUE L'ON APPREND. ;)

  5. jacouille24


    ok.

    alors sans accés aux sources, pas de pistes pour le moment. mais il y'a un souci c'est clair.

    la tva est à zéro dans la bdd mais la tva est elle aussi à zéro dans configuration.inc.php ?

    j'ai vérifié et ai mis les 3 taux de TVA à 0 mais rien ne change, dès que je choisis un pays le site recalcule le tout et m'affiche des chiffres bizarres Ex: 119,57€ à la place de 143€ et 12.081939799331 € de frais de port à la place de 12,60€.

  6. jacouille24


    Avez vous un exemple précis ? un prix tel qu'il devrait etre par exemple et tel qu'il se présente sur votre boutique.

    Bien le bonjour reloaded et merci de répondre aussi vite.

    Un exemple : j'ai un tableau qui vaut 143€ Ttc, pas de tva, 12,60€ de frais de port : total théorique : 155,60€

    Le site, dès que je choisis un pays, m'affiche et me calcule la commande sur: tableau 119,37€ je crois et en frais de port 12,08€

    j'avoue que je n'y comprend rien, j'ai du mettre mon site en maintenance extérieure en urgence.

    Merci encore.

  7. jacouille24


    Bien le bonjour à tous.

    J'ai un très très gros problème.

    Sur mon site j'ai supprimé la TVA mais malgré tout, dès que je fais un test de commande et que je clique sur le pays de destination le logiciel me ressort un prix HT bidon et calcule tout à partir de cette TVA virtuelle y compris les frais de port.

    J'ai regardé dans la base MYSQL et la TVA est à 0.00€. :D

    Autres soucis et pas des moindres, j'ai une artiste décoratrice sur cuivre et émaux qui expose ses œuvres qui coutent très chères et le site les lui vend à un prix inférieur ( port compris ) à son prix de base. :P

    Je me vois obligé de mettre le site en maintenance alors que je viens de le relancer, pour moi c'est une catastrophe qui risque de me faire passer pour un "charlot" vis à vis de mes fournisseurs, et j'avoue que je n'aime pas du tout cette situation.;)

  8. simraph


    je pense que c'est le multipage qui ne marche pas.. Il me retourne 0 et ne s'affiche pas. Un peu d'aide?

    bon week-end si j'ai pas de news avant !

    Je résoud à moitié le problème. Au moins les articles s'affichent. Je peux donc ajouter plus que 50 articles (30 dans les anciennes versions). J'aurai pensé que ça avait été corrigé dans la version 4, mais non.

    Le but étant de vendre de la premium. C'est compréhensible.

    Alors: dans le fichier (administrer -> produits.php) à la ligne 1117, modifier $Links-> ResultPerPage = 50; par le nombre de produits que vous voulez afficher par pages (dans l'admin).

    Ca ne résout pas le problème de mutlipage qui foire. Cependant, on peut voir les articles qu'on ajoute dans l'admin. Pour ma part j'ai mis 500 comme ça je ne suis plus emmerd** pendant un petit moment.

    J'espère que ça aidera qqn. Je pense que beaucoup de personnes ont laissé tomber la version gratuite ou même peel tout court par manque d'aide derrière. C'est dommage, le code est bon.

    Alors j'ajoute ma pierre à l'édifice.

    merci M. Pruault

  9. simraph


    Le probème a il trouver une solution efficace??

    Je suis confronté au même soucis arrivé à 31 articles... ;)

    Effectivement je crois qu'ils ne veulent pas en dire plus... Ca les arrange peut-être..

    Il faut regarder du côté des multipages. Cependant je bloque aussi. Bas du fichier (administrer -> article.php) vérifier les balises d'ouverture php.

    On avance, mais ça ne résout pas le problème. Paulanna un peu d'aide? Je vois que vous répondez bien et régulièrement.

    merci.

  10. lionel20


    Bon ben après 6 heures de bidouille j'ai réussie à intégrer à peux près ce que je voulais , mais il me reste un blanc sur la boutique dans le header entre l'image et le haut de la boutique :P ... :P :P :P :P

    Bon j'ai regardé dans la page haut.php voir si il y'as un style css qui traine ou une marge oubliée ou trop grande et nada..

    Quelqu'un peut il m'éguiller sur l'ultime modif à faire :D ...

    Merci à vous , euh en même temps je peux échanger une petite aide pour votre charte graphique en échange de cette petit coup de mains ;)

    lio

  11. simraph


    Pourtant, on ne peut pas ajouter plus d'articles que 31, même sur la version shopping 4. J'ai trouvé ça en fin de fichier (administrer -> articles):

    Vérifier les balises d'ouverture <?php et ?>.

    Cependant, ça n'arrange pas la problème. en bas de mes pages, j'ai un 0 qui s'affiche. Je pense qu'il manque un bout.. ou..

    qqn à une idée?

    Merci

    je pense que c'est le multipage qui ne marche pas.. Il me retourne 0 et ne s'affiche pas. Un peu d'aide?

    bon week-end si j'ai pas de news avant !

  12. simraph


    Pour la limite du nb d'articles, c'est free question déja posées pas mal de fois.

    Willy

    Pourtant, on ne peut pas ajouter plus d'articles que 31, même sur la version shopping 4. J'ai trouvé ça en fin de fichier (administrer -> articles):

    Vérifier les balises d'ouverture <?php et ?>.

    Cependant, ça n'arrange pas la problème. en bas de mes pages, j'ai un 0 qui s'affiche. Je pense qu'il manque un bout.. ou..

    qqn à une idée?

    Merci

  13. simraph


    Ok, je vois que si je mets mon appel de fonction en début de bas.php, il s'affiche sous le titre et non en-dessus. Autre question:

    Qu'est-ce qui s'affiche entre haut.php et bas.php ? Quelle-est la page appelée pour la construction du div=content?

    Merci de vos réponses. Je commence à dériver de mon post original, s'il faut j'en ouvre un autre.

    Ca fait un peu "premiers pas" en live. ;)

    Réponse pour suivants: on ajoute ce qu'on veut qui s'affiche dans la page centrale dans index.php. Si ça peut servir.

  14. simraph


    Le problème est connu sur la version shopping (4).

    Seulement ce n'est pas très ergonomique et le risque de perdre des clients est grand.

    Le post en question: http://forum.peel.fr/sous-rubriques-dispar...9447#entry19447

    Je me permets de remettre ce sujet au goût du jour, désolé.

    Quelqu'un aurait une piste, de l'aide, une idée? Ou la fonction ré-écrite?

    merci d'avance et bonne soirée

    ok j'ai modifié le code de la fonction, mais les sous-catégories ne s'affichent plus du coup, je demande un peu d'aide.. je commence à être rouillé en php...

    Mon code:

    function construit_menu_arborescent_cat(&$sortie_cat, &$selectionne_cat, $parent_cat=0, $indent_cat=-1)
    {
    global $wwwroot, $catid;
    $indent_cat +=1;
    if(is_array($catid)) $catid=0;
    // Recherche de tous les noeuds ayant $parent comme noeud parent
    $qid = mysql_query("SELECT c.id, c.parent_id, c.nom_".$_SESSION['langue']." FROM peel_categories c WHERE c.parent_id = '$parent_cat' AND c.etat = '1' ORDER BY c.position");
    // Si la requete a abouti
    if($qid){
    // Pour toutes les entr&eacute;es
    while($cat = mysql_fetch_array($qid)){
    // Boucle pour ajouter l'indentation (une image vide)
    // Pour aller plus loin on peut g&eacute;rer des lignes de suite
    for($i=0;$i<$indent_cat;$i++){
    $sortie_cat .= "<img src='$wwwroot/images/mnu_empty.gif' border=0>";
    }
    // Recherche d'enfant pour d&eacute;terminer l'aspect de l'icone (feuille ou dossier)
    $fils_cat = mysql_query("SELECT c.id, c.parent_id, c.nom_".$_SESSION['langue']." FROM peel_categories c WHERE c.parent_id = '".$cat['id']."' AND c.etat = '1' ORDER BY c.position ORDER BY IF(c.id='".$catid."',1,0) DESC, c.position ASC");

    /* $div_cat = mysql_num_rows($fils_cat); */

    if(!empty($fils_cat)){
    $div_cat = mysql_fetch_assoc($fils_cat);
    }else{
    $div_cat = false;
    }

    // Si il y a des enfants
    if ($div_cat) {
    // Ajout de l'icone du dossier
    $sortie_cat .= "<img src=\"$wwwroot/images/menplus.gif\" border=\"0\">&nbsp;";
    // Ajout du lien (identiqueà construit menu)
    $sortie_cat .= "<a href=\"$wwwroot/achat/index.php?catid=" . $cat['id'] ."\">";

    // Test si le noeud est le noeud actif (id), si oui, ajoute du gras (plus visuel)
    if($cat['id']==$catid) $sortie_cat .= "<b>";
    // Ajoute le nom de la cat&eacute;gorie et d&eacute;bute un calque DIV ayant pour ID l'Id de la cat&eacute;gorie
    $sortie_cat .= html_entity_decode($cat['nom_'.$_SESSION['langue'].'']);

    $nb = calcul_nbprod_parcat($cat['id']);

    if (!empty($nb)) {$sortie_cat .= " (".$nb.") "; }

    $sortie_cat .= "</a></b><br /><DIV id=".$cat['id'];
    // Recherche si le noeud fait partie de l'arborescence du noeud actif
    parent_noeud_cat($cat['id'],$catid, $actif_cat=0);
    // Si Oui,
    if(($cat['id'] == $catid) || ($actif_cat == 1 || $div_cat['id']==$catid)){
    // Rends le calque visible
    $sortie_cat.= " style=\"display:yes\">\n";
    }
    else{
    // Sinon, rends le calque invisible
    $sortie_cat.= " style=\"display:none\">\n";
    }
    }
    // Sinon, c'est un document
    else{
    // Ajoute l'image du document
    $sortie_cat .= "<img src='$wwwroot/images/menminus.gif' border=0>&nbsp;";
    // Ajoute le lien (identique &agrave; construit_menu)
    $sortie_cat .= "<a href=\"$wwwroot/achat/index.php?catid=" . $cat['id'] ."\">";
    // Si c'est la feuille active, la met en gras
    if($cat['id']==$catid) $sortie_cat .= "<b>";
    // Ajoute le nom
    $sortie_cat .= html_entity_decode($cat['nom_'.$_SESSION['langue'].'']);

    $nb = calcul_nbprod_parcat($cat['id']);

    if (!empty($nb)) {$sortie_cat .= " (".$nb.") "; }

    $sortie_cat .= "</a></b><br />";
    }
    // Si c'est un noeud (cat&eacute;gorie)
    if($div_cat){
    // Appel r&eacute;cursif pour ajout des enfants
    construit_menu_arborescent_cat($sortie_cat, $selectionne_cat, $cat['id'], $indent_cat);
    // Ferme le calque
    $sortie_cat.="</div>";
    }
    }
    }
    } [/codebox]

    merci bcp !

  15. simraph


    Le problème est connu sur la version shopping (4).

    Seulement ce n'est pas très ergonomique et le risque de perdre des clients est grand.

    Le post en question: http://forum.peel.fr/sous-rubriques-dispar...9447#entry19447

    Je me permets de remettre ce sujet au goût du jour, désolé.

    Quelqu'un aurait une piste, de l'aide, une idée? Ou la fonction ré-écrite?

    merci d'avance et bonne soirée

  16. simraph


    Le problème est connu sur la version shopping (4).

    Seulement ce n'est pas très ergonomique et le risque de perdre des clients est grand.

    Le post en question: http://forum.peel.fr/sous-rubriques-dispar...9447#entry19447

    Je me permets de remettre ce sujet au goût du jour, désolé.

    Quelqu'un aurait une piste, de l'aide, une idée? Ou la fonction ré-écrite?

    merci d'avance et bonne soirée

    ok j'ai modifié le code de la fonction, mais les sous-catégories ne s'affichent plus du coup, je demande un peu d'aide.. je commence à être rouillé en php...

    Mon code:

    function construit_menu_arborescent_cat(&$sortie_cat, &$selectionne_cat, $parent_cat=0, $indent_cat=-1)
    {
    global $wwwroot, $catid;
    $indent_cat +=1;
    if(is_array($catid)) $catid=0;
    // Recherche de tous les noeuds ayant $parent comme noeud parent
    $qid = mysql_query("SELECT c.id, c.parent_id, c.nom_".$_SESSION['langue']." FROM peel_categories c WHERE c.parent_id = '$parent_cat' AND c.etat = '1' ORDER BY c.position");
    // Si la requete a abouti
    if($qid){
    // Pour toutes les entr&eacute;es
    while($cat = mysql_fetch_array($qid)){
    // Boucle pour ajouter l'indentation (une image vide)
    // Pour aller plus loin on peut g&eacute;rer des lignes de suite
    for($i=0;$i<$indent_cat;$i++){
    $sortie_cat .= "<img src='$wwwroot/images/mnu_empty.gif' border=0>";
    }
    // Recherche d'enfant pour d&eacute;terminer l'aspect de l'icone (feuille ou dossier)
    $fils_cat = mysql_query("SELECT c.id, c.parent_id, c.nom_".$_SESSION['langue']." FROM peel_categories c WHERE c.parent_id = '".$cat['id']."' AND c.etat = '1' ORDER BY c.position ORDER BY IF(c.id='".$catid."',1,0) DESC, c.position ASC");

    /* $div_cat = mysql_num_rows($fils_cat); */

    if(!empty($fils_cat)){
    $div_cat = mysql_fetch_assoc($fils_cat);
    }else{
    $div_cat = false;
    }

    // Si il y a des enfants
    if ($div_cat) {
    // Ajout de l'icone du dossier
    $sortie_cat .= "<img src=\"$wwwroot/images/menplus.gif\" border=\"0\">&nbsp;";
    // Ajout du lien (identiqueà construit menu)
    $sortie_cat .= "<a href=\"$wwwroot/achat/index.php?catid=" . $cat['id'] ."\">";

    // Test si le noeud est le noeud actif (id), si oui, ajoute du gras (plus visuel)
    if($cat['id']==$catid) $sortie_cat .= "<b>";
    // Ajoute le nom de la cat&eacute;gorie et d&eacute;bute un calque DIV ayant pour ID l'Id de la cat&eacute;gorie
    $sortie_cat .= html_entity_decode($cat['nom_'.$_SESSION['langue'].'']);

    $nb = calcul_nbprod_parcat($cat['id']);

    if (!empty($nb)) {$sortie_cat .= " (".$nb.") "; }

    $sortie_cat .= "</a></b><br /><DIV id=".$cat['id'];
    // Recherche si le noeud fait partie de l'arborescence du noeud actif
    parent_noeud_cat($cat['id'],$catid, $actif_cat=0);
    // Si Oui,
    if(($cat['id'] == $catid) || ($actif_cat == 1 || $div_cat['id']==$catid)){
    // Rends le calque visible
    $sortie_cat.= " style=\"display:yes\">\n";
    }
    else{
    // Sinon, rends le calque invisible
    $sortie_cat.= " style=\"display:none\">\n";
    }
    }
    // Sinon, c'est un document
    else{
    // Ajoute l'image du document
    $sortie_cat .= "<img src='$wwwroot/images/menminus.gif' border=0>&nbsp;";
    // Ajoute le lien (identique &agrave; construit_menu)
    $sortie_cat .= "<a href=\"$wwwroot/achat/index.php?catid=" . $cat['id'] ."\">";
    // Si c'est la feuille active, la met en gras
    if($cat['id']==$catid) $sortie_cat .= "<b>";
    // Ajoute le nom
    $sortie_cat .= html_entity_decode($cat['nom_'.$_SESSION['langue'].'']);

    $nb = calcul_nbprod_parcat($cat['id']);

    if (!empty($nb)) {$sortie_cat .= " (".$nb.") "; }

    $sortie_cat .= "</a></b><br />";
    }
    // Si c'est un noeud (cat&eacute;gorie)
    if($div_cat){
    // Appel r&eacute;cursif pour ajout des enfants
    construit_menu_arborescent_cat($sortie_cat, $selectionne_cat, $cat['id'], $indent_cat);
    // Ferme le calque
    $sortie_cat.="</div>";
    }
    }
    }
    }[/codebox]

    merci !!!!

  17. simraph


    J'ai fait les modifs sur le fichier. Cependant, les catégories ne se déplient plus du coup.

    Quelqu'un pourrait m'aider? Ca fait lgtps que je n'ai plus fait de php.. je suis rouillé ;)

    je vous joins le code de la fonction:

    function construit_menu_arborescent_cat(&$sortie_cat, &$selectionne_cat, $parent_cat=0, $indent_cat=-1)
    {
    global $wwwroot, $catid;
    $indent_cat +=1;
    if(is_array($catid)) $catid=0;
    // Recherche de tous les noeuds ayant $parent comme noeud parent
    $qid = mysql_query("SELECT c.id, c.parent_id, c.nom_".$_SESSION['langue']." FROM peel_categories c WHERE c.parent_id = '$parent_cat' AND c.etat = '1' ORDER BY c.position");
    // Si la requete a abouti
    if($qid){
    // Pour toutes les entr&eacute;es
    while($cat = mysql_fetch_array($qid)){
    // Boucle pour ajouter l'indentation (une image vide)
    // Pour aller plus loin on peut g&eacute;rer des lignes de suite
    for($i=0;$i<$indent_cat;$i++){
    $sortie_cat .= "<img src='$wwwroot/images/mnu_empty.gif' border=0>";
    }
    // Recherche d'enfant pour d&eacute;terminer l'aspect de l'icone (feuille ou dossier)
    $fils_cat = mysql_query("SELECT c.id, c.parent_id, c.nom_".$_SESSION['langue']." FROM peel_categories c WHERE c.parent_id = '".$cat['id']."' AND c.etat = '1' ORDER BY c.position ORDER BY IF(c.id='".$catid."',1,0) DESC, c.position ASC");

    /* $div_cat = mysql_num_rows($fils_cat); */

    if(!empty($fils_cat)){
    $div_cat = mysql_fetch_assoc($fils_cat);
    }else{
    $div_cat = false;
    }

    // Si il y a des enfants
    if ($div_cat) {
    // Ajout de l'icone du dossier
    $sortie_cat .= "<img src=\"$wwwroot/images/menplus.gif\" border=\"0\">&nbsp;";
    // Ajout du lien (identiqueà construit menu)
    $sortie_cat .= "<a href=\"$wwwroot/achat/index.php?catid=" . $cat['id'] ."\">";

    // Test si le noeud est le noeud actif (id), si oui, ajoute du gras (plus visuel)
    if($cat['id']==$catid) $sortie_cat .= "<b>";
    // Ajoute le nom de la cat&eacute;gorie et d&eacute;bute un calque DIV ayant pour ID l'Id de la cat&eacute;gorie
    $sortie_cat .= html_entity_decode($cat['nom_'.$_SESSION['langue'].'']);

    $nb = calcul_nbprod_parcat($cat['id']);

    if (!empty($nb)) {$sortie_cat .= " (".$nb.") "; }

    $sortie_cat .= "</a></b><br /><DIV id=".$cat['id'];
    // Recherche si le noeud fait partie de l'arborescence du noeud actif
    parent_noeud_cat($cat['id'],$catid, $actif_cat=0);
    // Si Oui,
    if(($cat['id'] == $catid) || ($actif_cat == 1 || $div_cat['id']==$catid)){
    // Rends le calque visible
    $sortie_cat.= " style=\"display:yes\">\n";
    }
    else{
    // Sinon, rends le calque invisible
    $sortie_cat.= " style=\"display:none\">\n";
    }
    }
    // Sinon, c'est un document
    else{
    // Ajoute l'image du document
    $sortie_cat .= "<img src='$wwwroot/images/menminus.gif' border=0>&nbsp;";
    // Ajoute le lien (identique &agrave; construit_menu)
    $sortie_cat .= "<a href=\"$wwwroot/achat/index.php?catid=" . $cat['id'] ."\">";
    // Si c'est la feuille active, la met en gras
    if($cat['id']==$catid) $sortie_cat .= "<b>";
    // Ajoute le nom
    $sortie_cat .= html_entity_decode($cat['nom_'.$_SESSION['langue'].'']);

    $nb = calcul_nbprod_parcat($cat['id']);

    if (!empty($nb)) {$sortie_cat .= " (".$nb.") "; }

    $sortie_cat .= "</a></b><br />";
    }
    // Si c'est un noeud (cat&eacute;gorie)
    if($div_cat){
    // Appel r&eacute;cursif pour ajout des enfants
    construit_menu_arborescent_cat($sortie_cat, $selectionne_cat, $cat['id'], $indent_cat);
    // Ferme le calque
    $sortie_cat.="</div>";
    }
    }
    }
    }[/codebox]

    merci !

Twitter Advisto ecommerce

Facebook PEEL Shopping