Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
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.
Hors ligne
Super. Merci à toi de partager ta modification assez conséquente. 
...
Hors ligne
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
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
"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
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
). 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
La question aurait peut-être plus sa place dans la discussion de la mod / astuce 
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
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
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
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
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?
Hors ligne
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
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 
Hors ligne
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
).
Hors ligne
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
).
Comme y'en a plusieurs centaines je demandais
"
Merci pour la réponse 
Hors ligne
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
Quel est le message d'erreur qui s'affiche ?
Hors ligne
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
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
ç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
Tu as pensé à faire une sauvegarde de ta BDD avant de lancer le test ?
Hors ligne
Bien sur que non!!!;)
Dernière modification par Marcsj79 (07-04-2011 14:11:06)
Hors ligne
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
Il porte bien son nom ce pluggin!!!!!!!!
Hors ligne
Tu as accès à ta BDD (via phpmyadmin par exemple) pour voir dans quel "état" elle est ?
Hors ligne