[résolu] fonction staticInclude() semble devenue muette depuis la v 5.8.9

décembre 2022 modifié dans Bogues

En bricolant les thèmes, je viens de m'apercevoir que la fonction staticInclude(x); ne renvoie plus rien depuis la version 5.8.9 de PluXml.

tests effectués au travers d'une énième page statique avec le code suivant:

<?php
$plxShow = plxShow::getInstance();
$plxShow->staticInclude(1);
?>

test effectué avec php7+ et php 8+ (apache/win)
test okay dans v 5.8.7 et v 5.8.8
test muet dans v 5.8.9 et v 5.8.10

En regardant de plus prés la fonction, la seule difference se trouve sur une ligne .

depuis la v 5.8.9 qui n'affiche plus rien:

        $plxGlob_stats = plxGlob::getInstance(PLX_ROOT . $this->plxMotor->aConf['racine_statiques'], true, 'statiques');

et antérieur à la v 5.8.9, qui affiche bien la page inclue et interprétée.

        $plxGlob_stats = plxGlob::getInstance(PLX_ROOT . $this->plxMotor->aConf['racine_statiques']);

Cdt

Mon site PluXml: https://re7net.com
| Mes plugins : https://github.com/gcyrillus
| PluXml 5.8.7 sur free ? oui c'est possible : http://gcyrillus.free.fr/new .
| des thèmes @ https://pluxthemes.com

Réponses

  • bazooka07bazooka07 PluXml Project Manager

    Le contenu ci-dessous d'une page statique marche avec la version 5.8.10 à venir :

    <p>Test de plxShow::staticInclude()</p>
    <div class="static-include">
    <?php
    $this->staticInclude(3);
    ?>
    </div>
    <p>Fin de test</p>
    

    Dans le contexte d'une page statique, $this correspond à $plxShow.

    C'est la version 5.8.10 du jour. Et elle change presque tous les jours. Donc utiliser "git pull upstream master", en remplaçant éventuellement "upstream" par "origin"
    Le contenu ci-dessus ne fonctionne pas avec la v5.8.9 de PluXml.

    P.S.: IL y a tellement de nouveautés que la prochaine version de PluXml sera plutôt : 5.9.0

  • décembre 2022 modifié

    @bazooka07

    P.S.: IL y a tellement de nouveautés que la prochaine version de PluXml sera plutôt : 5.9.0

    Merci, et moi qui ne croyais plus au Père Noël

    Bon , en effet ce défaut est réglé avec la dernière 5.8.10 . , je n'avais pas percuté qu'il maqué un champs dans l'appel de la fonction. (rester scotcher sur la fonction glob() de php)

    Mon site PluXml: https://re7net.com
    | Mes plugins : https://github.com/gcyrillus
    | PluXml 5.8.7 sur free ? oui c'est possible : http://gcyrillus.free.fr/new .
    | des thèmes @ https://pluxthemes.com

  • Bonjour,
    Je viens de l'installer ( sans les données exemples) et j'ai ce message d'erreur :-1:

    <ul class="author-list unstyled-list">
    <br />
    <b>Fatal error</b>:  Uncaught TypeError: array_walk(): Argument #1 ($array) must be of type array, bool given in F:\htdocs\PluXml-5.8.10\core\lib\class.plx.show.php:2089
    Stack trace:
    #0 F:\htdocs\PluXml-5.8.10\core\lib\class.plx.show.php(2089): array_walk(false, Object(Closure))
    #1 F:\htdocs\PluXml-5.8.10\themes\defaut\sidebar.php(28): plxShow-&gt;authorList()
    #2 F:\htdocs\PluXml-5.8.10\themes\defaut\erreur.php(27): include('F:\\htdocs\\dvpts...')
    #3 F:\htdocs\PluXml-5.8.10\index.php(60): include('F:\\htdocs\\dvpts...')
    #4 {main}
      thrown in <b>F:\htdocs\PluXml-5.8.10\core\lib\class.plx.show.php</b> on line <b>2089</b><br />
    
  • bazooka07bazooka07 PluXml Project Manager

    Bonjour,
    Effectivement, s'il n'y a aucun article, ça plante.

    Dans class.plx.show à la ligne 2078, ajouter le test sur $arts comme suit :

            $arts = $this->plxMotor->plxGlob_arts->query($motif,'art','desc',0,false,'before');
            if(empty($arts)) {
                return;
            }
    
            $nbArts = array();
    

    La logique voudrait que je désactive l'entrée "articles" dans le menu du back-office.
    Je ferai une mise à jour dès que possible.

  • Merci
    Le message d'erreur ne s'affiche plus...

  • En attendant qu'un fil de discussion relative à cette nouvelle version soit créée, petit bogue que je viens de decouvrir.
    Juste après l'installation, paramétrage ---> description Blog ou Cms à l'Xml --> si je modifie cette description,l'apostrophe est remplacée par son entité Html et c'est cette entité qui s'affiche sur le front-end.

  • bazooka07bazooka07 PluXml Project Manager

    Je suis allé un peu plus loin :
    Si aucun article, alors pas d'onglet "articles" et "commentaires" dans le menu back-office.
    Et après authentification on affiche directement la page "nouvel article"

  • Par contre en allant dans parametres.xml, et en corrigeant l'entité html par l'apostrophe la modification est prise en compte.

  • bazooka07bazooka07 PluXml Project Manager

    @cpalo,
    Pour répondre à la problématique que tu soulèves et être compatible avec PHP8.0, j'ai modifié :

    • plxAdmin::editConfiguration() ( filter_var(trim($v), FILTER_SANITIZE_STRING) remplacé par strip_tags )
    • plxUtils::strcheck()

    Pour la description, le titre, et quelques autres, j'ai autorisé quelques balises HTML basiques (<i>, <em>, <a>, <sup>)

    Faire une mise à jour depuis Github (git pull upstream master)

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