Changement de version

Bonjour,

J'ai quelques retards de mise à jour de version ( 5.6 ) .... est-il nécessaire d'installer les versions intermédiaires pour accéder à la 5.8?

Merci

Mots clés:
«1

Réponses

  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    novembre 2020 modifié

    Bonjour,
    Non, ce n'est pas nécessaire. PluXml va adapter ton dossier data en suivant les différentes versions de PluXml.

    2 petits conseils toutefois :

    • faire une sauvegarde de ton dossier data
    • désactive la ré-écriture des Urls pendant la mise à jour
  • Merci bazooka07, ..... je vais de ce pas lancer la manipe ...

  • A priori, l'update s'est bien réalisé, ça tourne très bien.

    J'ai qq erreurs ===> du style " The each() function is deprecated " ou " unction create_function() " dans des templates perso .... je vais pointer le pb avant de vous solliciter si je bugue.

    Encore merci à l'équipe de codeur qui maintient ce CMS en vie !

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Voir le manuel de PHP :

    A priori tu utilises PHP version 7.2 ou supérieure

    Et pour rassurer tout le monde PluXml n'utilise pas cette dernière fonction :

    grep create_function core/{admin,lib}/*.php *.php
    

    Bonne lecture.

  • Effectivement, n'étant pas une compétence en matière de code, j'ai tenté le grand saut pour passer en version 7.4 ,

    Donc à priori PluXml en 5.8 est compatible avec PHP 7.4 ...... Juste ce pb sur la recherche d'articles liée à une fn non reconnue.
    Je n'ai pas eu le temps de m'y pencher mais cela ne devrait pas être un pb.

    Mon moteur de Pluxml est en sous répertoire de mon domaine ceci me permet d'avoir plusieurs maquettes ....
    et de bricoler à souhait.

    Merci pour la doc pointée aux rubrique ad'hoc.

  • Bonjour,

    J'utilise un script bâti en son temps par stéphane pour regrouper des articles selon des catégories choisies. cf. plus bas.
    Pour la version PHP 7.4 j'ai réussi à modifier qq fns dépréciées.

    Je me heurte sur cette instruction : -(

    • uksort($plx_arts, create_function('$a, $b', 'global $plxShow; return strcmp(array_search($a, array_keys($plxShow->plxMotor->aCats)), array_search($b, array_keys($plxShow->plxMotor->aCats)));'))

    Je me base sur cette recommandation
    //From php 5.* create_function( '$caps', "return '$caps';" ); //To php 7.4 function($caps) {return $caps;}

    Un coup pouce me serait utile.

    Merci bien.

    ps: comment placer du code dans une discussion vanilla?

  • novembre 2020 modifié

    Ce matin il me restait qq modifs de details pour reprendre le site.
    Je galére pour trouver la syntaxe qui m'éviterait un msg d'alerte du type suivant.
    Si qq1 avait une idée .... merci!
    https://lepetitbleausard.fr/PluXml/index.php?static8/statique-pratiques

    par ailleurs le chgt de version a conduit à autoriser les commentaires sur tous les articles. une solution pour supprimer en batch cette option sut les dits articles?

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Pour placer le code dans le forum, il faut encadrer le code avec 2 lignes contenant 3 apostrophes inversées (touche chiffre 7) .

    Voir Bloc de code/ Mise en évidence de la syntaxe dans syntaxe Markdown

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    @kristian.tz,
    Il y a encore des problèmes :
    dans un site en https, on ne peut aller chercher des ressources sur un site en http. Donc le navigateur internet rejette ceci :

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    

    Il faut remplacer http par https par footer.php de ton template.

    Le lien vers vimeo est mort.

    la police (font) "merriweather-regular" n'est jamais chargée. Pas cool !

  • novembre 2020 modifié

    Merci bazzoka07 !! ....... je fais le menage mais est eu que tres peu de temps . il existe une foule de pb.

    je te suis reconnaissant de plonger dans mon code de site.

  • Bonsoir,

    L'installation souhaitée de la nouvelle version en sous repertoire de mon domaine lepetitbleausard.fr me pose deux pbs.

    l'un est mineur. j'utile un script qui permet d'éviter la copie des images et autres documents. par upload d'un document transparent.

    http://web.dwuser.com/education/content/stop-the-thieves-strategies-to-protect-your-images/

    Il se créé un pb de chemin src=+ pixelSource +
    Viens se cumuler la racine de mon site sur l'image transparente qui doit masquer le contenu que je souhaite préserver.

    ```console
    <img class="protectionOverlay" src="https://lepetitbleausard.fr/bleau/https://upload.wikimedia.org/wikipedia/commons/c/ce/Transparent.gif" width="159" height="191" style="position: absolute; z-index: 9999999; left: 581px; top: 539px;">
    

    ```

    j'ai passé mon apres midi à chercher une solution sur le net pour ce pb de chemin relatif et je bugue . ;-(

    le deuxième pb est l'appel des cinq derniers articles.

    j'utilisai en version 5.6 le code suivant :

      <?php $plxShow->lastArtList('
    • #art_title
    • #art_chapo
    • #art_content(140)
    • ',2,1) ?>

    le site passé en 5.8.4 me renvoit des anomalies , entre autres même les articles passé en brouillon.
    là aussi je séche.

    dslè pour l'affichage du code dans une m^me page sur le forum placer 2 lignes contenant 3 apostrophes inversées ( sur mac ```) considére que tout est du code.

    si vous aviez des pistes je vous en serait reconnaissant

    merci

    ps: où peut on trouver les instructions relatives à ce forum ?

  • pb des derniers articles réglés ......

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Un Mac, sinon rien.

    <img class="protectionOverlay" src="https://lepetitbleausard.fr/bleau/https://upload.wikimedia.org/wikipedia/commons/c/ce/Transparent.gif" width="159" height="191" style="position: absolute; z-index: 9999999; left: 581px; top: 539px;">
    

    Un Mac, sinon rien.

    Je n'ai pas de Mac sous le coude. Il faut que j'aille traîner dans un Apple-Store pour faire des essais.
    les 3 apostrophes inversées doivent être en tout début de ligne et sans autre caractère.
    Si le problème persiste, mais une ligne vide avant la 1ère ligne et après la dernière ligne.

    En Markdown, les lignes vides jouent un rôle.

    Pour ton script de bouclier pour image, je ne sais pas. Il faut que je trouve le temps de faire un essai.

  • J'ai l'impression que l'espoir de l'anti-vol d'image est vieux comme le web : )
    Franchement entre les captures d'écrans et les plugins (j'utilise Image Downloader), même quelqu'un qui n'y connait rien le fait en 2 sec. À la limite le watermark je comprends l'utilité, mais le reste c'est juste de la bidouille qui complexifie le code pour rien ^^'

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    C'est clair que la filigrane est la meilleure solution (Hello my friend, you are talking about watermark ?).

    Le script évoqué ci-dessus n'est pas très efficace.
    En trainant sur Stackoverflow, on découvre une technique plus élaborée :

    • remplacer le src de <img> par une image de 1 pixel (transparent ou pas)
    • poser sur <img> une <div> sans contenu qui couvre toute l'image d'origine
    • mettre comme fond d'image de la <div> l'image d'origine codée en data-uri dans le src

    Cela permet d'éliminer quelques pirates.

  • Merci d'avoir pris le temps de regarder mes derniers commentaires.

    Bazooka07, ce n'est pas le moment de trainer ds les gdes surfaces :-( ..... le risque de choper la cochonnerie est bien réel, je viens de perdre un ami de longue date, 15 jours entre les premiers symptômes et son décès ..... hors sujet PluXml ... je passe.

    Concernant le code j'ai lu "placer 2 lignes contenant 3 apostrophes inversées" comme un couil *** je plaçais deux fois ces apostrophes à l'entrée du code et à la sortie du code .....

    J’ai retrouvé les indication de Kube17 sur le sujet des mise en forme.

    https://forum.pluxml.org/discussion/6718/formater-les-messages-sur-le-forum-markdown#latest

    Concernant la protection elle fonctionne dorénavant

    Pour la copie de texte et pour les images.

    J'utilise effectivement une image transparente de 1 pixel au bon niveau et j’évite ainsi d'uploader var pixelSource = 'http://upload.wikimedia.org/wikipedia/commons/c/ce/Transparent.gif'

    Alba tu peux tester https://lepetitbleausard.fr/bleau/article54/le-bilboquet-enfin-consolide

    Bien évidement la capture d'écran fonctionne, mais il est plus rébarbatif pour un copieur de cadrer sa copie que de faire un glissé de l'objet désiré sur le bureau.

    Le site compte encore de nombreux pbs de forme et de contenu qui seront traités.

    Il me reste un pb que je n’arrive pas à régler : l’ordre de tri des articles. j’ai beau indiquer dans l’admin le tri par date décroissante, les affichage sont croissants. Une idée?

    Merci bien.

  • NonoMNonoM Member
    novembre 2020 modifié

    Comme dirai @Alba, je confirme : "l'espoir de l'anti-vol d'image est vieux comme le web" !!! (de même que le texte)

    J'ai constaté ça depuis que je fais "mumuse" avec les "pages web" , il y a... belle lurette (vers 1999)
    @kristian.tz, la protection que tu as mis en place fonctionne très bien, l'image transparente est au top !
    pour l'utilisateur commun, ça sera sans aucun doute, efficace...

    Maintenant, c'est sur qu'avec un Firefox bien configuré, à partir du menu "outils / informations sur la page / medias"...
    on peut à loisirs afficher la liste des médias chargés sur la page web... et enregistrer, comme par exemple :
    https://lepetitbleausard.fr/bleau/themes/bleau_flex/doc_en_ligne/photos/bilbo_projet2.jpg

    (PS : @bazooka07, je ne suis pas un pirate, juste un passionné qui utilise les outils du webmaster)

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Le nom des fichier-images apparaissent en clair dans le code source de ta page HTML !!

    Tu veux voir mes super pouvoirs ?

    # only for power users.  I Love Linux !
    wget -qO - 'https://lepetitbleausard.fr/bleau/article54/le-bilboquet-enfin-consolide' | sed -E '/<img/!d; s/^.*<img.*src="([^"]*)".*/\1/; /\.jpg$/!d; /\.tb\.jpg$/d
    

    Et voilà le résultat obtenu avec le script one-line ci-dessus :

    https://lepetitbleausard.fr/bleau/themes/bleau_flex/img/headerbg.jpg
    https://lepetitbleausard.fr/bleau/themes/bleau_flex/doc_en_ligne/photos/bilbo_projet.jpg
    https://lepetitbleausard.fr/bleau/themes/bleau_flex/doc_en_ligne/photos/bilbo_projet2.jpg
    https://lepetitbleausard.fr/bleau/themes/bleau_flex/doc_en_ligne/photos/chantier_bilboquet_2015-0.jpg
    https://lepetitbleausard.fr/bleau/themes/bleau_flex/doc_en_ligne/photos/chantier_bilboquet_2015-1.jpg
    https://lepetitbleausard.fr/bleau/themes/bleau_flex/doc_en_ligne/photos/chantier_bilboquet_2015-2.jpg
    https://lepetitbleausard.fr/bleau/themes/bleau_flex/doc_en_ligne/photos/chantier_bilboquet_2015-3.jpg
    https://lepetitbleausard.fr/bleau/themes/bleau_flex/doc_en_ligne/photos/chantier_bilboquet_2015-4.jpg
    https://lepetitbleausard.fr/bleau/themes/bleau_flex/doc_en_ligne/photos/chantier_bilboquet_2015-5.jpg
    https://lepetitbleausard.fr/bleau/themes/bleau_flex/doc_en_ligne/photos/chantier_bilboquet_2015-6.jpg
    https://lepetitbleausard.fr/bleau/themes/bleau_flex/doc_en_ligne/photos/chantier_bilboquet_2015-7.jpg
    https://lepetitbleausard.fr/bleau/data/medias/bleaujoris.jpg
    https://lepetitbleausard.fr/bleau/themes/bleau_flex/img_pof@bleau/tapis_chausson.jpg
    https://lepetitbleausard.fr/bleau/themes/bleau_flex/img_pof@bleau/ign.jpg
    https://lepetitbleausard.fr/bleau/themes/bleau_flex/img_pof@bleau/escher-pixel.jpg
    https://lepetitbleausard.fr/bleau/themes/bleau_flex/img_pof@bleau/ski.jpg
    

    manuel de sed, le super outil
    Il faudrait crypter le nom des fichiers src sur le serveur.
    Auto-promotion :
    Découvrez le superbe plugin kzDownload qui crypte vos liens de téléchargement dans mon magnifique playstore

  • Ha Ha ! Super ces recommandation.
    Mes oeuvres n'ont guère de valeur de valeur, j'ai mis en place ces modestes protections pour le voleur lambda .
    Ceci étant je vais creuser ta suggestion Bazooka 007, 007 c'est pas mal pour qq1 qui a un super linux ;-)
    Je vais d'abord regler les incohérence du site en premier.

    Concernant le tri décroissant , pas d'idée?

    https://lepetitbleausard.fr/bleau/index.php?static3/statique-billets

  • if(!defined('PLX_ROOT')) exit;
    
    #=======PARAMÈTRES ========
    # format de la date
    $format_date = '#num_day/#num_month/#num_year(2)  ';
    
    # liste des catégories à afficher
    # exemple: $catList = ''; = articles de toutes les catégories,
    # exemple: $catList = '001|003'; = articles des catégories 001 et 003 uniquement
    $catList = '002';
    # nombre d'articles à afficher par catégorie, mettre 0 pour lister tous les articles
    $artsByCategory = 0;
    #==========================
    # while (list($index, $token) = each($this->tkns)) {
    #foreach($this->tkns as $k>$v){
    
    # while(list($k,$v) = each($aFiles)) 
    
    # while (list($key, $row) = each($value)) {
    
    # foreach($aFiles as $k => $v) { 
    
    # foreach($aFiles as $k => $v) {
    
    
    global $plxShow;
    
    $plx_arts = array();
    $plxGlob_arts = plxGlob::getInstance(PLX_ROOT.$plxShow->plxMotor->aConf['racine_articles']);
    $aFiles = $plxGlob_arts->query('/[0-9]{4}.[home|0-9,]*'.$catList.'[0-9,]*.[0-9]{3}.[0-9]{12}.[a-z0-9-]+.xml$/','art','rsort',0,false,'before');
    $aCatList = explode('|', $catList);
    if(is_array($aFiles)) { # On a des fichiers
        foreach($aFiles as $k => $v) { # On parcourt tous les fichiers
            $temp = $plxShow->plxMotor->parseArticle(PLX_ROOT.$plxShow->plxMotor->aConf['racine_articles'].$v);
            $cats = explode(',', $temp['categorie']);
            foreach($cats as $cat) {
                if($catList=='' OR in_array($cat, $aCatList)) {
                    if(!isset($plx_arts[$cat]))
                        $plx_arts[$cat][] = $temp;
                    elseif(intval(sizeof($plx_arts[$cat])) < $artsByCategory OR $artsByCategory == 0)
                        $plx_arts[$cat][] = $temp;
                }
            }
        }
        if($plx_arts) { # On a des articles
    
            # tri en fonction de l'ordre d'affichage des catégories
    
            uksort($plx_arts, function($a, $b) use ($plxShow) { return strcmp(array_search($a, array_keys($plxShow->plxMotor->aCats)), array_search($b, array_keys($plxShow->plxMotor->aCats)));});  
    
            # On boucle sur nos articles
    
    
            foreach ($plx_arts as $k => $v) {
    
                $cat_num = $k;
    
                # on trie en fonction de l'ordre d'affichage des articles dans la catégorie
                if($cat_num=='home') {
                    if ($plxShow->plxMotor->aConf['tri']=='desc')
                        usort($v, function($a, $b) { return strcmp($a["date"], $b["date"] );});
                    else
                        usort($v, function($a, $b) { return strcmp($a["date"], $b["date"] );});
                    # je supprime le titre acceuil
                    #echo '<h2><a href="'.$plxShow->plxMotor->aConf['racine'].'">Accueil</a></h2>';
                }
                elseif(!isset($plxShow->plxMotor->aCats[$cat_num])) {
                    if ($plxShow->plxMotor->aConf['tri']=='desc')
                        usort($v, function($a, $b) { return strcmp($a["date"], $b["date"] );});
                    else
                        usort($v, function($a, $b) { return strcmp($a["date"], $b["date"] );});
                    # je supprime la rubrique
                    #echo '<h2>Non classé</h2>';
                }
                else {
                    if ($plxShow->plxMotor->aCats[$cat_num]['tri'] == 'desc')
                        usort($v, function($a, $b) { return strcmp($a["date"], $b["date"] );});
                    else
                        usort($v, function($a, $b) { return strcmp($a["date"], $b["date"] );});
                    $cat_name = plxUtils::strCheck($plxShow->plxMotor->aCats[ $cat_num ]['name']);
                    $cat_url = $plxShow->plxMotor->aCats[ $cat_num ]['url'];
                                    #echo '<h2><a href="'.$plxShow->plxMotor->aConf['racine'].'?categorie'.intval($cat_num).'/'.$cat_url.'">'.$cat_name.'</a></h2>';
    
                }
                echo '<div>';
    
                # On boucle sur les articles de la categories il definit les variables
                #while(list($null, $art) = each($v)) {
    
                    foreach($v as $null => $art) {
                    $art_num = intval($art['numero']);
                    $art_url = plxUtils::strCheck(($art['url']));
                    $art_title = plxUtils::strCheck(($art['title']));
                    $art_chapo = plxUtils::strCheck(($art['chapo'])); 
                    $art_content = plxUtils::strCheck(($art['content']));
                    $art_img = plxUtils::strCheck(($art['img']));
                    $margin = '';
                    $art_thumb='';
                    if($art['thumbnail']) {
                        $img_url = $plxShow->plxMotor->urlRewrite($art['thumbnail']);
                        $img_title = plxUtils::strCheck($art['thumbnail_title']);
                        $img_alt = $art['thumbnail_alt'];
                                            $art_date = plxDate::formatDate($art['date'], $format_date);
                        $art_thumb = '<a target="_blank" href="'.$plxShow->plxMotor->urlRewrite('?article'.$art_num.'/'.$art_url).'"><img class="liste" src="'.$img_url.'" alt="'.$img_alt.'" title="'.$img_title.'" /></a><br>';
                    } else {
                        $margin = ' class="margin"';
                    }
    
                    echo '<div>                
                            <div class="style_prevu_kit"'.$margin.' >'.$art_thumb.'<link target="_blank" href="'.$plxShow->plxMotor->urlRewrite('?article'.$art_num.'/'.$art_url).'"><b5>'.$art_title.'</b5><br><p style="margin-top: 0px; font-size:10px;">'.$art_date.'</p> </link>
                            </div>
                   </div>';                            
                }                     
                echo '</div>';
    
            }
    
        }
    }
    
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    novembre 2020 modifié

    Pour compléter ma suggestion, je pense qu'il faudrait utiliser un cookie de session et utiliser sa valeur pour crypter l'url de <img src="..." />
    La méthode de décryptage utilisée par PluXml est vraiement très sommaire.

  • décembre 2020 modifié

    Merci bcp Bazooka07, comme évoqué , dans l'immédiat je cherche à résoudre mon pb de tri dedans des pages statiques sur cette version dans une config en PHP 7.4.

    J'ai ce warning dans le panneau info de l'administrateur "Impossible de vérifier les mises à jour tant que 'allow_url_fopen' est désactivé sur ce système" ...... je pense qu'il s'agit de mon hebergeur ?

    l'instruction suivante (cf. le code complet ci dessus) dans une page statique

    if($cat_num=='home') {if ($plxShow->plxMotor->aConf['tri']=='asc')

    si je modifie asc par desc ceci n'a aucune influence sur mon ordre de tri **

    mes consignes de tri sont pourtant clairement indiquées par dates décroissantes dans les paramètres ..... j'ai parcouru la doc du developpeur et fait choux blanc :-(

    exemple

    j'ai parcouru class.plx.show.php sans succes ..

    une idée? merci

  • Si cela peut aider ...... la variable tri n'existe plus il convient d'utiliser sort

    if($cat_num=='home') {if ($plxShow->plxMotor->aConf['tri']=='asc')

    devient

    if($cat_num=='home') {if ($plxShow->plxMotor->aConf['sort']=='asc')

    magique tout s'affiche dans l'ordre souhaité "asc" ou "desc" ......

  • Bonsoir, en mode administration sur les Informations relatives à PluXml, il m'est indiquer :
    "Impossible de vérifier les mises à jour tant que 'allow_url_fopen' est désactivé sur ce système"
    j'imagine qu'il s'agit d'action auprès de mon hébergeur, est ce exact?

  • HarukaHaruka PluXml Project Manager

    Bonjour,
    Oui il s'agit du paramètre "allow_url_fopen" dans le fichier de configuration php.ini.

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    C'est bizarre !
    En général, tous les hébergeurs bloquent pour allow_url_open. Mais en principe avec curl cela passe.
    Cela m'étonne de ton hébergeur Infomaniak ( http://www.whois-raynette.fr/whois/lepetitbleausard.fr )
    Après le dernier recours est d'utiliser Javascript depuis ton navigateur.
    Malheureusement le site https://www.pluxml.org ne renvoie pas l'entête 'Access-Control-Allow-Origin: *' pour le fichier _/download/latest-version.txt_.

    Pour corriger il faut modifier le paramétrage du serveur http ou passer par un fichier php :

    <?php
    
    const VERSION = '10.6.0';
    const TIMESTAMP_FORMAT = 'D, d M Y H:i:s';
    
    header('Last-Modified: '.gmdate(TIMESTAMP_FORMAT, filemtime(__FILE__)).' GMT');
    header('Expires: 7200');
    
    if(isset($_GET['callback'])) {
        $callback = filter_input(INPUT_GET, 'callback', FILTER_SANITIZE_STRING);
        if(!empty($callback)) {
            # implementation JSONP
            header('Content-type: application/javascript; charset=utf-8');
            echo "$callback('" . VERSION . "');";
            exit;
        }   
    }
    
    header('Access-Control-Allow-Origin: *');
    header('Content-Type: text/plain; charset=utf-8');
    echo VERSION;
    
  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Pour vérifier si curl est installé, crée un fichier avec ce contenu et ouvre le dans ton navigateur :

    <?php
    
    header('Content-Type: text/plain; charset=utf-8');
    if(function_exists('curl_init')) {
        echo 'Curl est installé';
    } else {
        echo 'Pas de librairie curl';
    }
    
    
  • HarukaHaruka PluXml Project Manager

    J'ai ajouté l'entête Access-Control-Allow-Origin: * pour /download/latest-version.txt

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    J'ai vérifié avec les versions 5.8.4 et 6.0.0.
    C'est tout bon.

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