User:Mschel/monobook.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
//importScript('User:Lupin/popups.js');
//popupFixDabs = true;
//popupFixRedirs = true;

importScript("User:Lupin/recent2.js");
importScript('User:Lupin/autoedit.js');
importScript('User:AzaToth/twinkle.js');


TwinkleConfig = {
        revertMaxRevisions              :       50,
        userTalkPageMode                :       'window',
        showSharedIPNotice              :       false,
        openTalkPage                    :       [ 'agf', 'norm', 'vand' ],
        openTalkPageOnAutoRevert        :       true,
        openAOLAnonTalkPage             :       true,
        summaryAd                       :       "",
        deletionSummaryAd               :       "",
        protectionSummaryAd             :       "",
        watchSpeedyPages                :       [ 'g3', 'g5', 'g10', 'g11', 'g12' ],
        watchProdPages                  :       true,
        openUserTalkPageOnSpeedyDelete  :       [ 'g1', 'g2', 'g10', 'g11', 'g12', 'a1', 'a7', 'i3', 'i4', 'i5', 'i6', 'i7', 'u3', 't1' ],
        watchRevertedPages              :       [ ],
        markRevertedPagesAsMinor        :       [ 'agf', 'norm', 'vand' ],
};

// Add date and time to your monobook "personal menu" list at the very top of the page.
// Created by [[User:Mathwiz2020]]

// Indicate where you would like the time to appear:
// 1 is first (before username), 2 is second (before talk link), ... 7 is last (after log out link)
insertBeforeNum = 7;

// Do NOT edit below this line unless you're experiened in javascript
insertBeforeArr = new Array("","pt-userpage","pt-mytalk","pt-preferences","pt-watchlist","pt-mycontris","pt-logout","");
insertBefore = insertBeforeArr[insertBeforeNum];

function makeTime()
{
  var li = document.createElement( 'li' );
  li.id = 'pt-time';

  var mySpan = document.createElement( 'span' );
  mySpan.appendChild( document.createTextNode( 'date and time' ) );

  li.appendChild( mySpan );

  if ( insertBefore )
  {
    var before = document.getElementById( insertBefore );
    before.appendChild( li, before );
  }
  else // append to end (right) of list
  {
    document.getElementById( 'pt-logout' ).parentNode.appendChild( li );
  }

  getTime();
}

if      ( window.addEventListener ) window.addEventListener ( 'load', makeTime, false );
else if ( window.attachEvent      ) window.attachEvent      ( 'onload', makeTime      );

function getTime()
{
    var time    = new Date();
    var date    = time.getUTCDate();
    var months  = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(' ');
        month   = months[time.getUTCMonth()];
    var year    = time.getUTCFullYear();
    var hours   = '0' + time.getUTCHours();
        hours   = hours.substr(hours.length-2, hours.length);
    var minutes = '0' + time.getUTCMinutes();
        minutes = minutes.substr(minutes.length-2, minutes.length);
    var seconds = '0' + time.getUTCSeconds();
        seconds = seconds.substr(seconds.length-2, seconds.length);
    var curTime = hours + ":" + minutes + ":" + seconds + ", " + date + " " + month + " " + year + " (UTC)";
    datePlace   = document.getElementById('pt-time').childNodes[0].childNodes[0];
                  datePlace.replaceData(0, datePlace.length, curTime);
    doTime      = window.setTimeout("getTime()", 1000);
}

/**** quick image delete ****/
document.write('<script type="text/javascript"' +
  'src="http://en.wikipedia.org/w/index.php?title=User:Howcheng/quickimgdelete.js' +
  '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

/////////////////////////////////////////////////////////////////////////////////////////////////////

 /*
 
 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("You didn't select any text.  Enter a search phrase:", "");
    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, level) {
    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 ("Article name?\n(Empty+OK for a generic message; Cancel aborts.)", a) ;
      if (a == null) return ;
      if (a != null && a != "") {
        message = message.replace(/\|/,"|"+a) ;
        summary = "Your edit to [[" + a + "]]." ;
      } else {
        message = msg2 ;
        summary = "Your recent edits" ;
      }
    }
    f.wpTextbox1.value += "\n\n" + message + " ~~~~" ;
    f.wpSummary.value = summary ;
    //if (level = 0) { f.wpSummary.value = "Self-reverted test" ; }
    f.wpMinoredit.checked=false;
    f.wpWatchthis.checked=false ;
    f.wpTextbox1.focus();
    if (f.wpTextbox1.scrollTop || true) f.wpTextbox1.scrollTop = f.wpTextbox1.scrollHeight ;
 }
 
 //function whackSelf   (x) { whackEdit ("{{subst:uw-selfrevert|}}", "{{subst:uw-selfrevert}}","Self-reverted test", 0); }
 function whackWarn   (x) { whackEdit ("{{subst:uw-test"+x+"|}}",    "{{subst:uw-test"+x+"}}",      "Experimenting", x); }
 function whackVandal (x) { whackEdit ("{{subst:uw-vand"+x+"|}}",    "{{subst:uw-vand"+x+"}}",   "Vandalizing", x); }
 function whackBlank  (x) { whackEdit ("{{subst:uw-delete"+x+"|}}",  "{{subst:uw-delete"+x+"}}", "Blanking", x); }
 function whackErrors (x) { whackEdit ("{{subst:uw-error"+x+"|}}",   "{{subst:uw-error"+x+"}}",  "Introducing errors", x); }
 function whackNPOV   (x) { whackEdit ("{{subst:uw-npov"+x+"|}}",  "{{subst:uw-npov"+x+"}}", "[[WP:NPOV|NPOV]]", x); }
 function whackSpam   (x) { whackEdit ("{{subst:uw-spam"+x+"|}}",  "{{subst:uw-spam"+x+"}}", "Spamming", x); }
 function whackAds    (x) { whackEdit ("{{subst:uw-ad"+x+"|}}",  "{{subst:uw-ad"+x+"}}", "Advertising", x); }
 
 // **************************************************
 // Installation
 // **************************************************
 
 window.whack_addlilink=function(tabs, n, url, name, id, title, key){
    var ix ;
    var li = document.createElement('li');
    if (n > 0) {
            li.appendChild(document.createTextNode(name)) ;
            for (ix = 1 ; ix <= n ; ix++) {
                    var na = document.createElement('a');
                    na.href = url.replace(/XX/g, ix) ;
                    na.appendChild(document.createTextNode(" "+ix));
                    li.appendChild(na);
            }
    } else {
      var na = document.createElement('a');
      na.href = url;
      na.appendChild(document.createTextNode(name));
      li.appendChild(na);
    }
    if(id) li.id = id;
    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(n, url, name, id){
    var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0];
    whack_addlilink(tb, n, url, name, id);
 }
 
 window.playWhackMoles=function() {
 
  if (document.title.match("Editing User talk:") ) {
 
    whack_addlilink (document.getElementById('p-tb').getElementsByTagName('ul')[0],
         0, "http://en.wikipedia.org/wiki/Wikipedia:Template_messages/User_talk_namespace#Multi_level_templates",
         "Warning Templates:", "uTemplates") ;
 
    whack_addToolboxLink(3, 'javascript:{whackWarn(XX);};void(0);',   'Test', 'toolbox_warn');
    whack_addToolboxLink(4, 'javascript:{whackVandal(XX);};void(0);', 'Vandal', 'toolbox_warn2');
    whack_addToolboxLink(4, 'javascript:{whackBlank(XX);};void(0);',  'Blank', 'toolbox_warn3');
    whack_addToolboxLink(3, 'javascript:{whackErrors(XX);};void(0);', 'Errors', 'toolbox_warn4');
    whack_addToolboxLink(4, 'javascript:{whackNPOV(XX);};void(0);',   'NPOV', 'toolbox_warn2a');
    whack_addToolboxLink(4, 'javascript:{whackSpam(XX);};void(0);',   'Spam', 'toolbox_blatant');
    whack_addToolboxLink(4, 'javascript:{whackAds(XX);};void(0);',    'Ads', 'toolbox_blatant');
    //whack_addToolboxLink(1, 'javascript:{whackSelf(XX);};void(0);',   'Self Test', 'toolbox_selftest');
 
  } else {
    whack_addToolboxLink(0, '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);