MediaWiki:Gadget-vandalwarner.js
Note: After saving, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
/* Vandal Warner, version [0.2.0] Created and maintained by User:Huji, modified by User:Hoo man Based on Whackamole, a script written by User:Pilotguy */ var WarnVandalList, WarnVandalSig; var WarnVandalItems = []; var WarnVandalCustomItems = []; WarnVandalItems.push( ['test', 1, 'Experimenting', 'Test edit'] ); WarnVandalItems.push( ['testarticle', 1, 'Experimenting', 'Test page'] ); WarnVandalItems.push( ['test2', 1, 'Nonsense change', 'Nonsense'] ); WarnVandalItems.push( ['test2a', 1, 'Removing content', 'Don\'t remove'] ); WarnVandalItems.push( ['test3', 1, 'Please stop vandalizing', 'Please stop'] ); WarnVandalItems.push( ['test4', 1, 'Last chance to stop vandalising', 'Last chance'] ); WarnVandalItems.push( ['test4im', 1, 'Last chance to stop vandalising', 'Only warning'] ); WarnVandalItems.push( ['spam', 1, 'Don\'t spam', 'Don\'t spam'] ); WarnVandalItems.push( ['block', 0, 'Blocked', 'Blocked 1'] ); WarnVandalItems.push( ['block2', 0, 'Blocked', 'Blocked 2'] ); WarnVandalItems.push( ['Welcome', 0, 'Welcome to Wikipedia', 'Welcome'] ); function WarnVandal (message, param, summary) { var tbox = document.getElementById('wpTextbox1'); var a = "" + (window.getSelection ? window.getSelection() : document.getSelection ? document.getSelection() : document.selection.createRange().text); if (param != "") { a = prompt ("Article name?\n(Empty+OK for a generic message.)\n(Cancel now aborts.)", a); if (a == null) return; if (a != null && a != "") { message = message.replace(/\|/,"|"+a); summary += " in [[" + a + "]]"; } else { message = param; } } if (WarnVandalSig == undefined) { WarnVandalSig = " ~~" + "~~\n"; } document.getElementById('wpTextbox1').value += message + WarnVandalSig; document.getElementById('wpSummary').value = summary; document.getElementById('wpMinoredit').checked=false; document.getElementById('wpWatchthis').checked=false; document.getElementById('wpTextbox1').focus(); if (document.getElementById('wpTextbox1').scrollTop || true) { document.getElementById('wpTextbox1').scrollTop = document.getElementById('wpTextbox1').scrollHeight; } } window.WarnVandal_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); WarnVandalList.appendChild(li); if(id) { if(key && title) ta[id] = [key, title]; else if(key) ta[id] = [key]; else if(title) ta[id] = ['', title]; } return li; } window.WarnVandal_addToolboxLink=function(url, name, id){ var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0]; WarnVandal_addlilink(tb, url, name, id); } $(document).ready( function () { if ((mw.config.get('wgAction') == 'edit' || mw.config.get('wgAction') == 'submit') && mw.config.get('wgCanonicalNamespace') === 'User_talk') { var link_div = document.createElement('div'); if(skin === 'vector') { link_div.className = 'body'; }else{ link_div.className = 'pBody'; } WarnVandalList = document.createElement('ul'); link_div.appendChild(WarnVandalList); var div = document.createElement('div'); div.setAttribute('id', 'p-vandalwarner'); var heading = document.createElement('h5'); heading.appendChild(document.createTextNode('Vandal Warner')); div.appendChild(heading); div.appendChild(link_div); if (WarnVandalCustomItems.length > 0){ for (i=0; i<WarnVandalCustomItems.length; i++) { itm = WarnVandalCustomItems[i]; WarnVandal_addToolboxLink('javascript:WarnVandal ("{'+'{subst:'+itm[0]+'|}}", ' + (itm[1] ? '"{'+'{subst:'+itm[0]+'}}"' : '""') + ', ' + '"'+itm[2]+'"); void(0);', itm[3], ''); } } else { for (i=0; i<WarnVandalItems.length; i++) { itm = WarnVandalItems[i]; WarnVandal_addToolboxLink('javascript:WarnVandal ("{'+'{subst:'+itm[0]+'|}}", ' + (itm[1] ? '"{'+'{subst:'+itm[0]+'}}"' : '""') + ', ' + '"'+itm[2]+'"); void(0);', itm[3], ''); } } if(skin === 'vector') { document.getElementById('mw-panel').insertBefore(div, document.getElementById('p-tb')); div.className = 'portal'; }else{ div.className = 'portlet'; var side_col = document.getElementById('column-one'); var node = document.getElementById('p-tb'); side_col.insertBefore(div, node); } } });