Outils de modération depuis la liste des sujets pour forum phpBB3

2 participants

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

Résolu Outils de modération depuis la liste des sujets pour forum phpBB3

Message par jackhay Ven 19 Avr 2013 - 0:25

Bonsoir.

J'aimerais mettre en place sur mon forum une petite modif qui me ferait gagner un peu de temps pour de la gestion des sujets: pouvoir accéder aux outils de modération pour chaque sujet, sur la liste des sujets.

Une solution avait été apportée ici: Lien
mais elle est applicable uniquement sur les forums phpBB2 (pas d'accès aux templates en phpBB3 Crying or Very sad).

Je ne sais pas si c'est possible de réaliser ce que je demande sur un forum en phpBB3. J'en appelle donc à vos connaissances en la matière et je remercie par avance celles et/ou ceux qui daigneront m'éclairer Wink.


Amicalement,

Jackhay


Dernière édition par jackhay le Mer 24 Avr 2013 - 11:14, édité 1 fois
jackhay

jackhay
**

Masculin
Messages : 82
Inscrit(e) le : 01/04/2013

http://omega-foundation.allianceogame.com/
jackhay a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Outils de modération depuis la liste des sujets pour forum phpBB3

Message par Arlem Ven 19 Avr 2013 - 10:12

Bonjour Smile

Essayez en mettant directement ce code dans la gestion des codes javascript, actif sur les sous-forums :
Code:
/* adresse img modération lock */
var lock_img = "http://2img.net/i/fa/subsilver/topic_lock.gif";
/* adresse img modération unlock */
var unlock_img = "http://2img.net/i/fa/subsilver/topic_unlock.gif";
/* adresse img modération corbeille */
var trash_img = "http://2img.net/i/fa/subsilver/topic_trashcan.gif";
/* adresse img modération supprimer */
var delete_img = "http://2img.net/i/fa/subsilver/topic_delete.gif";
/* adresse img topic verrouillé */
var topic_read_locked = "http://2img.net/i/fa/prosilver/topic_read_locked.gif";
/* adresse img topic verrouillé & nouveau msg */
var topic_unread_locked = "http://2img.net/i/fa/prosilver/topic_unread_locked.gif";
/* adresse cookie contenant le sid (ne pas éditer) */
var cookie = my_getcookie('fa_'+location.hostname.replace(/\./g,'_')+'_sid');
$(function() {
   /* Si l'utilisateur a les droits de modération, on affiche les outils de modération */
   if($("a[href^='/modcp']:first").length==1) {
      $('.topic-title-container').each(function() {
         /* Si le topic est verrouillé on affiche le bouton déverrouiller */
         if(($(this).closest('li').find('dl.icon').attr('style').indexOf(topic_unread_locked) != -1) ||($(this).closest('li').find('dl.icon').attr('style').indexOf(topic_read_locked) != -1)) {
            $(this).append('<span style="float:right;cursor:pointer;"><img src="'+unlock_img+'" class="mod_unlock"/><img src="'+trash_img+'" class="mod_trash"/><img src="'+delete_img+'" class="mod_delete"/></span>');
         }
         /*  Sinon on affiche le bouton verrouiller  */ else {
            $(this).append('<span style="float:right;cursor:pointer;"><img src="'+lock_img+'" class="mod_lock"/><img src="'+trash_img+'" class="mod_trash"/><img src="'+delete_img+'" class="mod_delete"/></span>');
         }
      }
      );
   }
   /* Clic sur le bouton déverrouiller */
   $('.mod_unlock').click(function() {
      if (confirm("Êtes-vous sûr ?")) {
         $.get('/modcp.forum?t='+$(this).closest('dl').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1')+'&mode=unlock&sid='+cookie);
         $(this).addClass('mod_lock').removeClass('mod_unlock');
         $(this).attr('src',lock_img);
      }
   }
   );
   /* Clic sur le bouton verrouiller */
   $('.mod_lock').click(function() {
      if (confirm("Êtes-vous sûr ?")) {
         $.get('/modcp.forum?t='+$(this).closest('dl').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1')+'&mode=lock&sid='+cookie);
         $(this).addClass('mod_unlock').removeClass('mod_lock');
         $(this).attr('src',unlock_img);
      }
   }
   );
   /* Clic sur le bouton corbeille */
   $('.mod_trash').click(function() {
      if (confirm("Êtes-vous sûr ?")) {
         $.get('/modcp.forum?t='+$(this).closest('dl').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1')+'&mode=trash&sid='+cookie);
         $(this).closest('li').remove();
      }
   }
   );
   /* Clic sur le bouton supprimer */
   $('.mod_delete').click(function() {
      if (confirm("Êtes-vous sûr ?")) {
         // prendre le tid
         var tid= $("input[name=tid]:first").val() ||  ($("a[href*='&tid=']:first").attr("href")||"").replace(/^.*&tid=([a-f0-9]*)?.*$/,"$1");
         // prendre le fid
         var fid= location.href.replace(/^.*\/f([0-9]+)[p-].*$/,'$1');
         // prendre le topic_id
         var topic_id= $(this).closest('dl').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1');
         $.post("/modcp?tid="+tid, {
            f:fid, t:topic_id, tid: tid, mode:"delete",confirm:"1"
         }
         );
         $(this).closest('li').remove();
      }
   }
   );
}
);
Etant donné que vous n'avez pas modifié les images de base vous ne devriez rien avoir à éditer dans le code.
avatar

Arlem
Membre actif

Messages : 2550
Inscrit(e) le : 30/06/2009

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

Résolu Re: Outils de modération depuis la liste des sujets pour forum phpBB3

Message par jackhay Ven 19 Avr 2013 - 12:33

Tout simplement génial !
Un GRAND merci Arlem Very Happy

J'aurais juste une dernière petite question: est-ce qu'il serait possible de rajouter l'outil "déplacer" ? Si ce n'est pas possible, pas grave.

En tout cas, sans vous, je n'aurais rien pu faire ^^. Il faut vraiment que je me mette au codage plus sérieusement study
jackhay

jackhay
**

Masculin
Messages : 82
Inscrit(e) le : 01/04/2013

http://omega-foundation.allianceogame.com/
jackhay a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Outils de modération depuis la liste des sujets pour forum phpBB3

Message par jackhay Lun 22 Avr 2013 - 18:46

jackhay a écrit:J'aurais juste une dernière petite question: est-ce qu'il serait possible de rajouter l'outil "déplacer" ? Si ce n'est pas possible, pas grave.

UP ?
jackhay

jackhay
**

Masculin
Messages : 82
Inscrit(e) le : 01/04/2013

http://omega-foundation.allianceogame.com/
jackhay a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Outils de modération depuis la liste des sujets pour forum phpBB3

Message par jackhay Mar 23 Avr 2013 - 21:03

UP
jackhay

jackhay
**

Masculin
Messages : 82
Inscrit(e) le : 01/04/2013

http://omega-foundation.allianceogame.com/
jackhay a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Outils de modération depuis la liste des sujets pour forum phpBB3

Message par Arlem Mar 23 Avr 2013 - 21:30

Yop,

Comme ça ça fonctionne ?
Code:
/* adresse img modération deplacer */
var move_img= "http://2img.net/i/fa/subsilver/topic_move.gif";
/* adresse img modération lock */
var lock_img = "http://2img.net/i/fa/subsilver/topic_lock.gif";
/* adresse img modération unlock */
var unlock_img = "http://2img.net/i/fa/subsilver/topic_unlock.gif";
/* adresse img modération corbeille */
var trash_img = "http://2img.net/i/fa/subsilver/topic_trashcan.gif";
/* adresse img modération supprimer */
var delete_img = "http://2img.net/i/fa/subsilver/topic_delete.gif";
/* adresse img topic verrouillé */
var topic_read_locked = "http://2img.net/i/fa/prosilver/topic_read_locked.gif";
/* adresse img topic verrouillé & nouveau msg */
var topic_unread_locked = "http://2img.net/i/fa/prosilver/topic_unread_locked.gif";
/* adresse cookie contenant le sid (ne pas éditer) */
var cookie = my_getcookie('fa_'+location.hostname.replace(/\./g,'_')+'_sid');
$(function() {
   /* Si l'utilisateur a les droits de modération, on affiche les outils de modération */
   if($("a[href^='/modcp']:first").length==1) {
      $('.topic-title-container').each(function() {
         /* Si le topic est verrouillé on affiche le bouton déverrouiller */
         if(($(this).closest('li').find('dl.icon').attr('style').indexOf(topic_unread_locked) != -1) ||($(this).closest('li').find('dl.icon').attr('style').indexOf(topic_read_locked) != -1)) {
            $(this).append('<span style="float:right;cursor:pointer;"><img src="'+move_img+'" class="mod_move"><img src="'+unlock_img+'" class="mod_unlock"/><img src="'+trash_img+'" class="mod_trash"/><img src="'+delete_img+'" class="mod_delete"/></span>');
         }
         /*  Sinon on affiche le bouton verrouiller  */ else {
            $(this).append('<span style="float:right;cursor:pointer;"><img src="'+move_img+'" class="mod_move"><img src="'+lock_img+'" class="mod_lock"/><img src="'+trash_img+'" class="mod_trash"/><img src="'+delete_img+'" class="mod_delete"/></span>');
         }
      }
      );
   }
   /* Clic sur le bouton déverrouiller */
   $('.mod_unlock').click(function() {
      if (confirm("Êtes-vous sûr ?")) {
         $.get('/modcp.forum?t='+$(this).closest('dl').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1')+'&mode=unlock&sid='+cookie);
         $(this).addClass('mod_lock').removeClass('mod_unlock');
         $(this).attr('src',lock_img);
      }
   }
   );
   /* Clic sur le bouton verrouiller */
   $('.mod_lock').click(function() {
      if (confirm("Êtes-vous sûr ?")) {
         $.get('/modcp.forum?t='+$(this).closest('dl').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1')+'&mode=lock&sid='+cookie);
         $(this).addClass('mod_unlock').removeClass('mod_lock');
         $(this).attr('src',unlock_img);
      }
   }
   );
   /* Clic sur le bouton corbeille */
   $('.mod_trash').click(function() {
      if (confirm("Êtes-vous sûr ?")) {
         $.get('/modcp.forum?t='+$(this).closest('dl').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1')+'&mode=trash&sid='+cookie);
         $(this).closest('li').remove();
      }
   }
   );
   /* Clic sur le bouton supprimer */
   $('.mod_delete').click(function() {
      if (confirm("Êtes-vous sûr ?")) {
         var tid= $("input[name=tid]:first").val() ||  ($("a[href*='&tid=']:first").attr("href")||"").replace(/^.*&tid=([a-f0-9]*)?.*$/,"$1");
         var fid= location.href.replace(/^.*\/f([0-9]+)[p-].*$/,'$1');
         var topic_id= $(this).closest('dl').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1');
         $.post("/modcp?tid="+tid, {
            f:fid, t:topic_id, tid: tid, mode:"delete",confirm:"1"
         }
         );
         $(this).closest('li').remove();
      }
   });
   /* Clic sur le bouton deplacer */
   $('.mod_move').click(function() {
      $(this).closest('li').find('a.topictitle').after('<input type="submit" class="move_topic"/>');
      $(this).closest('li').find('a.topictitle').after($('select[name="selected_id"]').clone().removeAttr("onchange"));
   }
   );
   $('.move_topic').live('click', function() {
      var tempData = $(this);
      $.post("/modcp?tid="+$("input[name=tid]:first").val(), {
         tid:$("input[name=tid]:first").val(),new_forum:tempData.closest('li').find('select[name="selected_id"] option:selected').val(),mode:"move",t:tempData.closest('li').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1'),confirm:"Oui"
      }
      ,function(data) {
         if(data.indexOf('Le(s) sujet(s) sélectionné(s) a/ont été déplacé(s).')!=-1) {
            tempData.closest('li').remove()
         } else if(data.indexOf('Votre session a expiré.')!=-1) {
            alert("Votre session a expiré.")
         } else if(data.indexOf('Aucun sujet n\'a été déplacé.')!=-1) {
            alert("Aucun sujet n'a été déplacé.")
         } else if(data.indexOf('Le forum que vous avez sélectionné n\'existe pas.')!=-1) {
            alert("Le forum que vous avez sélectionné n'existe pas.")
         } else {
            alert("erreur inconnue")
         }
      }
      );
   }
   );
}
);
avatar

Arlem
Membre actif

Messages : 2550
Inscrit(e) le : 30/06/2009

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

Résolu Re: Outils de modération depuis la liste des sujets pour forum phpBB3

Message par jackhay Mar 23 Avr 2013 - 23:22

C'est nickel ! Un grand merci Arlem.

Il y a juste un petit bug que j'ai remarqué: quand on clique sur "Déplacer" pour un sujet, et que l'on reclique sur "Déplacer" pour ce sujet ou un autre sujet du même forum, ça dédouble le menu déroulant. Et ainsi de suite, ça dédouble ce qu'on a déjà à chaque fois que l'on reclique sur l'outil "Déplacer". Voilà un imprim écran (j'ai cliqué 3 fois de suite sur "Déplacer" pour le même sujet):

Outils de modération depuis la liste des sujets pour forum phpBB3 Captur10

Mais ce n'est pas gênant, puisqu'en général, on ne s'amuse pas à cliquer sur les outils de modération plusieurs fois de suite. C'était juste pour reporter ce petit bug.

Je te remercie encore une fois Arlem pour ton aide Wink.


Amicalement,

Jackhay
jackhay

jackhay
**

Masculin
Messages : 82
Inscrit(e) le : 01/04/2013

http://omega-foundation.allianceogame.com/
jackhay a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Outils de modération depuis la liste des sujets pour forum phpBB3

Message par Arlem Mer 24 Avr 2013 - 10:16

Effectivement, normalement en remplaçant ça :
Code:
/* Clic sur le bouton deplacer */
  $('.mod_move').click(function() {
      $(this).closest('li').find('a.topictitle').after('<input type="submit" class="move_topic"/>');
      $(this).closest('li').find('a.topictitle').after($('select[name="selected_id"]').clone().removeAttr("onchange"));
  }
  );
Par ça :
Code:
/* Clic sur le bouton deplacer */
$('.mod_move').live('click',function() {
   if(!($(this).closest('li').find('input.move_topic').length)) {
      $(this).closest('li').find('a.topictitle').after('<input type="submit" class="move_topic"/>');
      $(this).closest('li').find('a.topictitle').after($('.vf_jumpbox select[name="selected_id"]').clone().removeAttr("onchange"));
   }
}
);
ça devrait corriger le problème.
avatar

Arlem
Membre actif

Messages : 2550
Inscrit(e) le : 30/06/2009

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

Résolu Re: Outils de modération depuis la liste des sujets pour forum phpBB3

Message par jackhay Mer 24 Avr 2013 - 11:13

Effectivement, ça règle le problème Wink

Merci pour ton aide Arlem. Un super travail, comme d'habitude Yes.

Résolu.


Amicalement,

Jackhay
jackhay

jackhay
**

Masculin
Messages : 82
Inscrit(e) le : 01/04/2013

http://omega-foundation.allianceogame.com/
jackhay 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