Supprimer tous les messages d'un membre... sur ModernBB

4 participants

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu Supprimer tous les messages d'un membre... sur ModernBB

Message par Nebetbastet Lun 24 Sep 2018 - 13:34

Détails techniques

Version du forum : ModernBB
Poste occupé : Fondateur
Navigateur(s) concerné(s) : Google Chrome
Personnes concernées par le problème : Moi uniquement
Lien du forum :  

Description du problème

Bonjour,

J'ai un compte fondateur dont j'aimerais supprimer tous les messages d'un coup.

J'ai voulu suivre cette petite astuce :
https://forum.forumactif.com/t348385-supprimer-les-messages-d-un-membre#2971702

Problème : mon forum est en ModernBB et le code ne propose pas cette solution. J'ai tapé "4" à tout hasard, et ça ne donne rien. Neutral

Quelqu'un aurait-il une idée ?
Merci d'avance ! Smile


Dernière édition par Nebetbastet le Mer 26 Sep 2018 - 11:38, édité 1 fois
avatar

Nebetbastet
Nouveau membre

Messages : 20
Inscrit(e) le : 28/08/2007

http://bcpst1.actifforum.com
Nebetbastet a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Supprimer tous les messages d'un membre... sur ModernBB

Message par Chacha Lun 24 Sep 2018 - 14:46

Bonjour @Nebetbastet,

Lorsque l'astuce a été rédigée en mars 2013, les versions ModernBB et AwesomeBB n’existaient pas encore.

Le concepteur du script a été contacté afin que celui-ci soit mis à jour prochainement Wink

Cordialement.
Chacha

Chacha
Modéractif
Modéractif

Masculin
Messages : 69405
Inscrit(e) le : 21/08/2010

https://forum.forumactif.com/
Chacha a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Supprimer tous les messages d'un membre... sur ModernBB

Message par Nebetbastet Lun 24 Sep 2018 - 14:48

Merci !
J'attends alors que le script soit à jour !
avatar

Nebetbastet
Nouveau membre

Messages : 20
Inscrit(e) le : 28/08/2007

http://bcpst1.actifforum.com
Nebetbastet a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Supprimer tous les messages d'un membre... sur ModernBB

Message par Chacha Lun 24 Sep 2018 - 20:10

Nebetbastet a écrit:Merci !
J'attends alors que le script soit à jour !
Bonsoir @Nebetbastet,

Le tutoriel a été mis à jour Wink

Cordialement.
Chacha

Chacha
Modéractif
Modéractif

Masculin
Messages : 69405
Inscrit(e) le : 21/08/2010

https://forum.forumactif.com/
Chacha a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Supprimer tous les messages d'un membre... sur ModernBB

Message par Nebetbastet Mar 25 Sep 2018 - 10:13

Merci beaucoup Chacha.
Petit problème, ça ne semble pas marché. Quand j'appuie sur le bouton "supprimer tous les messages", rien ne se passe... Neutral
avatar

Nebetbastet
Nouveau membre

Messages : 20
Inscrit(e) le : 28/08/2007

http://bcpst1.actifforum.com
Nebetbastet a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Supprimer tous les messages d'un membre... sur ModernBB

Message par *Splash* Mar 25 Sep 2018 - 11:21

Hi,
Je viens de faire l'essaie avec un forum en ModernBB, la suppression de message fonctionne sans souci
Es-tu certain d'avoir cocher OUI pour "Utiliser le haut et bas de page" ?

Supprimer tous les messages d'un membre... sur ModernBB Sans_t14
*Splash*

*Splash*
Membre actif

Masculin
Messages : 3806
Inscrit(e) le : 25/02/2018

https://caforum.fr
*Splash* a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Supprimer tous les messages d'un membre... sur ModernBB

Message par Ea Mar 25 Sep 2018 - 11:47

Bonjour @Nebetbastet


Sur ModernBB en essayant, j'ai ce résultat à la première suppression: https://i.imgur.com/EH2rzkp.png

Et en réessayant après que le message se soit bien supprimé, j'ai ce message: https://i.imgur.com/JYRmq5W.png

@*Splash* sur IE Edge 17 ça fonctionne également pour moi.

Cordialement.
Ea

Ea
Aidactif
Aidactif

Messages : 23583
Inscrit(e) le : 04/04/2008

Ea a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Supprimer tous les messages d'un membre... sur ModernBB

Message par *Splash* Mar 25 Sep 2018 - 21:31

Ea a écrit:
@*Splash* sur IE Edge 17 ça fonctionne également pour moi.

Cordialement.
Je ne suis pas certain de comprendre...
Ce code ne fonctionne pas sur un forum en version Edge, je ne parlais pas du navigateur de Windaube
*Splash*

*Splash*
Membre actif

Masculin
Messages : 3806
Inscrit(e) le : 25/02/2018

https://caforum.fr
*Splash* a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Supprimer tous les messages d'un membre... sur ModernBB

Message par Ea Mer 26 Sep 2018 - 10:27

Je n'ai aucune idée de ce qu'est la version "Edge" mais si c'est une modification de template ça pourrait être normal que ça ne fonctionne pas.

Le script fait une recherche de message et recherche dans la structure de la page de résultat les messages du membre à supprimer, ça recherche les 5 structures suivantes pour les templates par défaut des 6 versions:

  • #page-body span.postdetails b a
  • #main-content .search .postbody h2.h3 a
  • #main-content .posthead h2 a
  • #main-content .postbody-head h3 a
  • #wrap .page-header ~ .block .block-content > h2 > a

#bye .hello h2 > a signifie:

  • un tag <a/>
  • se trouvant directement dan un tag <h2/>
  • qui lui-même a un ancètre <tag* class="hello"/>
  • qui lui-même a un ancètre <tag* id="bye" />
Si la structure de la template de la page de recherche a été modifiée ça peut ne plus le trouver, mais c'est très utile d'être précis pour ne pas trouver un lien d'un message sur la page qui n'a rien à voir et que le script essaie de le spprimer.

Avec une template modifiée à ce niveau, il faut remplacer dans le script ceci:

Code:
<script src="//js01.fra.co/22000.js"></script>

Par ceci:

Code:
<script>
var SELECTEUR_VERS_LIEN = '#main h2.h3 > a';
var num_deleted_prev=0;var num_deleted_cur=0;if(window["_userdata"])_userdata.notifications=0;function killall(c,a,b){c=c.replace(/(^\s*|\s*$)/g,"");a=a||0;b=b||9E15;$.get("/spa/"+encodeURIComponent(c),function(d){var i=0;d=$(SELECTEUR_VERS_LIEN,d).filter(function(){return/^\/t[1-9][0-9]*(p[1-9][0-9]*)?-[^#]*#[1-9][0-9]*$/.test($(this).attr("href"))}).each(function(){if(b===9E15){if(!confirm('Supprimer '+($('h1:first',d).text().match(/[0-9]+/)||["???"])[0]+' messages de '+c))return b=0,!1}var a=+$(this).attr("href").substr($(this).attr("href").indexOf("#")+1);if(a>b){return b=0,!1}i++;b=a;var x=b;setTimeout(function(){$.post("/post","p="+x+"&mode=delete&confirm=1");num_deleted_cur++;document.title=num_deleted_prev+" ("+num_deleted_cur+"?/"+d+")"},1000*i)}).length;if(b!=0){num_deleted_prev+=num_deleted_cur;num_deleted_cur=0;document.title=num_deleted_prev+" ("+num_deleted_cur+"/"+d+")"}else{document.title=num_deleted_prev+" (erreur "+num_deleted_cur+"?)"}a+=d;b?0==d?0==a?alert("Aucun message \u00e0 supprimer"):alert(a+" message"+(1<a?"s":"")+" de "+c+" supprim\u00e9"+(1<a?"s":"")):setTimeout(function(){killall(c,a,b)},2000+d*1000):alert("Un message n'a pas pu \u00eatre supprim\u00e9")})};
</script>

et modifier:

Code:
var SELECTEUR_VERS_LIEN = '#main h2.h3 > a';

en conséquence de la modification de template.
Ea

Ea
Aidactif
Aidactif

Messages : 23583
Inscrit(e) le : 04/04/2008

Ea a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Supprimer tous les messages d'un membre... sur ModernBB

Message par Nebetbastet Mer 26 Sep 2018 - 10:59

*Splash* a écrit:Hi,
Je viens de faire l'essaie avec un forum en ModernBB, la suppression de message fonctionne sans souci
Es-tu certain d'avoir cocher OUI pour "Utiliser le haut et bas de page" ?
Effectivement Embarassed Je n'avais pas lu assez attentivement le tuto ! Désolée....

J'ai coché la case... mais j'ai encore un problème. La case pour entrer le pseudo n'apparaît pas  Confused

Voici ce que j'obtiens :
Supprimer tous les messages d'un membre... sur ModernBB Captur10

Merci d'avance de votre aide  Smile
avatar

Nebetbastet
Nouveau membre

Messages : 20
Inscrit(e) le : 28/08/2007

http://bcpst1.actifforum.com
Nebetbastet a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Supprimer tous les messages d'un membre... sur ModernBB

Message par *Splash* Mer 26 Sep 2018 - 11:07

Merci de ta réponse

Ea a écrit:Je n'ai aucune idée de ce qu'est la version "Edge" mais si c'est une modification de template ça pourrait être normal que ça ne fonctionne pas.
C'est effectivement une version basée sur la modification de nombreux templates. Et sur ce domaine je ne suis pas serein pour me lancer dans des modifications de templates déjà modifiés
Surtout que j'imagine qu'il faut agir sur plusieurs templates, et savoir qui fait quoi et quel code agit sur quoi là je suis facilement dépassé
*Splash*

*Splash*
Membre actif

Masculin
Messages : 3806
Inscrit(e) le : 25/02/2018

https://caforum.fr
*Splash* a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Supprimer tous les messages d'un membre... sur ModernBB

Message par *Splash* Mer 26 Sep 2018 - 11:12

Nebetbastet a écrit:
*Splash* a écrit:Hi,
Je viens de faire l'essaie avec un forum en ModernBB, la suppression de message fonctionne sans souci
Es-tu certain d'avoir cocher OUI pour "Utiliser le haut et bas de page" ?
Effectivement Embarassed Je n'avais pas lu assez attentivement le tuto ! Désolée....

J'ai coché la case... mais j'ai encore un problème. La case pour entrer le pseudo n'apparaît pas  Confused

Voici ce que j'obtiens :
Supprimer tous les messages d'un membre... sur ModernBB Captur10

Merci d'avance de votre aide  Smile
Sans doute que l'affichage blanc sur blanc n'aide pas, chez moi j'ai ça :
Supprimer tous les messages d'un membre... sur ModernBB Blanc_10

La case doit être présente mais non visible
Juste avant supprimer tu dois trouver la zone où renseigner le pseudo, as-tu essayé d'inscrire quelque chose ?
*Splash*

*Splash*
Membre actif

Masculin
Messages : 3806
Inscrit(e) le : 25/02/2018

https://caforum.fr
*Splash* a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Supprimer tous les messages d'un membre... sur ModernBB

Message par Nebetbastet Mer 26 Sep 2018 - 11:18

*Splash* a écrit:
La case doit être présente mais non visible
Juste avant supprimer tu dois trouver la zone où renseigner le pseudo, as-tu essayé d'inscrire quelque chose ?
Ah super, c'était bien ça ! (je l'avais cherchée, cette case, mais plutôt au-dessus qu'à gauche).
Ca semble marcher, sauf que sur les 7 000 et quelques posts, il en a vu que 385 (il est en train de les effacer)
avatar

Nebetbastet
Nouveau membre

Messages : 20
Inscrit(e) le : 28/08/2007

http://bcpst1.actifforum.com
Nebetbastet a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Supprimer tous les messages d'un membre... sur ModernBB

Message par *Splash* Mer 26 Sep 2018 - 11:26

[quote="Nebetbastet"]
*Splash* a écrit:
Ca semble marcher, sauf que sur les 7 000 et quelques posts, il en a vu que 385 (il est en train de les effacer)
Il est possible que ce code n'agisse que sur des messages laissés par des membres aux permissions de membres et que les autres messages de ce membre fondateur sont dans des forums avec un accès spécial
Ea te répondra certainement
*Splash*

*Splash*
Membre actif

Masculin
Messages : 3806
Inscrit(e) le : 25/02/2018

https://caforum.fr
*Splash* a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Supprimer tous les messages d'un membre... sur ModernBB

Message par Nebetbastet Mer 26 Sep 2018 - 11:38

*Splash* a écrit:
Nebetbastet a écrit:
*Splash* a écrit:
Ca semble marcher, sauf que sur les 7 000 et quelques posts, il en a vu que 385 (il est en train de les effacer)
Il est possible que ce code n'agisse que sur des messages laissés par des membres aux permissions de membres et que les autres messages de ce membre fondateur sont dans des forums avec un accès spécial
Ea te répondra certainement
En fait, il a dit qu'il en a détecté 385, mais là je vois qu'il en a déjà supprimé plus de 1000. Ca a l'air de fonctionner ! Very Happy
Merci pour votre aide Smile
avatar

Nebetbastet
Nouveau membre

Messages : 20
Inscrit(e) le : 28/08/2007

http://bcpst1.actifforum.com
Nebetbastet a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Supprimer tous les messages d'un membre... sur ModernBB

Message par *Splash* Mer 26 Sep 2018 - 11:39

Super alors...
*Splash*

*Splash*
Membre actif

Masculin
Messages : 3806
Inscrit(e) le : 25/02/2018

https://caforum.fr
*Splash* a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Supprimer tous les messages d'un membre... sur ModernBB

Message par Ea Mer 26 Sep 2018 - 14:03

*Splash* a écrit:Merci de ta réponse

Ea a écrit:Je n'ai aucune idée de ce qu'est la version "Edge" mais si c'est une modification de template ça pourrait être normal que ça ne fonctionne pas.
C'est effectivement une version basée sur la modification de nombreux templates. Et sur ce domaine je ne suis pas serein pour me lancer dans des modifications de templates déjà modifiés
Surtout que j'imagine qu'il faut agir sur plusieurs templates, et savoir qui fait quoi et quel code agit sur quoi là je suis facilement dépassé

Ok, j'ai trouvé le code modifié pour la template et si c'est bien ça:
https://github.com/SethClydesdale/forumactif-edge/blob/master/templates/general/search_results_posts.html#L3-L6

Alors dans le code plus haut:

Code:
var SELECTEUR_VERS_LIEN = '#main h2.h3 > a';

peut être remplacé par:

Code:
var SELECTEUR_VERS_LIEN = '.search.post .title h2.h3 > a';


La case doit être présente mais non visible

J'ai ajouté un bord rouge dans le tutoriel.

Ca semble marcher, sauf que sur les 7 000 et quelques posts, il en a vu que 385 (il est en train de les effacer)

Il y a une limitation mise à maximum 1 message supprimé par seconde afin de ne pas être bloqué à cause de trop d'activité (c'était nécessaire à une époque, je ne sais pas si c'est encore nécessaire maintenant).

Le fonctionnement du script est, par exemple si il y a 15 messages par page:

  • chercher les 15 derniers messages du membre
  • supprimer ces 15 derniers messages
  • chercher les 15 derniers messages du membre
  • supprimer les 15 derniers messages:
    • si le script voit un message qu'il aurait déjà du supprimer => se termine et affiche "Un message n'a pas pu être supprimé"
    • chercher les 15 derniers messages du membre: si il n'y a aucun résultat => set termine et affiche "14 messages supprimés
  • chercher les 15 derniers messages du membre
  • supprimer les 15 derniers messages:
    • si le script voit un message qu'il aurait déjà du supprimer => se termine et affiche "Un message n'a pas pu être supprimé"
    • chercher les 15 derniers messages du membre: si il n'y a aucun résultat => set termine et affiche "19 messages supprimés
  • ...
Normalement dans le titre de l'onglet il devrait y avoir: { le quantième message il est en train d'essayer de supprimer } / { le nombre de message qu'il a vu }
Ea

Ea
Aidactif
Aidactif

Messages : 23583
Inscrit(e) le : 04/04/2008

Ea a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Supprimer tous les messages d'un membre... sur ModernBB

Message par *Splash* Mer 26 Sep 2018 - 16:39

Ea a écrit:
*Splash* a écrit:
Ok, j'ai trouvé le code modifié pour la template et si c'est bien ça:
https://github.com/SethClydesdale/forumactif-edge/blob/master/templates/general/search_results_posts.html#L3-L6
Merci Ea c'est bien ça

Le code à inscrire pour la version Edge est celui-ci :
Code:
<script> var version_forum=1 </script><script src="//js01.fra.co/22000.js"></script><input /><input type="button" onclick="killall(this.previousSibling.value)" value="Supprimer tous les messages" /><script>
var SELECTEUR_VERS_LIEN = '.search.post .title h2.h3 > a';
var num_deleted_prev=0;var num_deleted_cur=0;if(window["_userdata"])_userdata.notifications=0;function killall(c,a,b){c=c.replace(/(^\s*|\s*$)/g,"");a=a||0;b=b||9E15;$.get("/spa/"+encodeURIComponent(c),function(d){var i=0;d=$(SELECTEUR_VERS_LIEN,d).filter(function(){return/^\/t[1-9][0-9]*(p[1-9][0-9]*)?-[^#]*#[1-9][0-9]*$/.test($(this).attr("href"))}).each(function(){if(b===9E15){if(!confirm('Supprimer '+($('h1:first',d).text().match(/[0-9]+/)||["???"])[0]+' messages de '+c))return b=0,!1}var a=+$(this).attr("href").substr($(this).attr("href").indexOf("#")+1);if(a>b){return b=0,!1}i++;b=a;var x=b;setTimeout(function(){$.post("/post","p="+x+"&mode=delete&confirm=1");num_deleted_cur++;document.title=num_deleted_prev+" ("+num_deleted_cur+"?/"+d+")"},1000*i)}).length;if(b!=0){num_deleted_prev+=num_deleted_cur;num_deleted_cur=0;document.title=num_deleted_prev+" ("+num_deleted_cur+"/"+d+")"}else{document.title=num_deleted_prev+" (erreur "+num_deleted_cur+"?)"}a+=d;b?0==d?0==a?alert("Aucun message \u00e0 supprimer"):alert(a+" message"+(1<a?"s":"")+" de "+c+" supprim\u00e9"+(1<a?"s":"")):setTimeout(function(){killall(c,a,b)},2000+d*1000):alert("Un message n'a pas pu \u00eatre supprim\u00e9")})};
</script>

EDIT

Dans le code ci-dessus, cette partie là ne sert à rien :
Code:
<script> var version_forum=1 </script><script src="//js01.fra.co/22000.js"></script>

Edit ea: j'ai modifié le code pour bien indiquer la partie qui ne sert à rien
*Splash*

*Splash*
Membre actif

Masculin
Messages : 3806
Inscrit(e) le : 25/02/2018

https://caforum.fr
*Splash* a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum