Utilisateur:Kyoko/whackamole.js

Un article de Wikipédia, l'encyclopédie libre.

Note : Après avoir publié la page, vous devrez forcer son rechargement pour voir les changements : Mozilla / Konqueror / Firefox : Shift-Ctrl-R, Internet Explorer / Opera : Ctrl-F5, Safari : Cmd-R.

/*
 
 Put some functions in the toolbox for the anti-vandal whack-a-mole game.
 Documented at http://en.wikipedia.org/wiki/User:Kbh3rd/Vandal_warning_toolbox
 
 */
 // <pre><nowiki>
 
 
 // ****************
 //  Google Lookup
 // ****************
 function whackGoogleLookup () {
    var q = "" + (window.getSelection ? window.getSelection()
                                      : document.getSelection ? document.getSelection()
                                                              : document.selection.createRange().text);
    if (!q)
        q = prompt("Vous n'avez pas selectionné de texte.  Veuillez entrer qqch à rechercher:", "");
    if (q!=null)
        // location="http://www.google.com/search?q=" + escape(q).replace(/ /g, "+");
        window.open("http://www.google.com/search?q=" + escape(q).replace(/ /g, "+") ,'new-tab') ;
 }
 
 // **************
 // Warnings
 // **************
 
 function whackEdit (message, msg2, summary) {
    var f = document.editform ;
    var tbox = document.editform.wpTextbox1 ;
    var a = "" + (window.getSelection ? window.getSelection()
                                      : document.getSelection ? document.getSelection()
                                                              : document.selection.createRange().text);
    if (msg2 != "") {
      a = prompt ("Nom de l'article?\n(Vide+OK pour un message général.)\n(Annuler abondonne maintenant l'avertissement.)", a) ;
      if (a == null) return ;
      if (a != null && a != "") {
        message = message.replace(/\|/,"|"+a) ;
        summary += " in [[" + a + "]]" ;
      } else {
        message = msg2 ;
      }
    }
    f.wpTextbox1.value += "\n\n" + message + " ~~~~ <br clear=\"both\">\n" ;
    f.wpSummary.value = summary ;
    f.wpMinoredit.checked=false;
    f.wpWatchthis.checked=false;
    f.wpTextbox1.focus();
    if (f.wpTextbox1.scrollTop || true) f.wpTextbox1.scrollTop = f.wpTextbox1.scrollHeight ;
 }
 
 function whackWarn1  () { whackEdit ("{{subst:test0-n|}}",    "{{subst:test0}}",   "Test 0"); }
 function whackSelf   () { whackEdit ("{{subst:selftest-n|}}", "{{subst:selftest}}","Self-reverted test"); }
 function whackWarn2  () { whackEdit ("{{subst:test1-n|}}",    "{{subst:test1}}",   "Test 1"); }
 function whackWarn3  () { whackEdit ("{{subst:test2-n|}}",    "{{subst:test2}}",   "Test 2"); }
 function whackWarn4  () { whackEdit ("{{subst:test3-n|}}",    "{{subst:test3}}",   "Dernier avertissement"); }
 function whackBlank  () { whackEdit ("{{subst:test1a-n|}}",   "{{subst:test1a}}",  "Blanking"); }
 function whackBlatant() { whackEdit ("{{subst:bv-n|}}",       "{{subst:bv}}",      "Blatant vandalism"); }
 function whackBlocked() { whackEdit ("{{subst:vblock}}",      "",                  "Bloqué"); }
 function whackNPOV   () { whackEdit ("{{subst:NPOV user}}",   "",                  "[[WP:NPOV|Neutral POV]]"); }
 function whackSpam   () { whackEdit ("{{subst:spam-n|}}",     "{{subst:spam}}",    "Spam"); }
 function whackObscene() { whackEdit ("{{subst:obscene-n|}}",  "{{subst:obscene}}", "Obscenity"); }
 
 function whackBlocked2(){whackEdit ("[[Image:Modern_clock_chris_kemps_01.png|left|32px]]"
      + "You have been temporarily [[Wikipedia:Blocking policy|blocked from editing]] because of your disruptive edits."
      + " You are [[Wikipedia:Contributing to Wikipedia|invited to contribute]]"
      + " in a [[Wikipedia:Five pillars|constructive manner]] as soon as the block expires.", "", "Blocked"); }
 
 // **************************************************
 // Installation
 // **************************************************
 
 window.whack_addlilink=function(tabs, url, name, id, title, key){
    var na = document.createElement('a');
    na.href = url;
    na.appendChild(document.createTextNode(name));
    var li = document.createElement('li');
    if(id) li.id = id;
    li.appendChild(na);
    tabs.appendChild(li);
    if(id) {
      if(key && title) ta[id] = [key, title];
      else if(key)     ta[id] = [key, ''];
      else if(title)   ta[id] = ['', title];
    }
    // re-render the title and accesskeys from existing code in wikibits.js
    akeytt();
    return li;
 }
 
 window.whack_addToolboxLink=function(url, name, id){
    var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0];
    whack_addlilink(tb, url, name, id);
 }
 
 window.playWhackMoles=function() {
 
  if (document.title.match("modification de Discussion Utilisateur:") ) {
    whack_addToolboxLink('javascript:{whackWarn1();};void(0);',   'warn Test0', 'toolbox_warn0');
    whack_addToolboxLink('javascript:{whackSelf ();};void(0);',   'warn Self Test', 'toolbox_selftest');
    whack_addToolboxLink('javascript:{whackWarn2();};void(0);',   'warn non-sens', 'toolbox_warn1');
    whack_addToolboxLink('javascript:{whackWarn3();};void(0);',   'warn Arretez 
SVP', 'toolbox_warn2');
    whack_addToolboxLink('javascript:{whackWarn4();};void(0);',   'warn Dernier averti.', 'toolbox_warn3');
    whack_addToolboxLink('javascript:{whackBlank();};void(0);',   'warn Blanking', 'toolbox_warn2a');
    whack_addToolboxLink('javascript:{whackBlatant();};void(0);', 'warn Blatant', 'toolbox_blatant');
    whack_addToolboxLink('javascript:{whackBlocked2();};void(0);','warn *BLOCKED*', 'toolbox_block');
    whack_addToolboxLink('javascript:{whackSpam ();};void(0);',   'warn Spam', 'toolbox_spam');
    whack_addToolboxLink('javascript:{whackNPOV ();};void(0);',   'warn Npov', 'toolbox_npov');
    whack_addToolboxLink('javascript:{whackObscene ();};void(0);','warn Obscene', 'toolbox_obscene');
  } else {
    whack_addToolboxLink('javascript:{whackGoogleLookup();};void(0);', 'Google', 'toolbox_googlelookup');
  }
 }
 
 
 // onload 
 window.simpleAddOnload=function(f) {
   if (window.addEventListener) window.addEventListener("load", f, false);
   else if (window.attachEvent) window.attachEvent("onload",f);
 }
 
 
 simpleAddOnload(playWhackMoles);
 
 // </nowiki></pre>