Message / MP automatique

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

Résolu Message / MP automatique

Message par Ejayremy le Lun 18 Fév 2013 - 10:43

Bonjour à tous,

Ce jour j'ai posté un topic sur ce ForumdesForums et un modérateur l'a déplacé. Juste là rien de spécial c'est sympa mais j'ai été avertis par MP du déplacement de mon topic et dans le dit MP il était stipulé "Votre topic a été déplacé blablabla ..." et une annotation en fin de message m'a interpellé : "(ceci est un message envoyé automatiquement avec le déplacement de votre sujet par un modérateur, merci de ne pas répondre)"

Ma question est : Comment faire ce genre de réponse automatique sur nos propre forum ?

Merci à vous et à bientôt.
Jerem'


Dernière édition par Ejayremy le Lun 18 Fév 2013 - 20:28, édité 1 fois

Ejayremy
*****

Masculin
Messages : 943
Inscrit(e) le : 03/02/2006

http://forum.family-geek.fr/
Ejayremy a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Message / MP automatique

Message par Ea le Lun 18 Fév 2013 - 17:10

Bonjour,


On a ajouté ce code javascript sur les sujet :

Code:
if(document.location.pathname.match(/^\/t[1-9][0-9]*(p[1-9][0-9]*)?-/)) {
  $(".quickmod select[name='mode']").removeAttr("onchange").change(function(e) {
    if(this.value == "move" && /^f[1-9][0-9]*$/.test($("fieldset.jumpbox select[name='selected_id']").val())) {
      $(this).after('<input type="hidden" name="new_forum" value="' + $("fieldset.jumpbox select[name='selected_id']").val() + '" /><input type="hidden" name="confirm" value="Oui" />').closest("form").attr("method", "post").attr("name", "movetopic");
      $("body").append('<div style="width:1px;height: 1px; position: absolute; visibility: hidden; overflow: hidden"><iframe name="mp" onload="$(\'form[name=movetopic]\')[0].submit()"></iframe><form name="mpsend" action="/privmsg" method="post" target="mp"><input type="hidden" name="post" value="Envoyer" /><input type="submit" /><input type="hidden" name="attach_sig" value="1" /><input type="hidden" name="username[]" value="' + $(".post:first p.author a").text().replace(/"/g, "&quot;").replace(/</g,
      "&lt;").replace(/>/g, "&gt;") + '" /><input type="hidden" name="subject" value="D\u00e9placement de sujet" /><input type="hidden" name="message" value="Bonjour,\n\n\nVotre sujet [url=http://forum.forumactif.com/t' + document.location.pathname.replace(/^\/t([1-9][0-9]*).*?$/, "$1") + "-]" + $(".post:first h2.topic-title a").text().replace(/"/g, "&quot;").replace(/</g, "&lt;").replace(/>/g, "&gt;") + '[/url] a \u00e9t\u00e9 d\u00e9plac\u00e9 dans une section plus appropri\u00e9e.\n\n[i][size=10](ceci est un message envoy\u00e9 automatiquement avec le d\u00e9placement de votre sujet par un mod\u00e9rateur, merci de ne pas r\u00e9pondre)[/size][/i]\n\nCordialement." /></form>');
      $("form[name='mpsend']")[0].submit()
    }else {
      this.form.submit()
    }
  })
};
Il n'agit que pour phpbb3 et en déplaçant un sujet en choisissant le nouveau forum avec "Sauter vers:" puis en choisissant comme "Outils de modération:" déplacer ( http://i.imgur.com/zJpR0kx.png ).

Il faut également dans PA > Général > Sécurité, avoir autorisé les formulaires non de base.

Cordialement.

Ea
Aidactif
Aidactif

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

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

Résolu Re: Message / MP automatique

Message par Zeste le Lun 18 Fév 2013 - 18:27

Bonjour,

Et il y a un moyen de l'appliquer sur un forum phpbb2 en modifiant des choses? Very Happy

Bonne journée.

Zeste
# Tropactif #

Féminin
Messages : 1366
Inscrit(e) le : 28/11/2010

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

Résolu Re: Message / MP automatique

Message par demeter1 le Lun 18 Fév 2013 - 18:41

Intéressé également.

demeter1
+ Hyperactif +

Masculin
Messages : 8101
Inscrit(e) le : 23/01/2009

http://altitudetropicale.forums-actifs.com/index.forum
demeter1 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Message / MP automatique

Message par Ea le Lun 18 Fév 2013 - 19:57

Ceci devrait fonctionner pour phpbb3 et phpbb2 :

Code:
location.pathname.match(/^\/t[1-9]/) && $(function () {

    // test si membre modérateur
    if (!$("a[href^='/modcp']:first").length) return;

    // on retire la redirection directe du "sauter vers"
    $('form select[name="selected_id"]').removeAttr('onchange');

    // on change l'action du "outils de modération"
    $('form[action^="/modcp?"] select[name="mode"]').removeAttr("onchange").change(function () {
        // si autre choix que déplacer le sujet, on envoie le formulaire
        if (this.value != "move") {
            this.form.submit()
            return
        }
        // sinon on regarde si "sauter vers" est mis sur un forum et alors on envoie un mp puis le formulaire
        $('form select[name="selected_id"]').val().match(/^f[1-9][0-9]*$/) && $.post("/privmsg",
          'username=' + escape($('tr.post,div.post').first().find('td:first a[href^="/u"],.postprofile a[href^="/u"],h4.username a').filter(function () { return $(this).text() }).first().text()) +
          '&subject=' + escape('Déplacement de sujet') +
          '&message=' + escape('Bonjour,\n\n\nVotre sujet [url=http://' + location.hostname + location.pathname + "]" + document.title + '[/url] a été déplacé dans une section plus appropriée.\n\n[i][size=10](ceci est un message envoyé automatiquement avec le déplacement de votre sujet par un modérateur, merci de ne pas répondre)[/size][/i]\n\nCordialement.') +
          '&mode=post&post=1'
        , function(){ $('form[action^="/modcp?"]').submit() })
    })
});
Cordialement.

Ea
Aidactif
Aidactif

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

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

Résolu Re: Message / MP automatique

Message par FANCH 56 le Lun 18 Fév 2013 - 20:25

Bon je vais faire le casse pied ! Et sous invision................. avant d'être rattrapé.

FANCH 56
+ Hyperactif +

Masculin
Messages : 13260
Inscrit(e) le : 25/07/2005

http://www.anciens-cols-bleus.net/
FANCH 56 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Message / MP automatique

Message par Ejayremy le Lun 18 Fév 2013 - 20:38

@Ea a écrit:
Il n'agit que pour phpbb3 et en déplaçant un sujet en choisissant le nouveau forum avec "Sauter vers:" puis en choisissant comme "Outils de modération:" déplacer ( http://i.imgur.com/zJpR0kx.png ).
Merci pour les infos mais je n'ai pas trop saisie la marche à suivre de ce que vous dite.
J'ai essayé en déplaçant un topic avec l'outil de modération "déplacer le sujet" mais aucuns MP reçus chez la personne en question.

Ejayremy
*****

Masculin
Messages : 943
Inscrit(e) le : 03/02/2006

http://forum.family-geek.fr/
Ejayremy a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Message / MP automatique

Message par Ea le Lun 18 Fév 2013 - 22:08

@FANCH 56 a écrit:Bon je vais faire le casse pied ! Et sous invision................. avant d'être rattrapé.
Sur invision il y a le "Sauter vers" dans le bas du forum, mais il n'y a pas le <select> avec les outils de modération.

Enfin ça nécessiterait une modification substantielle, on pourrait plutôt mettre un script sur les sujets :

Code:
location.pathname.match(/^\/t[1-9]/)&&$(function(){$('.bar a[href^="/modcp?mode=move&"]').attr("href",function(b,a){return a+"&first_poster="+encodeURIComponent($(".postdetails dt a").last().text())})});
Qui ajoute au lien de déplacement d'un sujet le pseudo du premier posteur ( ce qui est nécessaire pour lui envoyer un message privé ).

Ensuite il faudrait sur toutes les pages :

Code:
location.pathname=='/modcp' && location.search.match(/(^|&)mode=move(&|$)/) && location.search.match(/(^|&)first_poster=[^&]+(&|$)/)  && $(function(){
  $('form input[name="confirm"]').click(function(){
    $.ajaxSetup({async:false});
    $.post("/privmsg",
      'username=' + escape(location.search.replace(/^(|.*&)first_poster=([^&]+)(&.*|)$/,'$2'))+
      '&subject=' + escape('Déplacement de sujet') +
      '&message=' + escape('Bonjour,\n\n\nVotre sujet [url=http://' + location.hostname + '/t' + location.search.replace(/^(|.*&)t=([1-9][0-9]*)(&.*|)$/,'$2') + '-]disponible ici[/url] a été déplacé dans une section plus appropriée.\n\n[i][size=10](ceci est un message envoyé automatiquement avec le déplacement de votre sujet par un modérateur, merci de ne pas répondre)[/size][/i]\n\nCordialement.') +
      '&mode=post&post=1'
    );   
    $.ajaxSetup({async:true});
  })
});
Autrement j'y pense maintenant, sur le fdf le premier message du sujet est sur toutes les pages, dont quand on déplace un sujet en étant sur la page 10, le script envoie bien un message au créateur du sujet.

Mais sur un forum où le premier message du sujet n'est pas sur toutes les pages, le script enverra un message privé au premier posteur de la page.

@Ejayremy a écrit:
@Ea a écrit:
Il n'agit que pour phpbb3 et en déplaçant un sujet en choisissant le nouveau forum avec "Sauter vers:" puis en choisissant comme "Outils de modération:" déplacer ( http://i.imgur.com/zJpR0kx.png ).
Merci pour les infos mais je n'ai pas trop saisie la marche à suivre de ce que vous dite.
J'ai essayé en déplaçant un topic avec l'outil de modération "déplacer le sujet" mais aucuns MP reçus chez la personne en question.
Sur votre forum je vois le script et pas d'erreur.

Normalement il faut utiliser les 2 cases de choix : http://i.imgur.com/zJpR0kx.png

Choisir la section dans le premier, et puis choisir dans les outils de modération " déplacer le sujet ".

Mais en fait j'ai oublié un morceau, le code devrait plutôt être :

Code:
if(document.location.pathname.match(/^\/t[1-9][0-9]*(p[1-9][0-9]*)?-/)) {$(function(){
  $(".quickmod select[name='mode']").removeAttr("onchange").change(function(e) {
    if(this.value == "move" && /^f[1-9][0-9]*$/.test($("fieldset.jumpbox select[name='selected_id']").val())) {
      $(this).after('<input type="hidden" name="new_forum" value="' + $("fieldset.jumpbox select[name='selected_id']").val() + '" /><input type="hidden" name="confirm" value="Oui" />').closest("form").attr("method", "post").attr("name", "movetopic");
      $("body").append('<div style="width:1px;height: 1px; position: absolute; visibility: hidden; overflow: hidden"><iframe name="mp" onload="$(\'form[name=movetopic]\')[0].submit()"></iframe><form name="mpsend" action="/privmsg" method="post" target="mp"><input type="hidden" name="post" value="Envoyer" /><input type="submit" /><input type="hidden" name="attach_sig" value="1" /><input type="hidden" name="username[]" value="' + $(".post:first p.author a").text().replace(/"/g, "&quot;").replace(/</g,
      "&lt;").replace(/>/g, "&gt;") + '" /><input type="hidden" name="subject" value="D\u00e9placement de sujet" /><input type="hidden" name="message" value="Bonjour,\n\n\nVotre sujet [url=http://forum.forumactif.com/t' + document.location.pathname.replace(/^\/t([1-9][0-9]*).*?$/, "$1") + "-]" + $(".post:first h2.topic-title a").text().replace(/"/g, "&quot;").replace(/</g, "&lt;").replace(/>/g, "&gt;") + '[/url] a \u00e9t\u00e9 d\u00e9plac\u00e9 dans une section plus appropri\u00e9e.\n\n[i][size=10](ceci est un message envoy\u00e9 automatiquement avec le d\u00e9placement de votre sujet par un mod\u00e9rateur, merci de ne pas r\u00e9pondre)[/size][/i]\n\nCordialement." /></form>');
      $("form[name='mpsend']")[0].submit()
    }else {
      this.form.submit()
    }
  })
})};
Autrement, le script donné là : http://forum.forumactif.com/t346258-message-mp-automatique#2956720 devrait aussi fonctionner en phpbb3 ( et il est peut-être plus simple à modifier ).

Cordialement.


Ea
Aidactif
Aidactif

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

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

Résolu Re: Message / MP automatique

Message par FANCH 56 le Lun 18 Fév 2013 - 22:36

Merci et bonne nuit.

FANCH 56
+ Hyperactif +

Masculin
Messages : 13260
Inscrit(e) le : 25/07/2005

http://www.anciens-cols-bleus.net/
FANCH 56 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Message / MP automatique

Message par Ejayremy le Lun 18 Fév 2013 - 23:09

Merci, cela fonctionne parfaitement Smile

Ejayremy
*****

Masculin
Messages : 943
Inscrit(e) le : 03/02/2006

http://forum.family-geek.fr/
Ejayremy a été remercié(e) par l'auteur de ce sujet.

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


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