Flux d’activité

Flux d’activité de Messages

  1. Chapomelon


    Bonjour,

    installation récente de PEEL Premium ; en cours de configuration pour un site , j'ai ces deux messages qui se répètent  en entête de Configuration; paramètres du site :

    Notice: fread(): read of 8192 bytes failed with errno=21 Is a directory in /nom du site**/lib/class/StringMb.php on line 837

    Notice: fgets(): read of 8192 bytes failed with errno=21 Is a directory in nom du site**/administrer/sites.php on line 508

     

    les même messages se répètent plusieurs fois

     

    que faire ?  Sans importance ? Comment corriger ? Ré installer tout ? ...

     

    merci

     

  2. ant0ny


    J'ai fais les modif sur le formulaire de contact, le bouton se valide bien au bout de 10 secondes mais après 48 de test je reçoit tjrs le meme nombre de spam... de mon côté j'ai pas la modif pour que uniquement les clients enregistré puisse remplir le formulaire. Je pense que les robots de spam attendent et valide tant que la page n'est pas rafraichie... c'est dommage je trouvais l'idée très bonne.

    Vraiment bizarre car j'ai plus rien de mon coté... juste un robot qui était inscrit qui est passé au travers et a donc validé un formulaire de contact, j'ai désactivé cet utilisateur et j'ai plus rien eu... 

  3. ked


    J'ai fais les modif sur le formulaire de contact, le bouton se valide bien au bout de 10 secondes mais après 48 de test je reçoit tjrs le meme nombre de spam... de mon côté j'ai pas la modif pour que uniquement les clients enregistré puisse remplir le formulaire. Je pense que les robots de spam attendent et valide tant que la page n'est pas rafraichie... c'est dommage je trouvais l'idée très bonne.

  4. ked


    Bonjour,

    J'ai pu comprendre de quoi cela venait... vu que j'ai modifier le Htaccess pour bloquer l'acces de pays, j'avais bloqué l'accès des US donc les moteurs de recherche google ne pouvaient plus visiter le site... Erreur de débutant mais j'ai pu modifier cela et faire un test ds la googlesearch et le problème a été résolu.

    Merci Simon pour votre aide.

     

  5. ked


    Bonjour,

    Je viens de me rendre compte que google bloque certaines de mes pages pour indexation (dont la page d'accueil tout récemment) a cause d'une erreur 403 pour l'accès du robot.

    Bloquée en raison d'une interdiction d'accès (403)

    Mon fichier robot.txt ne comporte que cela:

    User-agent: *
    Disallow: /modules/captcha/security_codes/

    Avez vous une idée de quoi cela peut venir?

     

    En vous remerciant par avance

  6. Simon développeur PEEL


    Donc si je comprend bien, ma fonction étant dans une class j'utilise hook_ devant le nom car on se trouve comme méthode?
    Et si j'aurai juste un fichier avec une fonction comme dans l'exemple alors c'est nom du module + _hook_ + nom du hook?

    => Oui c'est bien ça

    Quand j'ai ceci:
    $tpl_results = call_module_hook('affiche_liste_commandes_admin', $tpl_results, 'array', true);
    Comment je peut trouver la partie de code qui sera affecté? En cherchant dans tous les fichiers avec "hook_affiche_liste_commandes_admin" je ne trouve rien.
    => Il n'y a pas nécessairement de hook existant, certain hook existe dans des certains modules uniquement

    Mais du coups ça oblige des modifications dans le code source quand même et la création d'un module ne sert plus a rien vu que le but est de pouvoir justement créer mes modifications ou ajout comme module pour les garder lors de mise a jour et pouvoir les intégrer facilement... a moins que je puisse faire autrement via le hook affiche_liste_commandes_admin qui est appelé...

    => Pour ajouter une variable via le hook existant "affiche_liste_commandes_admin", il faut que votre hook de votre nouveau module retourne par exemple return $output['nom_variable'] = $value. Ensuite vous pouvez utiliser cette valeur dans le tpl admin_commande_liste.tpl {$res.nom_variable} sous le foreach {foreach $results as $res}. Si cet endroit ne vous convient pas, il faut effectivement créer un nouveau hook.

    c'est en cas ou l'on souhaite manipuler des donnés de la liste via un hook mais il n'y en a pas dans le code donc c'est pour ça que j'en trouve pas avec hook_affiche_liste_commandes_admin
    Du coups ce hook ne me permet pas d'ajouter un lien tout en haut, je doit donc ajouter un hook au code pour pouvoir le faire?
     

    => Oui c'est bien ça

    Du coups ça fonctionne correctement mais j'ai du ajouter une ligne dans le php et une dans le tpl, je doit donc bien modifier le code source et je peut pas créer de module sans toucher au code source qui ferait la même chose, c'est bien exacte?

     

    => Oui tout à fait 

  7. ked


    Bonjour,

    Sur ma boutique, j'ai également un blog wordpress et dernierement je ne peux plus le mettre a jour car il me dit de mettre a jour la version de PHP. Je vis regarder cela avec mon hebergeur (OVH), mais en gros puis-je mettre a jour la version PHP sans que cela n'ai d'impact sur ma boutique (version 7.1.0) ou y a-t-il des choses a changer et si oui lesquelles?

    En vous remerciant par avance.

  8. ant0ny


    Bonjour Simon, 

    Dans mon module j'ai ceci:

        static public function hook_haut_affiche_liste_commandes_admin($params) {
    $valeuraretourner = '<p><a href="http://www.monsite.eu/factures/commande_pdfprep.php" target="_blank">PDF commande à préparer</a></p>';
    	return $valeuraretourner;
        }

    commande_pdfprep.php est une copie de commande_pdf.php que j'ai légèrement modifier pour juste avoir les commandes en attente de validation.

    dans fonctions_admin.php j'ai ajouter ceci:

    $tpl->assign('URLPDFCMD', call_module_hook('haut_affiche_liste_commandes_admin','1','null'));

    Et dans admin_commande_liste.tpl j'ai ajouter ceci a l'endroit de l'affichage désiré:

    {if isset($URLPDFCMD)} {$URLPDFCMD} {/if}

    Du coups ça fonctionne correctement mais j'ai du ajouter une ligne dans le php et une dans le tpl, je doit donc bien modifier le code source et je peut pas créer de module sans toucher au code source qui ferait la même chose, c'est bien exacte?

    Merci :)

  9. ant0ny


    Bonjour, 

    Si je comprend bien, ceci:

    		$tpl_results = call_module_hook('affiche_liste_commandes_admin', $tpl_results, 'array', true);
    		$tpl->assign('results', $tpl_results);

    c'est en cas ou l'on souhaite manipuler des donnés de la liste via un hook mais il n'y en a pas dans le code donc c'est pour ça que j'en trouve pas avec hook_affiche_liste_commandes_admin

    Du coups ce hook ne me permet pas d'ajouter un lien tout en haut, je doit donc ajouter un hook au code pour pouvoir le faire?

    Merci :)

  10. ant0ny


    Bonjour Simon, 

    Merci, en effet ça fonctionne j'ai bien mon "bonjour avec la valeur affiché".

    J'ai regarder la fonction call_module_hook et j'ai vu indiqué 

     * Appelle la fonction correspondant au $hook pour chaque module installé
     * La fonction doit s'appeler : [nom du module]_[nom du hook]

    et

    		$function_name = $this_module . '_hook_' . $hook;
    		$class_name = StringMb::ucfirst($this_module);
    		$method_name = 'hook_' . $hook;
    

    Donc si je comprend bien, ma fonction étant dans une class j'utilise hook_ devant le nom car on se trouve comme méthode?

    Et si j'aurai juste un fichier avec une fonction comme dans l'exemple alors c'est nom du module + _hook_ + nom du hook?

     

    Quand j'ai ceci:

    		$tpl_results = call_module_hook('affiche_liste_commandes_admin', $tpl_results, 'array', true);

    Comment je peut trouver la partie de code qui sera affecté? En cherchant dans tous les fichiers avec "hook_affiche_liste_commandes_admin" je ne trouve rien.

     

    J'essaie d'afficher un simple texte avec lien en haut de la page liste des commandes comme ceci:

    210223083736551762.png

    Du coups je doit créer un hook dans fonctions_admin.php de ce genre:

    		$tpl_monlien = call_module_hook('test_affiche_liste_commandes_admin',$variabletest);
    		$tpl->assign('monlien', $tpl_monlien);

    Et dans admin_commande_liste.tpl mettre quelque chose comme ca:

    {if isset($monlien)}
    {$monlien}
    {/if}

    Mais du coups ça oblige des modifications dans le code source quand même et la création d'un module ne sert plus a rien vu que le but est de pouvoir justement créer mes modifications ou ajout comme module pour les garder lors de mise a jour et pouvoir les intégrer facilement... a moins que je puisse faire autrement via le hook affiche_liste_commandes_admin qui est appelé...

    En tout cas merci pour ton aide Simon, j'arrive a avancé la ou j'était complétement bloqué et me permet de comprendre un peut mieux le fonctionnement.

    Désolé pour les 10 000 questions.

    Merci :D

  11. Simon développeur PEEL


    Bonjour,

    vous devez renommer votre fonction

        static public function bonjour_hook_test_affiche_liste_commandes_admin($params) {

    par

        static public function hook_test_affiche_liste_commandes_admin($params) {

    Pour comprendre comment le code récupère les bonnes fonctions je vous invite à lire la fonction call_module_hook dans le fichier lib\fonctions\modules_handler.php

  12. ant0ny


    Bonjour Simon, 

    Merci pour ton aide. Faut de temps en temps se prendre un peut de repos, tu as bien raison ;)

    J'ai renommer mon fichier fonctions et j'ai mis le s dans le ligne. J'ai aussi mis une majuscule a "bonjour".

    Ensuite je suis aller sur la page administrer/sites.php rien de spécial, je suis aller dans les parametre du site et la j'ai eu un message et erreur que je met ici mais je pense pas que se soit en lien avec mon module mais je pense plutot au module Ogone:

    SQL OK : /home/asticketra/www/modules/ogone/ogone.sql
    Notice : Erreur SQL 1062 - Duplicate entry '339' for key 'PRIMARY' - Page : /administrer/sites.php?mode=modif&id=1 - IP 79.132.248.13 - INSERT INTO `peel_configuration` (`id`, `technical_code`, `origin`, `type`, `string`, `lang`, `last_update`, `explain`, `etat`) VALUES
    (339, 'peel_ogone_new_sha_mode', 'admin', 'boolean', 'true', '', NOW(), '', 1),
    (338, 'peel_ogone_servers_ip_block_array', 'admin', 'array', '"84.233.249.112/28", "212.23.45.96/28", "213.254.248.96/28", "212.35.124.160/28", "212.35.124.176/28", "213.254.248.112/28", \r\n"72.52.4.0/24", "72.52.5.0/24", "209.200.154.0/24"', '', NOW(), '', 0),
    (337, 'ogone_pspid', 'admin', 'string', 'Votre PSPID', '', NOW(), '', 1),
    (336, 'ogone_cle', 'admin', 'string', 'Votre clé SHA renseigné dans le back office ogone', '', NOW(), '', 1),
    (335, 'peel_ogone_test_mode', 'admin', 'boolean', 'true', '', NOW(), '', 1) in /home/asticketra/www/lib/fonctions/database.php on line 276
    
    Notice : Erreur SQL 1054 - Unknown column 'nom_es' in 'field list' - Page : /administrer/sites.php?mode=modif&id=1 - IP 79.132.248.13 - UPDATE `peel_paiement` SET `nom_es`='Tarjeta de crédito' WHERE `technical_code`='ogone'; in /home/asticketra/www/lib/fonctions/database.php on line 276

     

    En y retournant j'ai plus d'erreur mais je pense que quelque chose soit clocher avec le module ogone mais j'ai pas encore regarder a ça.

    Mais j'ai pas la table peel_bonjour de créer, peut-etre car j'avais deja ajouté la variable manuellement. Je vais essayer de retirer la variable puis de retourner sur la page administrer/sites.php

    YES, un pas en avant, j'ai supprimer ma variable, je suis retourner sur la page sites et dans module j'ai trouver

    MODULE : bonjour 9.3

    Module présent - Procédez à l'installation du module : Oui  •Non
    Activer : Oui  •Non

    J'ai mis oui et oui et validé. J'ai bien la table de créer dans ma base de donnée (meme si la ça sert a rien au moins il a bien pris le module et fait son installation). 

    Il semble etre installé mais il m'indique quand meme la possibilité de l'installer sur oui ou non au lieu d'indiqué une confirmation que le module est installé mais c'est peut-etre normal comme ca

    MODULE : bonjour 9.3

    Module présent - Procédez à l'installation du module : •Oui  Non
    Activer : •Oui  Non


    Maintenant je tape un oeil avec le hook si j'arrive a avoir l'info du module sur la page liste des commandes...

    Dans fonctions_admin.php dans la fonction affiche_liste_commandes_admin j'ai mis ceci:

     call_module_hook('test_affiche_liste_commandes_admin',vn($Links->nbRecord));

    Pour appeler le code que j'ai dans le module qui devrai logiquement m'afficher du texte et/ou texte avec la valeur de la variable qui est le nombre de commande.

    dans le module j'ai ceci:

        static public function bonjour_hook_test_affiche_liste_commandes_admin($params) {
    echo 'Bonjour - Hello avec params='.$params;
    $valeuraretourner = "<br>TEST BONJOUR<br>";
    	return $valeuraretourner;
        }

    J'ai fait un echo dedans par espoir et comme j'ai rien, j'ai fait un return mais pas mieux.

    C'est tout se qu'il y a a faire pour les hooks? juste créer un appel et avoir fonction dans le module et ça doit fonctionner? je me demande comment il retrouve les "fonctions" qu'il doit exectuer lors de l'appel du hook vu que l'on appel  test_affiche_liste_commandes_admin et qu'il doit savoir qu'il faut prendre bonjour_hook_test_affiche_liste_commandes_admin dans mon module...

    Je me trompe peut-etre, je doit peut-etre utiliser un hook présent sur un .tpl obligatoirement pour faire de l'affichage? Car la j'ai rien, meme pas tout en haut de la page comme si j'avais mis un echo en dur sur la page php..

     

    Merci pour ton aide :)

  13. Simon développeur PEEL


    Bonjour ant0ny,

    effectivement j'avais pris une semaine de congés ;)

    Plusieurs pistes pour résoudre votre problème :
    - Avant de faire l'installation, il faut mettre un "s" à "fonction.php" dans la ligne

                $GLOBALS['site_parameters']['modules_front_office_functions_files_array']['bonjour'] = '/modules/bonjour/fonction.php';

    dans le script d'installation du module
    - La première lettre du nom de la classe doit être en majuscule :

    class Bonjour extends Module


    - Faire l'installation du module depuis la page administrer/sites.php, afin de créer la table peel_bonjour dans la BDD

  14. kimono


    Effectivement, merci de vos précisions.

    Il est vrai que j'avais fait le test avec une commande en français et non en anglais, en changeant la langue cela fonctionne. Par contre, il faut aussi modifier la langue au niveau de l'administration sinon les indications "référence", "quantité" ou "prix" s'affichent en français si l'on oublie de modifier la langue vers l'anglais.

  15. ant0ny


    Bonjour, 

    L'utilisateur qui doit recevoir le mail en anglais a bien sa langue en anglais sur son profil?

    C'est peut-être un truc tout con comme ca...

     

    Au niveau du code dans les fonctions dans emails.php on a bien la prise en compte de la langue de l'utilisateur pour l'envoi du mail:

    		$sql = 'SELECT *
    			FROM peel_utilisateurs
    			WHERE email="' . real_escape_string(current($recipient_array)) . '"
    			LIMIT 1';
    		$query = query($sql);
    
    		if($result = fetch_assoc($query)) {
    			foreach(array('civilite' => 'GENDER', 'nom_famille' => 'NOM_FAMILLE', 'prenom' => 'PRENOM', 'pseudo' => 'PSEUDO') as $database_key => $tag_key) {
    				if(!isset($template_tags[$tag_key]) && isset($result[$database_key])) {
    					$template_tags[$tag_key] = $result[$database_key];
    				}
    			}
    			if(empty($for_admin_email) && empty($lang) && !empty($result['lang'])) {
    				// Email pour un utilisateur et non pas un administrateur => on veut utiliser par défaut la langue de l'utilisateur
    				$lang = $result['lang'];
    			}
    		}
    	}

     

Twitter Advisto ecommerce

Facebook PEEL Shopping