Archives FluxBB.fr

Les archives de FluxBB.fr

Vous n'êtes pas identifié(e).

#1 18-12-2008 02:23:46

Mpok
Néo Admin

Nettoyage v2.0

Auteur : Mpok

Plugin de nettoyage des forums v2.0.

Copyright (C) 2005 Connor Dunn (v1.0)
Copyright (C) 2006 Vin100 (traduction initiale)
Copyright (C) 2008 MPOK (v2.0)

Ce plugin est une refonte du plugin "AP_forum_cleanup" (ou "AP_nettoyage_de_forums").
Il permet de faire un certain nombre d'opérations de nettoyage (en particulier lorsqu'on fait des modifications manuelles dans la base de données) :

- suppression des messages des spammeurs. Note: ne pas spécifier d'adresse IP dans cette fonction permet de réaliser l'ensemble des opérations (sauf "messages users") en une seule fois (le flag "test" vaut alors pour toutes les opérations).
- suppression des discussions orphelines et/ou des messages orphelins.
- mise à jour du dernier message des discussions.
- mise à jour du dernier message des forums.
- mise à jour du nombre de réponses des discussions.
- mise à jour du nombre de discussions/messages des forums.
- mise à jour du nombre de messages des utilisateurs.
- re-création des fichiers de cache (plugin "Vider_le_cache").

Modifications de la v2 :

- rajout du flag "test only" : c'est la principale nouveauté. Permet de tester ce qu'il y a à faire SANS le faire vraiment.
- rajout du flag "afficher info" (dans le cas test only). Permet en plus du test d'afficher un certain nombre d'informations (les ids et les noms des discussions et/ou forums qui seront impactés).
- changement d'ordre des opérations de ménage. La v1 proposait les différentes opérations dans un ordre peu logique.
- refonte du code (fonctions), léger changement du markup.
- correction du bug "forums sans discussion" (synchronize_forum_last_post).
- correction du bug "utilisateurs sans message" (synchronize_user_posts).
- correction du bug "forums sans discussion" (synchronize_forum_posts).
- intégration du plugin "Vider le cache" (avec modification pour le rajout des caches PunToolBar).

ATTENTION !! :

- si vous constatez (par le flag "test") que le nombre d'enregistrements impactés va être important, il est conseillé de faire une sauvegarde de la base avant (on sait jamais..).

- de même, en fonction du nombre de discussions impactées, l'utilisation du flag "afficher infos" peut ne pas être recommandé : si par exemple 5000 discussions sont concernées, vous allez vous retrouver avec une page de 3 km de long (tous les titres et ids) qui de toute façon ne servira pas à grand chose. Dans tous les cas, il est donc conseillé de faire "test" SANS infos pour voir le nombre, avant de refaire test avec infos.

- la fonction "mise à jour du nombre de réponses des discussions" est plus lente que les autres. Attention aux gros forums.

Télécharger

Hors ligne

#2 18-12-2008 14:01:26

M@x
Membre

Re : Nettoyage v2.0

Super. Merci à toi de partager ta modification assez conséquente. wink


...

Hors ligne

#3 18-12-2008 15:29:47

Hutch
Membre

Re : Nettoyage v2.0

Génial cette modification du plugin "AP_forum_cleanup" !

C'est bien agréable de pouvoir visualiser ce que l'on fait...

Pour mes forums un peu tordus  (1 seul post par topic), j'ai pu vérifier la cohérence en un seul clic.

Merci MPOK

Hors ligne

#4 15-02-2009 05:53:41

eMTv
Membre

Re : Nettoyage v2.0

salut... alors après avoir utilisé la mod Nettoyage 2.0, il se passe un truc étrange relatif au nombre de messages des utilisateurs : mon top10 des posteurs a changé d'ordre (ça, admettons, vu que certains messages effacés ont été pris en compte, ou l'inverse, j'ai pas bien compris dans quel sens ça se modifiait... mais passons..), le truc vraiment étrange sur lequel j'aimerais avoir un retour de votre part, c'est qu'il y a un utilisateur "Guest" qui est apparu en tête du fameux top10, avec + de 3000 messages (sachant que le membre de chair et d'os le + acharné sur notre forum en a écrit aux alentours de 2500)... est-ce que ce "Guest" représente à lui seul tous nos ex-utilisateurs qui ne sont plus inscrits sur le forum mais dont on a gardé les messages et qui s'affichent donc comme autant d'invités maintenant ?  (il y a 2 utilisateurs très actifs qui ont souhaité fermer leur compte  il y a quelques temps, et vu qu'ils avaient publié moult contributions intéressantes, j'ai conservé leurs posts... l'addition des messages de leurs 2 comptes pourrait se monter à ce total, je pense...)  ça vous semble plausible ?
ce compte "Guest" a l'id "1" alors que le créateur-même du forum a l'id "2"... (et qu'on ne trouve pas trace de ce Guest dans la liste des membres, évidemment..)
est-ce que vous auriez une idée sur la façon de supprimer l'affichage de cet utilisateur fantôme en haut de notre top10 ? grâce à un filtre dans la requête concernée, je suppose ? du style :

where user_id <> "1"

dans le code d'affichage du bloc top posteurs (sur puntal)

je vais chercher, de toutes façons, mais je voulais vous faire part de ce détail...


vjeMTv.net | 1'69 | vidéos | communauté
addiction + insomnia - logic = Visual Junkie

Hors ligne

#5 15-02-2009 12:51:35

kardoc
Membre

Re : Nettoyage v2.0

"Guest" = invité

Le problème, c'est que si tu met une condition pour pas afficher l'inviter, tu aura un Top 9 au lieu du top 10, il faut donc que tu passe la limite à 11 au lieu de 10.

Tu peux aussi dire d'afficher le top 10 a partir de du 2eme, ce qui supprime l'invité, mais le jour où l'invité passe en 2eme position, tu perd le 1er et un as l'invité qui reviens.

sinon, c'est pas user_id mais $top10_membre['id']

Hors ligne

#6 15-02-2009 13:13:23

Lyconide
Membre

Re : Nettoyage v2.0

J'aurais tendance à penser que c'est un petit bug du plug in. Lors de la mise à jour
du total des messages d'un membre, l'invité devrait être exclu (son nombre de message devant resté à 0 quoi qu'il arrive)

Dans le fichier AP_Nettoyage.php, remplacer :

$db->query('CREATE TEMPORARY TABLE IF NOT EXISTS '.$db->prefix.'user_posts SELECT poster_id, count(*) AS posts FROM '.$db->prefix.'posts GROUP BY poster_id') or error('Echec de la création de la table des messages', __FILE__, __LINE__, $db->error());

par :

$db->query('CREATE TEMPORARY TABLE IF NOT EXISTS '.$db->prefix.'user_posts SELECT poster_id, count(*) AS posts FROM '.$db->prefix.'posts WHERE poster_id>1 GROUP BY poster_id') or error('Echec de la création de la table des messages', __FILE__, __LINE__, $db->error());

Je n'ai pas testé la modification, donc je ne sais pas si elle fonctionne (logiquement oui tongue). Et si ca marche, ça devrait faire passer automatiquement le nombre de message de l'invité à 0.

Dernière modification par Lyconide (15-02-2009 13:14:08)

Hors ligne

#7 15-02-2009 13:14:01

fanf73
Wik-wiki

Re : Nettoyage v2.0

La question aurait peut-être plus sa place dans la discussion de la mod / astuce hmm

Pour répondre, pas la peine de passer à la limite de 10 à 11, il suffit de rajouter la condition pour ne pas prendre en compte les invités.


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#8 16-02-2009 22:22:33

Mpok
Néo Admin

Re : Nettoyage v2.0

Oui, effectivement le nombre de messages de "invité" ne devrait pas être mis à jour...
La correction fournie par Lyconide me semble a priori correcte.

@eMTv : après avoir fait la correction ci-dessus, remets manuellement le nombre de messages de "guest" à 0 (dans la table users), et refais la mise à jour du nombre de messages par le plugin : cette fois ça devrait être ok.

Hors ligne

#9 18-02-2009 21:07:32

eMTv
Membre

Re : Nettoyage v2.0

merci tout le monde, nickel tout ça... tout est revenu à la normale grâce à votre aide.

(et juste à l'attention de Fanf, quand on clique sur le lien vers la "discussion" depuis la page de téléchargement de la mod, on arrive ici... j'aurais dû poster dans "entraide"??)


vjeMTv.net | 1'69 | vidéos | communauté
addiction + insomnia - logic = Visual Junkie

Hors ligne

#10 14-03-2009 01:13:36

vivien
Membre

Re : Nettoyage v2.0

Bonjour, je désire utiliser ce plugin sur un site, malheureusement, la base de donné est sous MySQL 3.23.58
Hors il faut la versions Mysql 4.0.4

Comment pourrai-je faire ?

Hors ligne

#11 21-02-2010 22:15:04

adaur
Membre

Re : Nettoyage v2.0

Bonjour a tous

J'ai un "problème", cependant, cet plug in n'est peut être pas conçu pour...

J'ai utilisé le plug in "nettoyage des utilisateurs". J'ai donc supprimé des utilisateurs, et le plug in a supprimé leurs messages... Mais pas leurs topics, où leur message est supprimé mais pas la réponse des autres utilisateurs. Je pensais donc qu'avec ce plug in, l'option contre les discussion orphelines irait bien alors que ce n'est pas le cas... Normal docteur?


"As code is more often read than written it's really important to write clean code." - Franz
Twitter: @adaurfr
Mon fork de FluxBB: FeatherBB

Hors ligne

#12 22-02-2010 04:30:10

Mpok
Néo Admin

Re : Nettoyage v2.0

Ouaip.
Les "discussions orphelines" sont UNIQUEMENT les discussions qui n'ont pas de messages associés. Cas rare (et normalement impossible à moins d'un effacement manuel par phpMyAdmin).
Le même contexte s'applique pour les "messages orphelins" : ce sont les messages associés à AUCUNE discussion (ce cas est déjà moins rare...).

Hors ligne

#13 22-02-2010 10:55:16

adaur
Membre

Re : Nettoyage v2.0

A ton avis, ça sera dur de tout supprimer ? Une modification en profondeur du plug in s'impose ou bien une simple requête SQL peut tout résoudre ? Car je me vois mal tout refaire a la main sad


"As code is more often read than written it's really important to write clean code." - Franz
Twitter: @adaurfr
Mon fork de FluxBB: FeatherBB

Hors ligne

#14 24-02-2010 21:11:04

Mpok
Néo Admin

Re : Nettoyage v2.0

Ben, tu peux toujours supprimer toi-même les topics concernés (directement dans phpMyadmin), et ENSUITE utiliser le plugin pour supprimer les messages (qui cette fois seront bien orphelins wink).

Hors ligne

#15 25-02-2010 15:14:57

adaur
Membre

Re : Nettoyage v2.0

Mpok a écrit :

Ben, tu peux toujours supprimer toi-même les topics concernés (directement dans phpMyadmin), et ENSUITE utiliser le plugin pour supprimer les messages (qui cette fois seront bien orphelins wink).

Comme y'en a plusieurs centaines je demandais happy"

Merci pour la réponse wink


"As code is more often read than written it's really important to write clean code." - Franz
Twitter: @adaurfr
Mon fork de FluxBB: FeatherBB

Hors ligne

#16 07-04-2011 13:23:16

Marcsj79
Membre

Re : Nettoyage v2.0

Bonjour,

J'ai utilisé la fonction - mise à jour du dernier message des discussions. de ce pluggin et depuis, je n'ai plus accès du tout au site.
Si quelqu'un a des pistes pour m'aider...
J'utilise punBB 1.2
Merci.:D

Dernière modification par Marcsj79 (07-04-2011 13:36:44)

Hors ligne

#17 07-04-2011 13:49:17

Wan
Membre

Re : Nettoyage v2.0

Quel est le message d'erreur qui s'affiche ?

Hors ligne

#18 07-04-2011 13:51:01

Marcsj79
Membre

Re : Nettoyage v2.0

En gros, si je me connecte en web depuis mon navigateur, ça rame 5 minutes pour m'afficher erreur 502.

Dernière modification par Marcsj79 (07-04-2011 13:52:23)

Hors ligne

#19 07-04-2011 13:59:31

Wan
Membre

Re : Nettoyage v2.0

Bad gateway... curieux...

Est-ce que quand tu as utilisé cette fonction du plugin tout c'est bien passé ? Je veux dire, est-ce que ça a planté une première fois en utilisant la fonction et c'est depuis que tu ne peux plus accéder, ou alors tout c'est bien passé en apparence mais c'est ensuite en te reconnectant au forum que ça a commencé a m..der ?

Hors ligne

#20 07-04-2011 14:01:10

Marcsj79
Membre

Re : Nettoyage v2.0

ça a planté la toute première fois.
J'ai lancé le test seulement, ça m'a donné 84 discussions à corriger.
Quand j'ai voulu corriger ça a planté...

Hors ligne

#21 07-04-2011 14:06:26

Wan
Membre

Re : Nettoyage v2.0

Tu as pensé à faire une sauvegarde de ta BDD avant de lancer le test ?

Hors ligne

#22 07-04-2011 14:09:04

Marcsj79
Membre

Re : Nettoyage v2.0

Bien sur que non!!!;)

Dernière modification par Marcsj79 (07-04-2011 14:11:06)

Hors ligne

#23 07-04-2011 14:15:59

Wan
Membre

Re : Nettoyage v2.0

Si tu as un 502 après 5 min de "ramage", c'est sûrement que le forum lance des requêtes répétées à ta BDD qui n'aboutissent pas. Par sécurité, le serveur de ton hébergeur coupe alors l'opération (c'est pour éviter les "attaques").
Reste à savoir pourquoi les requêtes n'aboutissent pas...

Hors ligne

#24 07-04-2011 14:16:07

Marcsj79
Membre

Re : Nettoyage v2.0

Il porte bien son nom ce pluggin!!!!!!!!

Hors ligne

#25 07-04-2011 14:22:17

Wan
Membre

Re : Nettoyage v2.0

Tu as accès à ta BDD (via phpmyadmin par exemple) pour voir dans quel "état" elle est ?

Hors ligne

Pied de page des forums