apparition ?> inexpliquée

Bonjour,

j'ai mis à jour mon blog en 5.1.4 et je constate un ?> en haut à gauche de la page (idem avec le thème defaut).
En désactivant mon plugin plxTabber, le soucis disparait.

C'est dû au code inséré juste avant la balise head.

J'ai remarqué que la fonction callHook encadre effectivement le code inséré d'une balise de fin ?> et d'une balise de début <?php. Pourquoi celles-ci apparaissent-t-elles dans le code source html et ce, uniquement lors du traitement du hook ThemeEndHead, curieux, non ?

En plus, je ne parviens pas à reproduire le défaut en local, cela ne se produit pas non plus sur mon site de test distant sur lequel le plugin plxTabber fonctionne parfaitement sur une version 5. 1. 4.

La fonction générant le code html inséré avant la balise /head ne contient que du php. Cela fonctionnait correctement en 5.1.3

du coup, je cherche une piste, avez-vous déjà constaté ce genre de problème ?

merci,
cordialement,
Ludo

Réponses

  • Si, je peux voir le défaut en local.

    Voici le test effectué :

    J'ai modifié en local la fonction callHook de class.plx.plugins.php vers L212 ainsi :
    else
    				return '#test3
    				?>'.ob_get_clean().'<?php
    				#test4
    				';
    
    puis, dans le fichier du plugin, modifié la fonction concernant le hook ThemeEndHead pour ne laisser qu'un simple echo :
    public function ThemeEndHead() {
    echo 'test';
        }
    
    Et voilà ce qui apparait juste avant la balise head dans le code source, une fois le site ouvert :
    #test3
    				?>test<?php
    				#test4
    				</head>
    
    avec "#test3 ?>test" visible en haut à gauche de la page affichée.

    C'est donc bien cette fonction qui affiche le ?> sur mon site et je ne sais toujours pas pourquoi.

    à suivre...
    Ludo
  • Ludo_17Ludo_17 Member
    décembre 2011 modifié
    Edit: Le soucis ne se produit plus après une réinstallation des fichiers (class.plx.plugins.php et index.php). Même résultat en distant. Etait-ce une erreur lors du chargement des fichiers ?
    Les fichiers étaient bien les bons pourtant et la mise à jour s'était bien passée.
    Vraiment curieux... Problème résolu malgré tout.

    En cherchant la cause possible, j'ai remarqué également ceci (mais qui n'a aucune incidence dans le cas présent) ; Les fichiers composant pluxml ne sont pas tous enregistrés de la même façon, voici par exemple la liste des fichiers du dossier lib :
    les fichiers core/lib/class.plx.

    admin = UNIX UTF-8
    capcha = UNIX UTF-8
    date = DOS ANSI (Windows)
    encrypt = UNIX ANSI (Windows)
    erreur = UNIX UTF-8
    feed = UNIX UTF-8
    glob = DOS UTF-8
    medias = UNIX ANSI (Windows)
    motor = DOS UTF-8
    msg = DOS UTF-8
    plugins = DOS ANSI (Windows)
    record = DOS UTF-8
    show = DOS ANSI (Windows)
    token = DOS UTF-8
    utils = DOS UTF-8

    DOS = CR+LF
    UNIX + LF

    Du coup, les fichiers d'un plugins doivent plutôt être en UTF-8, non ?

    Bonne soirée,
    Ludo
  • StéphaneStéphane Member, Former PluXml Project Manager
    Je ferai une vérification de l'encodage de tous les fichiers

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

Connectez-vous ou Inscrivez-vous pour répondre.