Testetana

- Salut Invité -

  • Poster un nouveau sujet
  • Répondre au sujet

Javascript / Phpbb2 : bouton censure dans les messages pour les modérateurs

Partager

Adminb
admin

Messages: 230
Réputation: 0
Date d'inscription: 11/06/2009
Umore: &

En savoir plus sur moi
test:

Javascript / Phpbb2 : bouton censure dans les messages pour les modérateurs

Message par Adminb le Mer 2 Déc - 23:55

Alors voilà, j'ai fini le script ^^


Il faut faire 4 changements dans la template général > viewtopic_body.


1er changement :

    Il faut situer ce code qui se trouve tout au début du template :

    Code:
    <script type="text/javascript">
    //<![CDATA[
    var multiquote_img_off = '{JS_MULTIQUOTE_IMG_OFF}', multiquote_img_on = '{JS_MULTIQUOTE_IMG_ON}', _atr = '{JS_DIR}addthis/', _ati = '{PATH_IMG_FA}addthis/'{ADDTHIS_LANG}, addthis_localize = { share_caption: "{L_SHARE_CAPTION}", email: "{L_EMAIL}", email_caption: "{L_EMAIL_CAPTION}", favorites: "{L_SHARE_BOOKMARKS}", print: "{L_PRINT}", more: "{L_MORE}" };
    $(function(){
       _atc.cwait = 0;
       $('.addthis_button').mouseup(function(){
          if ($('#at15s').css('display') == 'block') {
             addthis_close();
             addthis_close();
          }
       });
    });
    //]]>
    </script>

    Et mettre juste après :

    Code:
    <script type="text/javascript">
    var i_censure= 'Censurer';
    var d_censure= '<span style="color:red; font-style: italic;">Ce message a été censuré</span>';
    var f_censure= '[color=red][i]Ce message a été censuré[/i][/color]';

    function censor(pid) {
       if (window.ActiveXObject) {
          var xhr = new ActiveXObject("Microsoft.XMLHTTP");
       }
       else if (window.XMLHttpRequest) {
          var xhr = new XMLHttpRequest();
       }

       if(xhr!=null) {
          xhr.onreadystatechange = function() {
             if(xhr.readyState == 4) {
                document.getElementById('get_message'+pid).innerHTML=d_censure;
             }
          }
       xhr.open("POST","/posting.forum", true);
       xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded, charset=utf-8');
       xhr.send("subject="+escape(document.getElementById('get_title').innerHTML.replace(/&/g,'&'))+"&message="+f_censure+"&p="+pid+"&mode=editpost&post=Envoyer");
       }
    }
    </script>

    Dans ce code vous pouvez modifier les 3 paramètres i_censure, d_censure et f_censure ( ce seront les 3 seuls paramètres à modifier ).

    Pour les trois paramètre il faut mettre le caractère ' aux deux bouts ne pas mettre de retour à la ligne au milieu, et pour mettre au milieu ' il faudra mettre \' et pour mettre \ il faudra mettre \\ enfin voici à quoi ces trois paramètres servent :

    • i_censure est le texte sur lequel il faut appuyer pour faire la censure ( on peut très bien mettre le code html ( [Seuls les administrateurs ont le droit de voir cette image] ) à la place de mettre du texte.

    • d_censure est l'équivalent html de ce qu'on va vouloir mettre à la place du message quand on appuie sur le bouton censurer.

    • f_censure est ce par quoi sera remplacé le message ( on peut donc y mettre du javascript, des codes de smileys et du html si il est active ).


2ème changement :

    Il faut situer ce code ( par une recherche par exemple ( CTRL + F ) ) :

    Code:
    {TOPIC_TITLE}

    Et le remplacer par ceci :

    Code:
    <span id="get_title">{TOPIC_TITLE}</span>


3ème changement :

    Il faut trouver ce code :

    Code:
    {postrow.displayed.THANK_IMG} {postrow.displayed.MULTIQUOTE_IMG} {postrow.displayed.QUOTE_IMG} {postrow.displayed.EDIT_IMG} {postrow.displayed.DELETE_IMG} {postrow.displayed.IP_IMG} {postrow.displayed.REPORT_IMG}

    Et le remplacer par :

    Code:
    {postrow.displayed.THANK_IMG} {postrow.displayed.MULTIQUOTE_IMG} {postrow.displayed.QUOTE_IMG} <span id="get_edit">{postrow.displayed.EDIT_IMG}</span> <span id="get_mod"></span> {postrow.displayed.DELETE_IMG} <span id="get_ip">{postrow.displayed.IP_IMG}</span> {postrow.displayed.REPORT_IMG}



4ème et dernier changement :

    Il faut trouver ce code :

    Code:
    {postrow.displayed.MESSAGE}

    Et le remplacer par :

    Code:
    <span id="get_message">{postrow.displayed.MESSAGE}</span><script type="text/javascript"> if(document.getElementById('get_ip').id!='') { document.getElementById('get_mod').innerHTML='<a href="javascript:censor('+parseInt(document.getElementById('get_edit').firstChild.href.replace(/^.*\/post\.forum\?mode=editpost&p=/,''))+')">'+i_censure+'</a>'; document.getElementById('get_message').id+=parseInt(document.getElementById('get_edit').firstChild.href.replace(/^.*\/post\.forum\?mode=editpost&p=/,'')); document.getElementById('get_edit').id=''; document.getElementById('get_mod').id=''; document.getElementById('get_ip').id=''; } </script>


Et normalement vous devriez avoir ce que vous vouliez \o/

Cordialement.
  • Poster un nouveau sujet
  • Répondre au sujet

La date/heure actuelle est Lun 6 Sep - 23:04