[Plugin] plxMyShop le Ecommerce pour Pluxml

191012141523

Réponses

  • ppmtppmt Member
    Et puisque je suis en mode "je suis un peu chiant des fois" :)

    dans le panier on a maintenant 3 choix (Save, Forget and Clear)

    Serait-il possible d'avoir un boutton qui indique "Save" quand il n'y a rien de sauver puis qui indiquerait "Forget" une fois sauve?

    Et qui bien sur basculerait de retour vers "Save" quand on presse "Forget"
  • ppmt a écrit:
    Et puisque je suis en mode "je suis un peu chiant des fois" :)

    dans le panier on a maintenant 3 choix (Save, Forget and Clear)

    Serait-il possible d'avoir un boutton qui indique "Save" quand il n'y a rien de sauver puis qui indiquerait "Forget" une fois sauve?

    Et qui bien sur basculerait de retour vers "Save" quand on presse "Forget"

    Bonne idée
    Yannic a écrit:
    Je pense aussi qu'ils devrais être intégrés avec option d'activer ou non le cookie et d'activer ou non le localStorage smile
    seras plus simple pour tout le monde je pense.

    Si l'intégration est faite, je le supprimerai de mon gihub.

    PS: faudra penser qu'il faut aussi un fix pour la validation du formulaire.

    En route vers la simplicité...

    Notre temps est la seule monnaie vraie ;)

    Site, Dépôt, framagit, MyShop, Factux

    #mozinor président

  • SudwebdesignSudwebdesign Member
    avril 2017 modifié
    Yannic a écrit:
    PS: faudra penser qu'il faut aussi un fix pour la validation du formulaire.

    C'est curieux, il semble qu'un champ de type email est suffisant à notre époque HTML5 Email Validation

    [édit]
    Mais en effet çà passe avec un simple @ entouré de 2 lettres comme t@t, c'est zarby :(

    je vais m'orienter vers un pattern HTML5 Form Validation With Regex

    Notre temps est la seule monnaie vraie ;)

    Site, Dépôt, framagit, MyShop, Factux

    #mozinor président

  • YannicYannic Member
    avril 2017 modifié
    Oh ! oui, en fait c'est normal par defaut que cela accepte mot@mot

    En fait je parlais surtout du probleme avec chrome version 57 qui occasionne une erreur pas belle si l'on ne rempli pas un champs obligatoire ou que l'on ne valide pas les CGV

    Pour le mail, effectivement sera mieux avec un regex en prenant compte qu'il faut qu'il soit moderne pour accepter les domaines farfelus comme celui de mes tests .exposed qui ne passe pas dans beaucoup de formulaires des sites existants.

    Buster/NGINX/PHP7/PluXml5.8

  • SudwebdesignSudwebdesign Member
    avril 2017 modifié
    Dernière Sortie : v.0.11.1 à téléchargé ici

    [+] MyshopCookie intégré
    [+] Config : Switch to Switch (interrupteurs O/N graphique) Merci Yannic
    [+] Panier : Boutons Save & Forget modifiés selon une idée de ppmt
    [+] Panier : Ajout d'un filtre ExpReg au champ courriel : pattern="[^@]+@[^@]+\.[a-zA-Z]{2,[del]7[/del]}" src
    [+] Courriel du client dans le fichier récapitulatif de la commande
    Yannic a écrit:
    En fait je parlais surtout du probleme avec chrome version 57 qui occasionne une erreur pas belle si l'on ne rempli pas un champs obligatoire ou que l'on ne valide pas les CGV
    Yannic a écrit:
    -- Message :
    Chrome a détecté un code inhabituel sur cette page et a bloqué cette dernière pour protéger vos informations personnelles (mots de passe, numéros de téléphone et de cartes de paiement).
    ERR_BLOCKED_BY_XSS_AUDITOR
    @Yannic :
    Il est possible, vue l'heure du message soulignant l'erreur (07:20:25 donc 8h) que le ficher de langue avait a l'époque un "<<<<<<< HEAD" oublié lors d'une fusion "matinale" et qui s’inscrivait dans le source html avant le doctype. Car cette chaîne de caractère était avant la balise d'ouverture PHP du fichier fr.php :8
    Il est possible que cela soit à l'origine de l'erreur "ERR_BLOCKED_BY_XSS_AUDITOR" de Chrome vue les caractères et leur placement?
    C'est corrigé depuis cette mise à jour

    Bien +Simple & bien +joli.

    Notre temps est la seule monnaie vraie ;)

    Site, Dépôt, framagit, MyShop, Factux

    #mozinor président

  • YannicYannic Member
    avril 2017 modifié
    @Sudwebdesign

    Merci, pour le regex tu peux facilement monter à 13 ou carrément supprimer le 7 derrière le 2, sinon plein de domaines ne marcherons pas non plus.

    Pour le problème de chrome, je vais tester mais il était déjà présent dans la version 0.10 à ce que je vois.
    Edit: oui le problème de chrome persiste dans la v.0.11.1 si je ne valide pas les cgv par exemple ou si je laisse un champs obligatoire vide.
    (pour l'email super par contre)

    Aussi pour le bouton Enregistrer coordonnées, faut qu'il reste toujours sinon on ne peux pas mettre à jour son adresse sans devoir l'effacer avant ou alors qu'il détecte si un champs à changer et affiche de nouveau "enregistrer" ;)

    Merci.
    Site de test mis à jour en v.0.11.1
    http://cryptocoins.exposed/myshop/product001/produits

    Buster/NGINX/PHP7/PluXml5.8

  • SudwebdesignSudwebdesign Member
    avril 2017 modifié
    [édité]
    Yannic a écrit:
    Merci, pour le regex tu peux facilement monter à 13 ou carrément supprimer le 7 derrière le 2, sinon plein de domaines ne marcherons pas non plus.
    ...
    Merci.
    Site de test mis à jour en v.0.11.1

    #Pardon j'ai déplacé le tag [del]re-tagué en[/del] v0.11.1 en prenant en compte ta remarque avec la nouvelle expression régulière (le 7 est supprimé)
    Yannic a écrit:
    Pour le problème de chrome, je vais tester mais il était déjà présent dans la version 0.10

    Edit: oui le problème de chrome persiste dans la v.0.11.1 si je ne valide pas les cgv par exemple ou si je laisse un champs obligatoire vide.
    (pour l'email super par contre)

    pour l'erreur de chrome, là je sèche, peu-tu envoyer l'entête quand l'erreur se produit ou si quelqu'un comprend quelque chose, j'lui laisse la main (la ça me dépasse)

    Notre temps est la seule monnaie vraie ;)

    Site, Dépôt, framagit, MyShop, Factux

    #mozinor président

  • SudwebdesignSudwebdesign Member
    avril 2017 modifié
    Yannic a écrit:
    Aussi pour le bouton Enregistrer coordonnées, faut qu'il reste toujours sinon on ne peux pas mettre à jour son adresse sans devoir l'effacer avant ou alors qu'il détecte si un champs à changer et affiche de nouveau "enregistrer" ;)
    [del]Il existe le onchange sur un formulaire entier?[/del] oui ddg.gg =>Entire form onChange

    quelle solution utiliser?
    Quelque chose du style :
    var inputs = document.getElementsByTagName("input"); 
    for (i=0; i<inputs.length; i++){
       inputs[i].onchange = changeHandler;
    }
    

    OU

    du style :
    formElement.addEventListener('change', doSomething);
    

    Prendre en compte les commentaires? cadeau? (car ils sont laissés de cotés actuellement)

    Merci @ toi et @ tou(te)s, ça fuse [edit]tellement que j'ai oublié de dire qu'il manque deux phrase et demi en occitan et l'anglais a vérifier[/edit] ;)

    [Rappel] Dernière Sortie : v.0.11.1

    Notre temps est la seule monnaie vraie ;)

    Site, Dépôt, framagit, MyShop, Factux

    #mozinor président

  • Sudwebdesign a écrit:
    Yannic a écrit:
    Aussi pour le bouton Enregistrer coordonnées, faut qu'il reste toujours sinon on ne peux pas mettre à jour son adresse sans devoir l'effacer avant ou alors qu'il détecte si un champs à changer et affiche de nouveau "enregistrer" ;)
    Il existe le onchange sur un formulaire entier?
    Prendre en compte les commentaires? cadeau? (car ils sont laissés de cotés actuellement)

    Merci @ toi et @ tou(te)s, ça fuse ;)

    [Rappel] Dernière Sortie : v.0.11.1
    Parti dormir , 2h15 ici jai éteint l'ordi, je regarderai demain soir pour le bug de chrome

    Pour le reste des champs je dirais non ce n'est pas la peine je pense mais ppmt ou autres utilisateurs sauront mieux
    Merci

    Buster/NGINX/PHP7/PluXml5.8

  • ppmtppmt Member
    Yannic a écrit:

    Ouhlala on sent que l'hiver touche a sa fin...le Cube de neige devient TRES cher :D
  • ppmtppmt Member
    A mon avis sauve le commentaire ou la partie cadeau n'est pas necessaire et pourrait meme causer de la confusion si jamais le personne oublie de l'efface a la prochaine commande.

    Bon je vais tester la derniere version et lire le fichier de langue en Anglais.
  • SudwebdesignSudwebdesign Member
    avril 2017 modifié
    ppmt a écrit:
    A mon avis sauve le commentaire ou la partie cadeau n'est pas necessaire et pourrait meme causer de la confusion si jamais le personne oublie de l'efface a la prochaine commande.

    Bon je vais tester la derniere version et lire le fichier de langue en Anglais.

    D'accord, ça simplifie les choses et ultra logique

    thanks Pour l'anglais, c'est juste les phrases ajoutés(2,5) ;), j'les ai faites traduire par babylon
    (compare le avec l'occitan, il y a "# a traduire" à la fin des variables)

    J'fais une pause

    @+

    Notre temps est la seule monnaie vraie ;)

    Site, Dépôt, framagit, MyShop, Factux

    #mozinor président

  • ppmtppmt Member
    J'ai regarder le fichier et voici ma proposition. J'ai un peu change le contenu pour clarifier ce que l'option fait.
    J'ai aussi enlever l'espace avant le ? pour etre compatible avec la syntaxe anglaise ;)

    'L_CONFIG_LOCALSTORAGE' => 'Activate the local storage of customer details to save time at the next order?',
    'L_CONFIG_COOKIE' => 'Activate the backup of the content of the basket in a cookie (valid for 60 days)?',

    C'est juste mon opinion et bien sur c'est discutable!
  • @ppmt
    oui j'ai disons ajoutés les frais de port express au prix et fait comme habituellement ici 5000% de marge ]:D
    Sinon il en reste assez pour que je devienne l'homme le plus riche de l'univers cette année :D

    @Sudwebdesign
    Je viens de voir sur ma tablette que le formulaire n'avais pas de required sur les champs requis, peut-etre que cela resouderai facilement le probleme de chrome, vais tester en arrivant a soir.

    Pour le onchange je ne sais pas, a tester/regarder.

    Buster/NGINX/PHP7/PluXml5.8

  • SudwebdesignSudwebdesign Member
    avril 2017 modifié
    L'erreur X-XSS-Protection est aussi présente avec un ancien Chromium en Version 31 sur la v0.11.1
    The XSS Auditor refused to execute a script in 'index.php?boutique/panier#panier' because its source code was found within the request. The auditor was enabled as the server sent neither an 'X-XSS-Protection' nor 'Content-Security-Policy' header. 
    
    Elle se déclare (s'affiche) en dessous de la balise form, de plus si on active l'affichage du panier partout, chrome en ajoute autant de fois qu'il y a de produits affichés sur la page avec le bouton "ajouter au panier", s'il y a 3 produits cela donne 4 erreurs (3+1) et toujours en dessous des balises form.

    Curieusement, j'ai remarqué que l'erreur apparaît une fois sur deux, 1ere validation = erreur(s), je revalide (aucune erreur), 3eme validation = erreur(s), 4e sans erreur et ainsi de suite.

    Investigation en cours...

    [edit] Si le formulaire de MySearch est présent il a aussi l'erreur

    Notre temps est la seule monnaie vraie ;)

    Site, Dépôt, framagit, MyShop, Factux

    #mozinor président

  • YannicYannic Member
    avril 2017 modifié
    Sudwebdesign a écrit:
    L'erreur X-XSS-Protection est aussi présente avec un ancien Chromium en Version 31 sur la v0.11.1
    The XSS Auditor refused to execute a script in 'index.php?boutique/panier#panier' because its source code was found within the request. The auditor was enabled as the server sent neither an 'X-XSS-Protection' nor 'Content-Security-Policy' header. 
    
    Elle se déclare (s'affiche) en dessous de la balise form, de plus si on active l'affichage du panier partout, chrome en ajoute autant de fois qu'il y a de produits affichés sur la page avec le bouton "ajouter au panier", s'il y a 3 produits cela donne 4 erreurs (3+1) et toujours en dessous des balises form.

    Curieusement, j'ai remarqué que l'erreur apparaît une fois sur deux, 1ere validation = erreur(s), je revalide (aucune erreur), 3eme validation = erreur(s), 4e sans erreur et ainsi de suite.

    Investigation en cours...

    Ok déjà en rajoutant required aux champs obligatoires ( firstname, lastname, email, adress, postcode, city, country et cgv)
    Le problème disparaît dans la page panier. ( résolu de ce coté là déjà )

    Par contre il se pose si le formulaire et intégré dans la page du produit / catégorie.
    ( cependant le mail de validation est bien envoyé/recu )

    c'est au retour après l'envoie du mail que ca crash au moment de ré-afficher le formulaire.

    [em]Edit : non rien à voir avec mail ( c'est monphp.ini qui voulais qu'il enregistre la ou il à pas le droit ;) )[/em]

    [em]Et pour le h2 oui c'est trop beaucoup trop gros une classe "alerte green" serais plus approprié.[/em]

    Buster/NGINX/PHP7/PluXml5.8

  • Yannic a écrit:
    Ok déjà en rajoutant required aux champs obligatoires ( firstname, lastname, email, adress, postcode, city, country et cgv)
    Le problème disparaît dans la page panier. ( résolu de ce coté là déjà )
    Bien, bien, bien, ouaip, les require empêche d'envoyer si le formulaire est incomplet (butineur moderne) et je vais les rajouter, en plus cela fera double vérif ;).
    Yannic a écrit:
    Par contre il se pose si le formulaire et intégré dans la page du produit / catégorie.
    ( cependant le mail de validation est bien envoyé/recu mais dans mon log j'ai :
    PHP Warning:  mail(/root/testphpmail.txt): failed to open stream: Permission denied) in myshop/plugins/plxMyShop/plxMyShop.php
    
    (on avance vers le bobo :D ligne 1085 et 1146 du fichier plugin : à mon avis cela viens du $headers )
    C'est possible, mais dans ce cas ($header) il s'agit des en-tête des emails envoyés, ou si nous parlons de la variable msgCommand elle affiche simplement des h2 (ce qui est peut-etre un peu gros).

    Oui les commandes sont bien envoyés, je confirme ;)

    je ne sais pas ou se dissimule cette malicieuse chose qui déclenche l'alerte (panier, produit(s), __CLASS__, ...), caractere(s) invisible(s), défaut d'encodage, insertion de javascript dans les données postés (renvoyé a l'écran), chrom(ium)e a un bug, ou une idée quelqu'un.

    j’espère que la version 57 de chrome est pratique, car la 31 l'est moins que celle de mon firefox (je parle de l'inspecteur [touche F12 ;)])

    Notre temps est la seule monnaie vraie ;)

    Site, Dépôt, framagit, MyShop, Factux

    #mozinor président

  • Je vais m'occuper du/des bouton(s) localstorage tout à l'heure et j'ai une question,

    lors du onchange global du formulaire,

    on enregistre les nouvelles données sans demandé quoi que ce soit a l'internaute

    ou

    le bouton change pour "sauvegarder les nouvelles coordonnées" (quelque chose comme ça)

    ou

    une autre idée

    Notre temps est la seule monnaie vraie ;)

    Site, Dépôt, framagit, MyShop, Factux

    #mozinor président

  • YannicYannic Member
    avril 2017 modifié
    Sudwebdesign a écrit:
    Je vais m'occuper du/des bouton(s) localstorage tout à l'heure et j'ai une question,

    lors du onchange global du formulaire,

    on enregistre les nouvelles données sans demandé quoi que ce soit a l'internaute

    ou

    le bouton change pour "sauvegarder les nouvelles coordonnées" (quelque chose comme ça)

    ou

    une autre idée

    non pas d'enregistrement automatique surtout :)

    Et oui, le h2 oui c'est trop beaucoup trop gros une classe "alerte green" serais plus approprié et plus joli ou sinon juste de baisser cette taille.

    Edit: si je modifie le formulaire pour toujours renvoyer vers : http://cryptocoins.exposed/myshop/boutique/panier
    Aucune erreur donc c'est du aux fichiers d'affichage des produits/catégories.

    Buster/NGINX/PHP7/PluXml5.8

  • YannicYannic Member
    avril 2017 modifié
    Je viens de trouver :lol: c'est du au action qui est vide dans le form.

    Ligne #11 du fichier /modeles/espacePublic/boucle/boutonPanier.php
    <form action="" method="POST" class="formulaireAjoutProduit">
    
    à remplacer par :
    <span id="ici"></span>
    <form action="#ici" method="POST" class="formulaireAjoutProduit">
    
    ( j'ai mis le <span id ici ici mais faudrais le mettre un peu plus haut dans l'affichage du produits ou de la catégorie de produits si cela est possible. )

    et ligne 42 du fichier /modeles/espacePublic/panier.php
    <form action="" method="POST">
    
    à remplacer par :
    <form action="#" method="POST">
    
    ( lui # c'est correct même si ce serais mieux de lui trouver un endroit ou aller, mais attention surtout pas #panier sinon cela vas re-bugger à nouveau vu qu'en dessous on as déjà un action="#panier" )

    Avec tout ceci plus de bug sous chrome.

    Buster/NGINX/PHP7/PluXml5.8

  • SudwebdesignSudwebdesign Member
    avril 2017 modifié
    on c'est croisé, mème constat, mais en supprimant les action incriminé.

    Ta solution est bien mieux, a utiliser pour se déplacer lors des mises a jours du paniers ;)

    [edit]
    J'allais poster


    Chrome cet enfoi_é change l'action du formulaire du panier (et sûrement d'autre [add product, searchform, ...]) par "about:blank" lorsque l'erreur X-XSS est présente :

    alors qu'il devrais y avoir l'adresse de la page en cours car j'ai pensé que cela pouvais venir de l'action qui était a blanc (mais non)

    Code php utilisé pour les tests (panier.php)
    <form action="<?php echo $plxPlugin->plxMotor->urlRewrite('index.php?'.$plxPlugin->plxMotor->get); ?>" method="POST" enctype="application/x-www-form-urlencoded">
    

    Code erroné de la liste des article (transformé par chromium)
    <form action="about:blank" method="POST" enctype="application/x-www-form-urlencoded">
            <table class="tableauProduitsPanier">
             <tbody><tr>
              <th>Produit</th>
              <th>Prix unitaire</th>
              <th>Nombre</th>
              <th>Prix total</th>
              <th></th>
             </tr>
             <tr>
              <td>Prod 4</td>
              <td class="nombre">1000,00&nbsp;€</td>
              <td><input type="number" name="nb[004]" value="4"></td>
              <td class="nombre">4000,00&nbsp;€</td>
              <td><input type="submit" name="retirerProduit[004]" value="Retirer"></td>
             </tr>
            </tbody></table>
            <input type="submit" name="recalculer" value="Recalculer le total">
           </form>
    

    Alors qu'il laisse tranquille le formulaire du panier (coordonnées).

    Et

    Miracle en virant les "actions a vide" des balises forms (action="") l'erreur disparaît (chromium 31)

    En les supprimant des fichiers boutonPanier.php (ligne 11) et panier.php (ligne 46) le filtre X-XSS-Protection chrom(e)ium ne s'alarme plus et laisse les formulaires tranquilles et ré-offre la possibilité d'ajouter, supprimer des produits et recalculer le panier ;)

    c'est donc Confirmé, la solution est trouvé

    Notre temps est la seule monnaie vraie ;)

    Site, Dépôt, framagit, MyShop, Factux

    #mozinor président

  • YannicYannic Member
    avril 2017 modifié
    Edit : lol
    Merci de tes corrections.

    Buster/NGINX/PHP7/PluXml5.8

  • SudwebdesignSudwebdesign Member
    avril 2017 modifié
    J'ai bien envie de tous les changer par une ancre #panier, comme cela, a chaque ajout et recalcul l'internaute se retrouve direct au panier.

    je teste ça ;)

    Notre temps est la seule monnaie vraie ;)

    Site, Dépôt, framagit, MyShop, Factux

    #mozinor président

  • SudwebdesignSudwebdesign Member
    avril 2017 modifié
    Avec le code
    <form action="<?php echo $plxPlugin->plxMotor->urlRewrite('index.php?'.$plxPlugin->plxMotor->get); ?>#panier" method="POST">
    
    Erreur X-XSS

    Mais avec celui-ci tout roule
    <form action="#panier" method="POST">
    

    vraiment bizarre Chrome (nous ne somme pas seul : XSS auditor false positive due to base tag)

    juste pour être sur ;)

    Notre temps est la seule monnaie vraie ;)

    Site, Dépôt, framagit, MyShop, Factux

    #mozinor président

  • YannicYannic Member
    avril 2017 modifié
    Sudwebdesign a écrit:
    Mais avec celui-ci tout roule
    <form action="#panier" method="POST">
    

    vraiment bizarre Chrome (nous ne somme pas seul : XSS auditor false positive due to base tag)

    juste pour être sur ;)

    Non chez moi si je met #panier ca ne fonctionne pas car il bug sur le fait qu'il y ai deux form action="#panier"
    Autant le laisser vide (sans action="") peut-être à ce que j'ai vu en HTML5 c'est correct de le faire.
    The action and formaction content attributes, if specified, must have a value that is a valid non-empty URL
    https://www.w3.org/TR/html5/forms.html#attr-fs-action

    Buster/NGINX/PHP7/PluXml5.8

  • Yannic a écrit:
    Non chez moi si je met #panier ca ne fonctionne pas car il bug sur le fait qu'il y ai deux form action="#panier"
    Autant le laisser vide (sans action="") peut-être à ce que j'ai vu en HTML5 c'est correct de le faire.

    Oui c'est valide, fait ch1er ce chrome, c'était chouette comme comportement,

    Les actions vides seront virés dans la prochaine mouture :)

    Notre temps est la seule monnaie vraie ;)

    Site, Dépôt, framagit, MyShop, Factux

    #mozinor président

  • YannicYannic Member
    avril 2017 modifié
    Super,

    PS: Le switch to swicth était déjà implémenté dans le code d'origine ;)
    J'ai juste copier/coller et gardé le "non" utilisé à l'origine pour ne pas me mélanger plus tard.

    Merci de ton temps.

    Buster/NGINX/PHP7/PluXml5.8

  • SudwebdesignSudwebdesign Member
    avril 2017 modifié
    Dernière Sortie : v.0.12 a télécharger ici

    au menu :

    [+] Panier: Style des message retour (h2 -> h5) et tableau des produits a 100%
    [+] LocalStorage re-bascule sur enregistrer Si le client change ses infos
    [+] Langues: révisées
    [+] Panier: ajout des required aux champs obligatoire
    FIX : webkits X-XSS-Protection Content-Security-Policy

    Notre temps est la seule monnaie vraie ;)

    Site, Dépôt, framagit, MyShop, Factux

    #mozinor président

  • SudwebdesignSudwebdesign Member
    avril 2017 modifié
    Aux devs

    Afin de visualiser les messages de retour vous pouvez ajouter novalidate a la balise form du panier de la v0.12
    <form id="formcart" method="POST" action="#panier" novalidate>
    

    Édit : @tou(te)s

    j'ai changé les classes des messages dans style.css et cela peut poser problème de cache css
    elle sont devenues :
    .msgerror, .msgyeah, .msgyeah2, .msgyeah3

    Désactiver plxMyShop, vider le cache de votre butineur et réactiver le pour que cela rentre dans l'ordre ;)

    portez vous bien.

    Notre temps est la seule monnaie vraie ;)

    Site, Dépôt, framagit, MyShop, Factux

    #mozinor président

  • ppmtppmt Member
    La version 0.12 sur mon site de dev me cause une page blanche !

    Problème isolé à la ligne 154 du fichier lang/en.php

    il manque une virgule à la fin de la ligne.
Connectez-vous ou Inscrivez-vous pour répondre.