PluXml 5.8.7 released

P3terP3ter PluXml Project Manager

🇬🇧 A new version of PluXml is available. This minor version incorporates changes to make PluXml compatible with PHP 8. Unfortunately a rollback was made on one of the 5.8.6 fixes, causing a regression on the URL rewrite, in particular for the plugins MyBetterUrl, plxMyContact or plxMySearch. More details on this version changes in the changelog below.

🇫🇷 Une nouvelle version de PluXml est disponible. Cette version mineure intégre des modifications permettant de rendre PluXml compatible avec la version 8 de PHP. Malheureusement un retour arrière a été fait sur un des correctifs de la version 5.8.6, provoquant une régression sur la réécriture d'URL, notamment pour les plugins MyBetterUrl, plxMyContact ou encore plxMySearch. Plus de détails sur les changements de cette version dans le changelog ci-dessous.

Changelog

[+] Move plugins cached css files to data folder #526 (bazooka07)
[+] Open static page from administration in a new tab #532 (bazooka07)
[+] i18n Occitan correction #535 (Mejans)
[+] PHPMailer update to 6.4.1 (P3ter)
FIX Comments no more displayed with PHP8 #529 (bazooka07)
FIX Revert .htaccess generation for plugins compatibility with url rewrite (P3ter)
FIX Wrong use of uasort() in pages and categories edition #530 (bazooka07)
FIX Display 404 error page when switching to a theme with a missing template #533 (bazooka07)
FIX Category creation can replace an existing category #534 (bazooka07)
FIX Minors CSS fixes (P3ter)
Mots clés:

Réponses

  • 4 juin modifié

    Excellent comme d'habitude :)

    J'ai cependant reporté une modif faite au préalable :
    Je pensais avoir un bug à propos de la config : Nombre d'articles affichés par page : X qui ne s'appliquait pas, ... revenant au theme par défaut, je me suis aperçu, que cette option n'est valable que pour la page d'accueil
    // class.plx.motor.php modif ligne 192 affichage nombre article par page catégories , configuration dans admin pour page d’accueil uniquement par défaut // code: $this->bypage = $this->aConf['bypage']; // remplace // $this->bypage = $this->aCats[$this->cible]['bypage'] > 0 ? $this->aCats[$this->cible]['bypage'] : $this->bypage;

    Et puis pour un usage personnel dans class.plx.show.php
    //modif #static_description ligne 1466 ajout de $stat = str_replace('#static_description', $this->plxMotor->aStats[$k]['meta_description'] , $stat);
    Pour récupérer un champ description affichable comme sur les catégorie à partir du champ meta description, mais ça c'est vraiment personnel.

    enfin le petit truc toujours agaçant si l'on édite les fichiers de style, le burger se transforme toujours en 2630 si l'on ne pense pas a doublé le \ en \\ ;) pour moi cela va avec une reinstall de https://github.com/gcyrillus/PLX-cssBackSlash

    Remise en ligne et test de mon vieux site re7net.com . le design et moi on ne sait ... s'est jamais reconnu en fait! mais je fait des efforts.

  • bazooka07bazooka07 Member

    J'utiliserai plutôt empty() pour faire le test de la pagination des catégories :

    $this->bypage = !empty($this->aCats[$this->cible]['bypage']) ? $this->aCats[$this->cible]['bypage'] : $this->bypage;
    

    Cela passera mieux si le champ est une chaine vide ou n'existe pas
    Il faut aussi modifier le fichier core/admin/categories.php pour que le champ soit vide par défaut pour une nouvelle catégorie.

    Concernant les balises meta dans plxShow::meta(), il y a quelques soucis :

    • on force la variable $meta en minuscules après avoir fait le test. effort inutile
    • Si on n'est pas en mode article, le résultat pour $meta égal à author ou keywords est nul. Donc certains tests sont inutiles
    • Si on est en mode catégorie pour $meta == 'description' et si le champ correspondant à meta_description est vide, il serait judicieux de considérer le champ description.
  • bazooka07bazooka07 Member

    Autres optimisations pour plxShow::meta() :

    <?php
    class plxShow {
        # ....
        const META_TAGS = array('description', 'keywords', 'author');
        # ....
    
        public function meta($name='')
        {
            if(empty($name)) {
                foreach(self::META_TAGS as $n) {
                    $this->meta($n);
                }
                return;
            }
    
            $name = strtolower($name);
    
            # Hook Plugins
            if (
                eval($this->plxMotor->plxPlugins->callHook('plxShowMeta')) or 
                !in_array($name, self::META_TAGS)
            ) {
                return;
            }
    
            if ($this->plxMotor->mode == 'article') {
                $content = ($name == 'author') ? $this->artAuthor(false) : trim($this->plxMotor->plxRecord_arts->f('meta_' . $name));
                if(empty($content) and $name == 'keywords') {
                    ob_start();
                    $this->artTags('#tag_name');
                    $content = ob_get_clean();
                }
            } elseif($name == 'author') {
                return;
            } else {
                switch($this->plxMotor->mode) {
                    case 'archive' :
                    case 'tag' : return;
                    case 'static' : $content = $this->plxMotor->aStats[$this->plxMotor->cible]['meta_' . $name]; break;
                    case 'categorie' :
                        $infos = $this->plxMotor->aCats[$this->plxMotor->cible];
                        $content = $infos['meta_' . $name];
                        if(empty($content) and $name == 'description') {
                            $content = $infos['description'];
                        }
                        break;
                    default: $content = $this->plxMotor->aConf['meta_description'];
                }
            }
    
            if(!empty($content)) {
    ?>
        <meta name="<?= $name ?>" content="<?= plxUtils::strCheck($content) ?>" />
    <?php
            }
        }
    
        # ....
    }
    ?>
    

    Si on "oublie" de renseigner les balises meta, on se replie sur les tags ou la description.

  • 7 juin modifié

    bonjour,

    Pour la modif par page, j'imagine que j'aurai plutôt besoin de
    $this->bypage = !empty($this->aCats[$this->cible]['bypage']) ? $this->aConf['bypage'] : $this->bypage;
    que
    $this->bypage = !empty($this->aCats[$this->cible]['bypage']) ? $this->aCats[$this->cible]['bypage'] : $this->bypage;
    si je veux que le nombre d'article à afficher dans les pages catégorie reflète bien la valeur indiquée dans l'admin, sinon, c'est 5 articles par pages même si je configure à 1 ou 10.
    Par défaut, cette valeur ne s'applique pas en mode-categorie., d'où mon raccourcie directement sur $this->aConf['bypage'] pour récuperer la valeur configurée dans l'admin. Suggestion: ajouter cette option dans l'admin et différencier "home/categorie/tags/archives" clairement au lieu de "par page/tags/archives". ou bien home/tag/archive en laissant les catégories par défaut à 5 en le faisant savoir d'une manière ou d'une autre, je ne suis surement pas le seul a y avoir été confronter ... 20 articles = 4 pages a châpo ;)

    Pour les pages statiques, il n' y a pas de champ description comme les catégories, juste les metas , Pour toutes ces petites modifs, je pense que je devrais faire un plugin avec le nom du thème pour tout y mettre et ne l'activer que si le thème est actif et y ajouter un champ description (qui permet du html) , ce sera plus simple à mettre à jour au changement de version de PluXml si besoin.

    Pour le nombre d'article par page en mode-categorie, je pense quand même que ceci devrait être calé sur la config "Nombre d'articles affichés par page :" dans core/admin/parametres_affichage.php.

    cdt, GC

    Remise en ligne et test de mon vieux site re7net.com . le design et moi on ne sait ... s'est jamais reconnu en fait! mais je fait des efforts.

  • MAPC2012MAPC2012 Member
    13 juin modifié

    PHP 8

    __Deprecated: Required parameter $conf follows optional parameter $isHtml in C:\localhost\domains\PluXml\core\lib\class.plx.utils.php on line 1029

    Warning: Cannot modify header information - headers already sent by (output started at C:\localhost\domains\PluXml\core\lib\class.plx.utils.php:1029) in C:\localhost\domains\PluXml\core\lib\class.plx.utils.php on line 960

    Warning: Cannot modify header information - headers already sent by (output started at C:\localhost\domains\PluXml\core\lib\class.plx.utils.php:1029) in C:\localhost\domains\PluXml\core\lib\class.plx.utils.php on line 961

    Warning: Cannot modify header information - headers already sent by (output started at C:\localhost\domains\PluXml\core\lib\class.plx.utils.php:1029) in C:\localhost\domains\PluXml\core\lib\class.plx.utils.php on line 962

    Warning: Cannot modify header information - headers already sent by (output started at C:\localhost\domains\PluXml\core\lib\class.plx.utils.php:1029) in C:\localhost\domains\PluXml\core\lib\class.plx.utils.php on line 963

    Warning: Cannot modify header information - headers already sent by (output started at C:\localhost\domains\PluXml\core\lib\class.plx.utils.php:1029) in C:\localhost\domains\PluXml\core\lib\class.plx.utils.php on line 964

    Warning: Cannot modify header information - headers already sent by (output started at C:\localhost\domains\PluXml\core\lib\class.plx.utils.php:1029) in C:\localhost\domains\PluXml\core\lib\class.plx.utils.php on line 965

    Warning: Cannot modify header information - headers already sent by (output started at C:\localhost\domains\PluXml\core\lib\class.plx.utils.php:1029) in C:\localhost\domains\PluXml\core\lib\class.plx.utils.php on line 966_

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