Simon développeur PEEL

Administrateur PEEL
  • Compteur de contenus

    2 913
  • Inscrit(e) le

  • Dernière visite


Tout ce qui a été posté par Simon développeur PEEL

  1. Simon développeur PEEL a ajouté un message dans un sujet  petit bug création fiche client backoffice   

    Bonjour,

    Ce menu déroulant est généré par la requête suivante :


    $resLng = query("SELECT *, nom_" . $_SESSION['session_langue'] . " AS nom_lang
    FROM peel_langues
    WHERE etat = '1'" . (!empty($_GET['langue'])?" OR lang='" . word_real_escape_string($_GET['langue']) . "'":'') . "
    GROUP BY lang
    ORDER BY position");
    [/CODE]

    Pouvez-vous faire afficher cette requête sur le navigateur, et la mettre sur le forum que l'on puisse voir ?
    Merci
    • 0
  2. Simon développeur PEEL a ajouté un message dans un sujet  page enregistrement   

    Bonjour,

    oui, l'information reste dans le texterea et est envoyé même si l'utilisateur a changé de choix. pour ne pas mettre le contenu de autre dans la BDD si l'utilisateur de choisi pas cette option, il faut modifier le code suivant :
    Dans user.php, dans la requête d’insertion d’utilisateur vers la ligne 309, il faut ajouter un contrôle sur la valeur du champ du formulaire user_origin pour renseigner le champ de la BDD origin_other.


    , '" . nohtml_real_escape_string((vn($frm['user_origin'])==7?vb($frm['user_origin7']):'')) . "'
    [/CODE]
    • 0
  3. Simon développeur PEEL a ajouté un message dans un sujet  redirection après enregistrement   

    Bonjour,

    effectivement, il faut supprimer la session si l'utilisateur quitte la page d'enregistrement. Il faut reprendre ce qui existe pour la session session_redirect_after_login, et l'adapter :


    // suppression de la session session_redirect_after_register si un utilisateur sort de la page enregistrement.php apr&ès une redirection sans s'être connecté
    if ((!empty($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], 'enregistrement')) && !empty($_SESSION['session_redirect_after_register']) && !est_identifie() && !defined('LOAD_NO_OPTIONAL_MODULE') && !defined('IN_REGISTER')) {
    unset($_SESSION['session_redirect_after_register']);
    }[/CODE]
    • 0
  4. Simon développeur PEEL a ajouté un message dans un sujet  page enregistrement   

    Bonjour,

    dans le fichier lib/fonctions/display_user_forms.php, vers la ligne 521, il faut remplacer le code


    <div class="enregistrement" style="display:none" id="user_origin7">
    <span class="enregistrementgauche"></span>
    <span class="enregistrementdroite">
    <textarea id="user_origin7" name="user_origin7">
    </textarea>
    </span>
    </div>
    [/CODE] par [CODE]
    <div class="enregistrement" style="'.(isset($frm['user_origin']) && $frm['user_origin'] == '7'?'':'display:none').'" id="user_origin7">
    <span class="enregistrementgauche"></span>
    <span class="enregistrementdroite">
    <textarea id="user_origin7" name="user_origin7">'.vb($frm['user_origin7']).'</textarea>
    </span>
    </div>


    La prochaine version de PEEL bénéficiera de cette correction,merci.
    • 0
  5. Simon développeur PEEL a ajouté un message dans un sujet  redirection après enregistrement   

    Bonjour,
    Oui, la redirection n'est pas à placer dans membre.php, mais dans utilisateurs\enregistrement.php. Aux endroits où la fonction get_user_register_success est appelée, il faut faire le test suivant :


    if(!empty($_SESSION['session_redirect_after_register']) && strpos($_SESSION['session_redirect_after_register'], $GLOBALS['wwwroot'])===0) {
    // Pour &#233;viter que des spammeurs n'utilisent referer, on v&#233;rifie que l'URL de redirection contient wwwroot
    $goto = $_SESSION['session_redirect_after_register'];
    unset($_SESSION['session_redirect_after_register']);
    redirect_and_die($goto);
    } else {
    include($GLOBALS['repertoire_modele'] . "/haut.php");
    echo get_user_register_success($frm);
    include($GLOBALS['repertoire_modele'] . "/bas.php");
    }
    [/CODE]
    • 0
  6. Simon développeur PEEL a ajouté un message dans un sujet  probleme d'affichage des mode de paiement sur ka modification de commande   

    Bonjour,

    effectivement, les moyens de paiement paypal/moneybookers s'affiche en front office uniquement si l'email du compte paypal/moneybookers est renseigné dans la configuration général du site.
    Les modes de paiments n'apparaissent pas sur les pages de commandes en back office dans un seul cas, lors de la modification d'une commande avec un montant à 0€. Le code qui gère l'affichage de cette partie se situe dans administrer/modeles/commande_details.php, vers la ligne 191 :


    if((!empty($id) && $commande['montant'] > 0) || empty($id)) {
    echo '
    <tr>
    <td width="350">Moyen de paiement' . BEFORE_TWO_POINTS . ':</td>
    <td>
    ' . get_payment_select(vb($commande['payment_technical_code'])) . '
    </td>
    </tr>';
    } else {
    echo '
    <tr>
    <td colspan="2"><div class="global_help">Les moyens de paiement sont indisponible pour cette commande, car le montant est &#233;gal &#224; z&#233;ro</div></td>
    </tr>';
    }
    [/CODE]
    • 0
  7. Simon développeur PEEL a ajouté un message dans un sujet  Ajout d'un champ dans utilisateurs   

    Bonjour,

    Sur quel formulaire ajoutez-vous ce champ ? Vous ne parlez pas de la modification de la requête SQL de modification/insertion, l'avez-vous modifié ?
    • 0
  8. Simon développeur PEEL a ajouté un message dans un sujet  redirection après enregistrement   

    Bonjour,
    On peux utiliser une nouvelle session session_redirect_after_register, qui calquerais le fonctionnement sur session_redirect_after_login.
    Dans modules\pensebete\ajouter.php, il faut ajouter au début du fichier
    $_SESSION['session_redirect_after_register'] = get_current_url(true);
    et dans membre.php modifier le calcul de la variable $goto :


    if(!empty($_SESSION['session_redirect_after_register']) && strpos($_SESSION['session_redirect_after_register'], $GLOBALS['wwwroot'])===0) {
    // Pour &#233;viter que des spammeurs n'utilisent referer, on v&#233;rifie que l'URL de redirection contient wwwroot
    $goto = $_SESSION['session_redirect_after_register'];
    unset($_SESSION['session_redirect_after_register']);
    }elseif(!empty($_SESSION['session_redirect_after_login']) && strpos($_SESSION['session_redirect_after_login'], $GLOBALS['wwwroot'])===0) {
    // Pour &#233;viter que des spammeurs n'utilisent referer, on v&#233;rifie que l'URL de redirection contient wwwroot
    $goto = $_SESSION['session_redirect_after_login'];
    unset($_SESSION['session_redirect_after_login']);
    }elseif($_SESSION['session_caddie']->count_products() > 0) {
    $goto = $GLOBALS['wwwroot']."/achat/caddie_affichage.php";
    }else{
    $goto = get_account_url(false,false);
    }
    [/CODE]
    • 0
  9. Simon développeur PEEL a ajouté un message dans un sujet  Url rewriting des marques   

    Bonjour,

    La réécriture d'url pour les marques n'est pas géré. Si vous souhaitez cette fonctionnalité sur votre boutique, je vous invite à prendre contact avec un conseiller commercial au 01 75 43 67 97, ou par l’intermédiaire du formulaire de contact de la page http://www.peel.fr/utilisateurs/contact.php.
    Merci.
    • 0
  10. Simon développeur PEEL a ajouté un message dans un sujet  Je n'arrive pas gérer les avoirs   

    Bonjour,

    Si vous faites vos tests avec votre compte administrateur, il faut penser à vous déconnectez et vous reconnectez pour que l'avoir puisse être appliqué. Sinon, l'avoir est déduit automatiquement du montant total du panier si l’utilisateur en possède un.
    • 0
  11. Simon développeur PEEL a ajouté un message dans un sujet  Si commande égale ? 0 euro   

    Ok,
    Je récapitule le développement ici. Ce développement est valable pour les versions de PEEL supérieur à 6.
    => Le but est de griser les moyens de paiements et ne laisser que la possibilité de payer avec un avoir si le montant du panier a pour valeur 0. Si le montant est supérieur à 0, les moyens de paiements sont séléctionnables, et c'est l'avoir qui est grisé.

    Dans un premier temps, il faut remplacer la fonction get_payment_select() dans le fichier \lib\fonctions\fonctions.php par celle ci :


    function get_payment_select($selected_payment_technical_code = null)
    {
    $output = '';
    if (is_payment_by_product_module_active ()) {
    $res_paiement = select_payment_by_product();
    } else {
    $sql_paiement = 'SELECT p.*
    FROM peel_paiement p
    WHERE p.etat = "1"
    ORDER BY p.position';
    $res_paiement = query($sql_paiement);
    }
    while ($tab_paiement = fetch_assoc($res_paiement)) {
    // d&#233;sactivation des moyens de paiement si le caddie est &#233;gal &#224; 0.
    if (($_SESSION['session_caddie']->total <= 0 && $tab_paiement['technical_code'] != 'avoir') || ($_SESSION['session_caddie']->total > 0 && $tab_paiement['technical_code'] == 'avoir')) {
    $disabled = 'disabled="disabled"';
    } else {
    $disabled = '';
    }
    if (($tab_paiement['technical_code'] != 'paypal' || !empty($GLOBALS['site_parameters']['email_paypal'])) && ($tab_paiement['technical_code'] != 'moneybookers' || !empty($GLOBALS['site_parameters']['email_moneybookers']))) {
    if ($tab_paiement['technical_code'] == 'moneybookers') {
    $selected = (vn($selected_payment_technical_code) == $tab_paiement['technical_code'] || num_rows($res_paiement) == 1);
    $output .= '
    <input '. $disabled .' type="radio" onclick="document.getElementById(\'payment_method\').style.display=\'block\';" name="payment_technical_code" value="' . String::str_form_value($tab_paiement['technical_code']) . '" ' . frmvalide($selected) . ' />' . String::html_entity_decode_if_needed($tab_paiement['nom_' . $_SESSION['session_langue']]);
    if ($tab_paiement['tarif'] != 0) {
    $output .= BEFORE_TWO_POINTS . ': + ' . fprix($tab_paiement['tarif'], true);
    }
    $output .= '
    <br />
    <span id="payment_method" style="display: ' . (empty($_SESSION['session_commande']['moneybookers_payment_methods']) && !$selected ? 'none' : 'block') . ';">
    <input ' . frmvalide(vb($_SESSION['session_commande']['moneybookers_payment_methods']) == 'VSA') . ' type="radio" name="moneybookers_payment_methods" value="VSA" />Visa<br />
    <input ' . frmvalide(vb($_SESSION['session_commande']['moneybookers_payment_methods']) == 'MSC') . 'type="radio" name="moneybookers_payment_methods" value="MSC" />Mastercard<br />
    <input ' . frmvalide(vb($_SESSION['session_commande']['moneybookers_payment_methods']) == 'GCB') . 'type="radio" name="moneybookers_payment_methods" value="GCB" />Carte Bleue<br />
    <input ' . frmvalide(vb($_SESSION['session_commande']['moneybookers_payment_methods']) == 'PLI,EPY,NPY,SO2,ENT,EBT,PWY,IDL,SFT,GIR,DID,OBT') . 'type="radio" name="moneybookers_payment_methods" value="PLI,EPY,NPY,SO2,ENT,EBT,PWY,IDL,SFT,GIR,DID,OBT" />' . TRANSFER . '<br />
    <input ' . frmvalide(vb($_SESSION['session_commande']['moneybookers_payment_methods']) == 'WLT') . ' type="radio" name="moneybookers_payment_methods" value="WLT" />Moneybookers e-wallet<br />
    </span>';
    } else {
    $output .= '<input '. $disabled .' '. (!empty($GLOBALS['site_parameters']['email_moneybookers']) ? 'onclick="document.getElementById(\'payment_method\').style.display=\'none\';"' : '') . ' type="radio" name="payment_technical_code" value="' . String::str_form_value($tab_paiement['technical_code']) . '" ' . frmvalide(vn($selected_payment_technical_code) == $tab_paiement['technical_code'] || num_rows($res_paiement) == 1) . ' />' . String::html_entity_decode_if_needed($tab_paiement['nom_' . $_SESSION['session_langue']]);
    if ($tab_paiement['tarif'] != 0) {
    $output .= BEFORE_TWO_POINTS . ': + ' . fprix($tab_paiement['tarif'], true);
    }
    $output .= '<br />';
    }
    }
    }
    return $output;
    }
    [/CODE]

    Ensuite, il faut créer le moyen de paiement [i]avoir[/i] sur la page 'moyen de paiement' dans le back office. Dans le champ 'code technique' de ce moyen de paiement, il faut renseigner la valeur [i]avoir[/i].
    • 0
  12. Simon développeur PEEL a ajouté un message dans un sujet  email et pièce jointe   

    Bonjour,

    Lors de l'uplaod du fichier, la fonction get_upload_errors_text (lib/fonctions/fonctions.php, vers la ligne 1620) est utilisée pour contrôler le fichier avant le téléchargement. Si une erreur survient à cette étape, le message d'erreur est stocké dans la variable global error_text_to_display, qui est affiché dans haut.php.
    • 0
  13. Simon développeur PEEL a ajouté un message dans un sujet  Si commande égale ? 0 euro   

    Bonjour,

    J'ai modifié le test

    if (($_SESSION['session_caddie']->total == 0 && $tab_paiement['technical_code'] != 'avoir') || ($_SESSION['session_caddie']->total > 0 && $tab_paiement['technical_code'] == 'avoir')) {
    [/CODE] par [CODE]
    if (($_SESSION['session_caddie']->total <= 0 && $tab_paiement['technical_code'] != 'avoir') || ($_SESSION['session_caddie']->total > 0 && $tab_paiement['technical_code'] == 'avoir')) {

    Le total du panier était négatif, ce qui fait que le test d'égalité == ne fonctionnait pas. J'ai procédé à quelques tests, tout me semble bon. Pouvez-vous confirmer de votre coté svp ?

    Merci.
    • 0
  14. Simon développeur PEEL a ajouté un message dans un sujet  Prix HT bloc produits ? la une   

    Bonjour,

    la fonction rp() affiche les prix en HT uniquement pour les revendeurs. Si vous souhaitez afficher le prix HT dans d'autres contextes, vous pouvez modifier le test isset($_SESSION['utilisateur']['priv']) && $_SESSION['utilisateur']['priv'] == "reve"
    au niveau de


    if (isset($_SESSION['utilisateur']['priv']) && $_SESSION['utilisateur']['priv'] == "reve") {
    $prix = $objProd->prix_revendeur * (1-$objProd->promotion/100);
    $prix_barre = $objProd->prix_revendeur;
    } else {
    $prix = $objProd->prix * (1-$objProd->promotion/100);
    $prix_barre =$objProd->prix;
    }
    [/CODE] et [CODE]
    if (isset($_SESSION['utilisateur']['priv']) && $_SESSION['utilisateur']['priv'] == "reve") {
    if ($prix !=0) {
    echo ($objProd->promotion != 0) ? "<br /><span class=\"nnotice\"><del>".fprix($prix_barre_ht)."</del> ".fprix($prix_ht)." ".$_SESSION['devise']['symbole']." H.T.</span>" : "<span class=\"notice\">".fprix($prix_ht)." ".$_SESSION['devise']['symbole']." H.T.</span>";
    }
    } else {
    if ($prix !=0) {
    fprix($prix)." ".$_SESSION['devise']['symbole']." T.T.C</span>";
    }
    }

    • 0
  15. Simon développeur PEEL a ajouté un message dans un sujet  Admins en copie de mails clients   

    Bonjour,

    Dans le fichier lib/fonctions/emails.php vers la ligne 187, il faut modifier


    if (String::strtolower(GENERAL_ENCODING) != 'iso-8859-1') {
    $result = mail($this_email, '=?' . String::strtoupper(GENERAL_ENCODING) . '?B?' . base64_encode($subject) . '?=', $mail_content, $mail_header);
    } else {
    $result = mail($this_email, $subject, $mail_content, $mail_header);
    }
    [/CODE] par [CODE]
    if (String::strtolower(GENERAL_ENCODING) != 'iso-8859-1') {
    $result = mail($this_email, '=?' . String::strtoupper(GENERAL_ENCODING) . '?B?' . base64_encode($subject) . '?=', $mail_content, $mail_header);
    mail($GLOBALS['support'], '=?' . String::strtoupper(GENERAL_ENCODING) . '?B?' . base64_encode($subject) . '?=', $mail_content, $mail_header);
    } else {
    $result = mail($this_email, $subject, $mail_content, $mail_header);
    mail($GLOBALS['support'], $subject, $mail_content, $mail_header);
    }



    => Je garde cette idée de coté, merci :)
    • 0
  16. Simon développeur PEEL a ajouté un message dans un sujet  Si commande égale ? 0 euro   

    Bonjour,

    J'ai refais des tests, les champs autres que avoir sont bien grisé (capture 1), lorsque le panier est à 0€ (capture 2).


    • 0
  17. Simon développeur PEEL a ajouté un message dans un sujet  Problème mise ? jour changement paramètres clients   

    Bonjour,

    Je ne parviens pas à reproduire le problème, pouvez-vous envoyer vos accès FTP / admin / MYSQL par MP svp ?
    • 0
  18. Simon développeur PEEL a ajouté un message dans un sujet  Administrateur Produits et Administrateur Ventes   

    Bonjour,

    le plus simple et de modifier la fiche utilisateur depuis la base de donnée, et de mettre 'admin_products+admin_sales' dans le champ priv de cet utilisateur.
    Cette manipulation n'est valable que sur la 6.4.1. Pour faire fonctionner ces différents niveau d’administration sur votre 6.4, je vous propose de reprendre les déclarations des fonctions necessite_priv et a_priv de la version 6.4.1, et reprendre également l'appel à la fonction necessite_priv(); sur chaque page de l'administration.
    • 0
  19. Simon développeur PEEL a ajouté un message dans un sujet  Prix HT bloc produits ? la une   

    Bonjour,

    La fonction rp() n'est pas sur la version 5.6 d'origine, pouvez-vous donner le code de cette fonction svp ?
    • 0
  20. Simon développeur PEEL a ajouté un message dans un sujet  K-DO publicité défilante en bas de page (jquery)   

    Bonjour, et merci :) !
    • 0
  21. Simon développeur PEEL a ajouté un message dans un sujet  Prix "A PARTIR DE"   

    Bonjour,

    Vous pouvez savoir si le produit a des options avec la fonction has_attributs(). Si cette fonction n'est pas dans la classe Product de votre version de PEEL, vous pouvez la prendre sur la version actuel.


    if($this->has_attributs() !== false) {
    $texte = 'A partir de :';
    } else {
    $texte = '';
    }
    $output = $texte.affiche_prix($this, $with_taxes, $reseller_mode, $return_mode, $display_with_measurement, $item_id, $display_ecotax, $display_old_price, $table_css_class, $display_old_price_inline);
    [/CODE]
    • 0
  22. Simon développeur PEEL a ajouté un message dans un sujet  Comment afficher plus de cinquante commandes ?   

    Bonjour,

    Il existe une pagination pour les pages de liste de commandes. Si les liens de pagination ne s'affiche pas, il se peux que le champ template_directory de la table peel_sites soit vide. Si c'est le cas, vous pouvez mettre default_1 comme valeur pour ce champ.
    • 0
  23. Simon développeur PEEL a ajouté un message dans un sujet  Admins en copie de mails clients   

    Bonjour,

    il faut modifier la fonction send_email, du fichier lib/fonctions/emails.php. Il suffit de dupliquer la ligne ou la fonction mail() est utilisé, et de remplacer $this_email par $GLOBALS['site_parameters']['email_webmaster']
    • 0
  24. Simon développeur PEEL a ajouté un message dans un sujet  Erreur ponctuelle peel 6.4.1 connexion BDD peel_banniere ?   

    Bonjour,

    Vous devez exécuter la requête SQL suivante ;
    ALTER TABLE `peel_banniere` ADD `on_other_page_category` tinyint(1) NOT NULL DEFAULT '0', `on_first_page_category` tinyint(1) NOT NULL DEFAULT '0';

    Le fichier d'installation de PEEL a été corrigé.
    • 0
  25. Simon développeur PEEL a ajouté un message dans un sujet  enlever formulaire "fiche produit" si produit Hors stock   

    Bonjour,

    Le formulaire s'affichant en cas de rupture de stock est affiché par la fonction formulaire_alerte, défini dans le fichier modules\stock_advanced\fonctions.php et est utilisé ligne 1219 du fichier lib/fonctions/display_product.php.
    Pour afficher le mot INDISPONIBLE en lieu et place du formulaire, vous pouvez remplacer le code


    if (is_stock_advanced_module_active ()) {
    $output .= formulaire_alerte($product_id, $_POST);
    }
    [/CODE] par [CODE]
    if (is_stock_advanced_module_active ()) {
    $output .= 'INDISPONIBLE';
    }

    • 0

Twitter Advisto ecommerce

Facebook PEEL Shopping