RESOLU J'ai un article fantôme en admin

MDKDOMDKDO Member
juin 2020 modifié dans Bogues

Bonsoir, j'ai un article fantôme en admin je n'arrive pas a supprimer un article corrompu. J'ai certainement fait une fausse manip en essayant de publier du code js. J'ai quelque chose comme ça
// Le titre de l'article 0 / 0 Éditer Voir

Mots clés:

Réponses

  • Bonsoir,
    fait une recherche dans les fichiers présents dans ton répertoire "data/articles" pour localiser celui qui te pose problème.

  • MDKDOMDKDO Member

    merci pour la piste mais déjà regardé, l'article n'a pas d'id pas de fichier c'est pourquoi j'ai nommé ce bug article fantôme. J'ai un peu joué a essayé l'envoyer un article exemple via ftp mais visiblement ça a provoqué ce beug. Mon site fonctionne sans soucis j'ai réussi a plubier des articles après

  • Que se passe-t-il quand tu récupères les données de ton site puis les importe dans une nouvelle installation de PluXml (en local) ? L'article est-il toujours présent ?

  • MDKDOMDKDO Member

    Merci bonne idée je vais mettre un serveur sur mon pc des que possible

  • MDKDOMDKDO Member
    juin 2020 modifié

    Même chose impossible de le supprimer j'ai aussi essayer d’écraser les fichiers d'installation mais cela ne marche pas non plus. Jai essayer de désactiver l'article précédent et suivant et encore essayé de supprimer l’article en question mais rien n'y fait

  • MDKDOMDKDO Member

    Faut surtout pas mettre un point . à la fin de l'url

  • zetraderzetrader Member
    juin 2020 modifié

    Hello, je confirme le bug. En faisant un article de test par hasard, je suis tombé sur le bug que tu décris, titre de l'article "Je teste le drag and drop..." je sauvegarde et là commencent les problèmes, l'article ne peut plus être édité, la date devient deux slash : //
    Si on clique sur l'article depuis l'admin "L'article demandé n'existe pas ou n'existe plus !", côté site l'article n'apparaît pas.
    Bref, obligé de le supprimer à la main en FTP.
    J'avais l'impression que ce bug n'existait pas sous PluXml 5.7, je vais vérifier.
    EDIT : C'est bien ce qui me semblait, le même article avec pour titre "Je teste le drag and drop..." ne pose aucun problème, l'article est créé les ... sont supprimés de l'url (c'est logique) mais bien présents dans le titre de l'article comme on le souhaite, éditable côté admin, date correcte, visible sur le site, bref tout va bien.
    C'est donc un nouveau bug sous PluXml 5.8.x (5.8.3 a le bug, pas vérifié les autres).

    EDIT 2 : En regardant via FTP sous PluXml 5.8.3 le fichier xml termine par je-teste-drag-and-drop....xml (d'où le problème), si je renomme le fichier en je-teste-drag-and-drop.xml problème résolu, à condition de ne pas sauver de nouveau l'article avec le titre contenant les trois petits points.
    Sous PluXml 5.7 le fichier est correctement nommé, termine par je-teste-drag-and-drop.xml peu importe le nombre de points en fin de titre dans l'article, ils sont supprimés pour l'url.

  • salutations amicales,

    j'ai une fois sur 2 ou 3 ce genre de problème, c'est assez pénible, m'enfin, j'apprécie beaucoup pluXml,...
    ce pb arrive lorsque ( sous Opera et W8.1 ), j'efface quelque chose du chapo ou lorsque j'essaie de publier un certain nombre de jours après la date du jour = maintenant quand je rédige un article, je le sauvegarde dès quelques lignes en brouillon, après il n'y a plus de pb pour modifier la date ou autres,

    cordialement, K.

  • patch_workspatch_works Member
    octobre 2020 modifié

    Bonjour,
    J'ai aussi été confronté à ce problème, merci à tous pour avoir identifié la source du problème (un point à la fin du titre) et la solution (effacer le fichier via ftp).
    J'espère que ce bug pourra être résolu car plus j'utilise PluXML, plus je l'apprécie ;-)

  • Je confirme, j'ai également eu ce problème. Bug dans la dernière version.

  • NonoMNonoM Member
    novembre 2020 modifié

    Bonjour,
    ce sujet du FORUM devrait être épinglé ! (ben ouai quoi !)
    en effet, j'ai quelquefois envie de mettre 3 petits points (...) à la fin de mes titres d'articles... (tiens, ça recommence, lol),
    et comme vous, ce problème m'a fait perdre pas mal de temps... avant de tomber par ici et de constater que je n'étais plus seul.
    Tenace, je me suis retapé toutes les versions de Pluxml en local depuis la 5.7 afin de vérifier et le soucis apparait bien...
    à partir de la version 5.8.3 !
    Il existe bien une solution, il me semble (à confirmer), c'est de modifier l'url qui se remplit automatiquement à la création de l'article si le titre se termine par 1 ou plusieurs points...
    Pour ma part, j'ai fais le choix de rétrograder, et je suis repassé à la 5.8.2 (et vive les trois p'tits points, j'en avais besoin)

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    C'est un bug qui traine depuis plusieurs versions. La dernière version ne fait que le mettre en lumière.

    Dans une url il ne doit pas avoir de caractère "." voir RFC3986 ou la fonction urlencode() de PHP.
    Et l'url sert à créer le nom du fichier

    Si vous souhaitez ajouter des points à la fin du titre des articles, il faut faire les modifs suivantes :

    Dans core/lib/class.plx.utils, dans la fonction urlify() (ligne541), modifier $clean_url comme suit :

    // $clean_url = trim(preg_replace('@[^\w\.-]+@', '', $clean_url), '-');
    $clean_url = trim(preg_replace('@[^\w-]+@', '', $clean_url), '-');
    

    renommer les fichiers articles pour n'avoir qu'un point devant "xml" par exemple
    éditer à nouveau les articles correspondants
    effacer complétement le champ url
    rajouter autant de points que nécessaire à la fin du titre


    Il y a d'autres bugs qu'il faut corriger au cas où on a oublié de corriger les mauvais noms de fichiers
    Il faut corriger les 2 fonctions suivantes dans le fichier core/lib/class.plx.motor.php :

    public function parseArticle($filename) {
    
        # Informations obtenues en analysant le nom du fichier
        $tmp = $this->artInfoFromFilename($filename);
        if(!empty($tmp)) {
            # Mise en place du parseur XML
            $data = implode('',file($filename));
            $parser = xml_parser_create(PLX_CHARSET);
            xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
            xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,0);
            xml_parse_into_struct($parser,$data,$values,$iTags);
            xml_parser_free($parser);
    
            $meta_description = plxUtils::getValue($iTags['meta_description'][0]);
            $meta_keywords = plxUtils::getValue($iTags['meta_keywords'][0]);
            $art = array(
                'filename'      => $filename,
                # Recuperation des valeurs de nos champs XML
                'title'             => plxUtils::getValue($values[$iTags['title'][0]]['value']),
                'allow_com'         => plxUtils::getValue($values[$iTags['allow_com'][0]]['value']),
                'template'          => plxUtils::getValue($values[$iTags['template'][0]]['value'], 'article.php'),
                'chapo'             => plxUtils::getValue($values[$iTags['chapo'][0]]['value']),
                'content'           => plxUtils::getValue($values[$iTags['content'][0]]['value']),
                'tags'              => plxUtils::getValue($values[ $iTags['tags'][0] ]['value']),
                'meta_description'  => plxUtils::getValue($values[$meta_description]['value']),
                'meta_keywords'     => plxUtils::getValue($values[$meta_keywords]['value']),
                'title_htmltag'     => plxUtils::getValue($values[$iTags['title_htmltag'][0]]['value']),
                'thumbnail'         => plxUtils::getValue($values[$iTags['thumbnail'][0]]['value']),
                'thumbnail_title'   => plxUtils::getValue($values[$iTags['thumbnail_title'][0]]['value']),
                'thumbnail_alt'     => plxUtils::getValue($values[$iTags['thumbnail_alt'][0]]['value']),
                'numero'            => $tmp['artId'],
                'author'            => $tmp['usrId'],
                'categorie'         => $tmp['catId'],
                'url'               => $tmp['artUrl'],
                'date'              => $tmp['artDate'],
                'nb_com'            => $this->getNbCommentaires('#^' . $tmp['artId'] . '.\d{10}.\d+.xml$#'),
                'date_creation'     => plxUtils::getValue($values[$iTags['date_creation'][0]]['value'], $tmp['artDate']),
                'date_update'       => plxUtils::getValue($values[$iTags['date_update'][0]]['value'], $tmp['artDate']),
            );
    
            # Hook plugins
            eval($this->plxPlugins->callHook('plxMotorParseArticle'));
    
            # On retourne le tableau
            return $art;
        } else {
            # le nom du fichier article est incorrect !!
            return false;
        }
    }
    
    public function getArticles($publi='before') {
    
        # On calcule la valeur start
        $start = $this->bypage*($this->page-1);
        # On recupere nos fichiers (tries) selon le motif, la pagination, la date de publication
        if($aFiles = $this->plxGlob_arts->query($this->motif,'art',$this->tri,$start,$this->bypage,$publi)) {
            # On analyse tous les fichiers
            $artsList = array();
            foreach($aFiles as $v) {
                $art = $this->parseArticle(PLX_ROOT . $this->aConf['racine_articles'] . $v);
                if(!empty($art)) {
                    $artsList[] = $art;
                }
            }
            # On stocke les enregistrements dans un objet plxRecord
            $this->plxRecord_arts = new plxRecord($artsList);
            return true;
        }
    
        $this->plxRecord_arts = false;
        return false;
    }
    

    Je vais envoyer un PR sur Github avec les modifs.

  • Chapeau, Merci beaucoup bazooka07 !
    dès que je peux je reprends tes instructions..., ça permettra de ne pas rester "bloqué" sur la 5.8.2 et d'évoluer, c'est cool !

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