Migration d'un module vers J4, erreur htmlspecialchars sous PHP 8.0

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Migration d'un module vers J4, erreur htmlspecialchars sous PHP 8.0

    Bonjour,

    Je suis en train de tenter de rendre un module compatible J4. C'est a priori réussi puisque je n'ai plus d'erreurs lors de son affichage et de son paramétrage.
    En revanche, si je passe en PHP 8.0, j'ai une erreur 0 dans la gestion du module
    htmlspecialchars(): Argument #1 ($string) must be of type string, array given
    L'ennui, c'est que le débogage avec rapport d'erreur au maximum ne liste aucun fichier du module, seulement ceux du noyau. Et dans le module, cette fonction s'applique à des lignes (12 dans le fichier helper.php) où la variable à traiter est un champ d'une jointure de la table session avec la table users dans la base :
    Code:
    $nameP = htmlspecialchars($row['name']);
    Ce que je ne comprends pas, c'est pourquoi cette variable "$row['name']" qui doit contenir le nom de l'utilisateur connecté est considérée comme un tableau.

    Pouvez-vous m'aider ?
    Merci !
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

  • #2
    A force de chercher, j'ai fini par trouver. En fait, l'erreur était au niveau d'un champ défini comme de type "usergroup" au lieu de "usergrouplist" dans le fichier XML !
    Le pire est que j'avais déjà rencontré un tel problème...

    Une question complémentaire concernant cette extension : où pourrais-je trouver des infos sur quoi remplacer les "jimport" (ceux-ci et d'autres) ?
    jimport('joomla.environment.browser');
    jimport('joomla.language.helper');
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

    Commentaire


    • #3
      Salut Robert.

      Ou alors je pense qu'il faut que tu rajoutes :
      multiple="0"

      Pour l'autre question, les "jimport" ne passent plus en J4 ?

      Comme dit moi je suis un peu à la ramasse, toujours sous J3 cause composants non compatibles...
      Dernière édition par roland_d_alsace à 13/12/2022, 14h39
      A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
      Rejoignez le Joomla Users Groupe Alsace...
      roland_d_alsace va-t-il devenir roland_du_grand_est ?

      Commentaire


      • #4
        Merci Roland,

        J'en reste à usergrouplist puisque ça fonctionne !

        Les jimport ne posent pas de problème, mais je me demandais si, tant qu'à faire, une correspondance de type "use" ne serait pas plus "propre".
        Mais même en commentant les lignes citées, le module fonctionne sur un site test en local, y compris sous PHP 8.1.
        Il n'y a pas eu grand-chose à modifier : db->query') et la gestion des getErrorNum (merci à ton site !), puis ce type dans le xml.

        De mon côté, tous mes sites sont passés en version 4 sauf ceux (production et tests) utilisant Joaktree. J'espère que Yann nous proposera bientôt son extension équivalente.
        J'ai des sites de clients ou proches qui ne sont pas passés en J4, un en attente d'une extension pas encore compatible, les autres parce que les propriétaires sont frileux...
        "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
        MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

        Commentaire

        Annonce

        Réduire
        Aucune annonce pour le moment.

        Partenaire de l'association

        Réduire

        Hébergeur Web PlanetHoster
        Travaille ...
        X