User:OJJ/global.js
Appearance
From Meta, a Wikimedia project coordination wiki
< User:OJJ
Note: After publishing, 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)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
mw.loader.load('//meta.wikimedia.org/w/index.php?title=MediaWiki:Gadget-WikiLabels-loader.js&action=raw&ctype=text/javascript'); if(mw.config.get('wgDBname')!=='mediawikiwiki'&&mw.config.get('wgDBname')!=='commonswiki'&&mw.config.get('wgDBname')!=='wikidatawiki'&&mw.config.get('wgDBname')!=='enwiki'&&mw.config.get('wgDBname')!=='simplewiki') { // Morebits, a library for Twinkle-like gadgets by AzaToth mw.loader.load('//en.wikipedia.org/w/index.php?title=User:AzaToth/morebits.js&action=raw&ctype=text/javascript'); mw.loader.load('//en.wikipedia.org/w/index.php?title=User:PleaseStand/userinfo.js&action=raw&ctype=text/javascript'); mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:OJJ/beta.js&action=raw&ctype=text/javascript'); // This tool can tag pages with a few clicks (which is much faster than editing the whole page per Hand). // by [[m:user:Hoo man]] <//meta.wikimedia.org/wiki/User:Hoo_man/Scripts/Tagger> mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Hoo_man/tagger.js&action=raw&ctype=text/javascript'); varotherSpeedy={ 'mediawikiwiki':'speedy', 'enwikisource':'sdelete', 'commonswiki':'speedy delete', }; varspeedyTemplate="delete"; if(mw.config.get('wgDBname')inotherSpeedy){ speedyTemplate=otherSpeedy[mw.config.get('wgDBname')]; } // [[File:Hoo man/tagger.js]] //<nowiki> if(typeof(taggerConfig)=='undefined')taggerConfig={}; taggerConfig.tags=[]; taggerConfig.editSummary=[]; taggerConfig.tags[1]='{{'+speedyTemplate+'|Vandalismus / Vandalism}}'; taggerConfig.editSummary[taggerConfig.tags[1]]='Smazat: Vandalismus / Delete: Vandalism'; taggerConfig.tags[2]='{{'+speedyTemplate+'|Spam / Spam}}'; taggerConfig.editSummary[taggerConfig.tags[2]]='Smazat: Spam / Delete: Spam'; taggerConfig.tags[3]='{{'+speedyTemplate+'|Mimo rozsah projektu / Out of project scope}}'; taggerConfig.editSummary[taggerConfig.tags[3]]='Smazat: Mimo rozsah projektu / Delete: Out of project scope)'; taggerConfig.tags[4]='{{'+speedyTemplate+'|Neupravitelné / No meaningful content}}'; taggerConfig.editSummary[taggerConfig.tags[4]]='Smazat: Neupravitelné / Delete: No meaningful content'; taggerConfig.tags[5]='{{'+speedyTemplate+'|Nevýznamné / Unimportant}}'; taggerConfig.editSummary[taggerConfig.tags[5]]='Smazat: Nevýznamné / Delete: Unimportant'; taggerConfig.tags.other='This is used for the option you have to select to be able to insert a custom template'; //</nowiki> mw.loader.load('//de.wikipedia.org/w/index.php?title=Benutzer:TMg/autoFormatter.js&action=raw&ctype=text/javascript'); } // Mass revdel $.when(mw.loader.using('mediawiki.api'),$.ready).then(function() { varapi=newmw.Api(); if(mw.config.get("wgCanonicalSpecialPageName")=="Contributions") { $("ul.mw-contributions-list").before("<div style='display:inline-block;' id='revdelCP'>Skrytí revizí<input type='button' id='revdelSelectAll' value='Vybrat vše'><input type='button' id='revdelSelectNone' value='Zrušit vybrané položky'>\ <span style='white-space:nowrap;'><input type='checkbox' id='revdelContent' name='revdelOptions' value='content'> skrýt obsah</span> \ <span style='white-space:nowrap;'><input type='checkbox' id='revdelName' name='revdelOptions' value='userName'> skrýt uživatelské jméno</span> \ <span style='white-space:nowrap;'><input type='checkbox' id='revdelComment' name='revdelOptions' value='editSummary'> skrýt shrnutí editace</span> \ <span style='white-space:nowrap;'><input type='checkbox' id='undelContent' name='revdelOptions' value='content'> zviditelnit obsah</span> \ <span style='white-space:nowrap;'><input type='checkbox' id='undelName' name='revdelOptions' value='userName'> zviditelnit uživatelské jméno</span> \ <span style='white-space:nowrap;'><input type='checkbox' id='undelComment' name='revdelOptions' value='editSummary'> zviditelnit shrnutí editace</span> \ <br/><select id='wpRevDeleteReasonList'><option value='other'></option></select><input name='wpReason' size='60' id='wpReason' maxlength='100'>\ <input type='button' class='revdelSubmit' id='revdelSubmit' value='Skrytí vybraných revizí'> <input type='button' class='revdelSubmit' id='oversightSubmit' value='Oversight vybraných revizí'></div>"); $("ul.mw-contributions-list .mw-revdelundel-link").each(function(ind,el){ varrevId=/ids=(\d+)/.exec($(this).children("a").attr("href"))[1]; varpageTitle=/target=([^&]+)/.exec($(this).children("a").attr("href"))[1]; el.innerHTML="<input type='checkbox' name='"+decodeURIComponent(pageTitle)+"' class='revdelIds' value='"+revId+"'>"; }); $("ul.mw-contributions-list").after("</form>"); //load canned summaries $.get("/w/index.php?title=MediaWiki:Revdelete-reason-dropdown&action=raw",function(data) { reasons=data.replace(/\*\* ([^\*]+)/g,'<option value="1ドル">1ドル</option>'); reasons=reasons.replace(/\* ([^<]+)([^\*]+)/g,'<optgroup label="1ドル">2ドル</optgroup>'); $('#wpRevDeleteReasonList').append(reasons); }); //attach handlers $("#revdelSelectAll").click( function() { $('input.revdelIds').each(function() { $(this).prop("checked",true); }) } ); $("#revdelSelectNone").click( function() { $('input.revdelIds').each(function() { $(this).prop("checked",false); }) } ); $("#revdelSubmit").click( function() { //figure out which revisions and pages we're working on. varrevCount=0; varnumTitles=0; varpageTitles={}; $("input.revdelIds:checked").each(function(ind) { revCount=ind+1; if(ind>49) { alert("Nelze skrýt více než 50 revizí."); returnfalse; } if(typeofpageTitles[$(this).attr("name")]=="undefined") { pageTitles[$(this).attr("name")]=$(this).val(); numTitles++; } else { pageTitles[$(this).attr("name")]=pageTitles[$(this).attr("name")]+"|"+$(this).val(); } }); if(numTitles==0) { alert("Nebyla vybrána žádná revize"); returnfalse; } varconfirmString="Pokoušíte se skrýt "+revCount+" revizi/revize.\n\nZmění se následující vlasnosti revize:\n"; //figure out what we're doing to each revision. This is pretty clunky, but whatever. vardeleteString=""; varrevealString=""; vartypeString="revdel"; if($("#revdelContent").prop("checked")==$("#undelContent").prop("checked")) { confirmString=confirmString+"-Viditelnost obsahu se nezmění\n"; } elseif($("#revdelContent").prop("checked")) { deleteString="content"; confirmString=confirmString+"-Obsah bude skryt\n"; } else { revealString="content"; confirmString=confirmString+"-Obsah bude odkryt\n"; } if($("#revdelComment").prop("checked")==$("#undelComment").prop("checked")) { confirmString=confirmString+"-Viditelnost shrnutí editace se nezmění\n"; } elseif($("#revdelComment").prop("checked")) { if(deleteString!="") { deleteString=deleteString+"|"; } deleteString=deleteString+"comment"; confirmString=confirmString+"-Shrnutí editace bude skryto\n"; } else { if(revealString!="") { revealString=revealString+"|"; } revealString=revealString+"comment"; confirmString=confirmString+"-Shrnutí editace bude okryto\n"; } if($("#revdelName").prop("checked")==$("#undelName").prop("checked")) { confirmString=confirmString+"-Viditelnost uživatelského jména se nezmění\n"; } elseif($("#revdelName").prop("checked")) { if(deleteString!="") { deleteString=deleteString+"|"; } deleteString=deleteString+"user"; confirmString=confirmString+"-Uživatelské jméno bude skryto\n"; } else { if(revealString!="") { revealString=revealString+"|"; } revealString=revealString+"user"; confirmString=confirmString+"-Uživatelské jméno bude zviditelněno\n"; } if(deleteString==""&&revealString=="") { alert("Nebyly vybrány žádné vlasnosti revizí"); returnfalse; } varsummary=""; //construct the revdel summary if($("#wpRevDeleteReasonList").val()=="other") { if($("#wpReason").val()=="") { alert("Nebylo vyplněno shrnutí editace"); returnfalse; } summary=$("#wpReason").val(); } else { summary=$("#wpRevDeleteReasonList").val(); if($("#wpReason").val()!="") { summary=summary+": "+$("#wpReason").val(); } } confirmString=confirmString+"\nVaše shrnutí je "+summary+"\n\nSkrýt?"; if(confirm(confirmString)) { varnumCompleted=0; for(titleinpageTitles) { varajaxData; ajaxData={action:"revisiondelete",type:"revision",ids:pageTitles[title],reason:summary}; if(deleteString!="") { ajaxData.hide=deleteString; } if(revealString!="") { ajaxData.show=revealString; } api.postWithToken('csrf',ajaxData).done(function() { numCompleted++; if(numCompleted==numTitles) { alert("Hotovo!"); returnfalse; } }); } } returnfalse; } ) $("#oversightSubmit").click( function() { //figure out which revisions and pages we're working on. varrevCount=0; varnumTitles=0; varpageTitles={}; $("input.revdelIds:checked").each(function(ind) { revCount=ind+1; if(ind>49) { alert("Nelze skrýt více než 50 revizí."); returnfalse; } if(typeofpageTitles[$(this).attr("name")]=="undefined") { pageTitles[$(this).attr("name")]=$(this).val(); numTitles++; } else { pageTitles[$(this).attr("name")]=pageTitles[$(this).attr("name")]+"|"+$(this).val(); } }); if(numTitles==0) { alert("Nebyla vybrána žádná revize"); returnfalse; } varconfirmString="You are attempting to modify "+revCount+" revisions.\n\nThe following revision attributes will be changed:\n"; //figure out what we're doing to each revision. This is pretty clunky, but whatever. vardeleteString=""; varoversighting=-1; if($("#revdelContent").prop("checked")==$("#undelContent").prop("checked")) { confirmString=confirmString+"-Content visibility won't change.\n"; } elseif($("#revdelContent").prop("checked")) { deleteString="content"; confirmString=confirmString+"-Content will be oversighted.\n"; oversighting=1; } else { if(oversighting==1) { alert("we can't oversight and un-oversight edits at the same time!"); returnfalse; } deleteString="content"; confirmString=confirmString+"-Content will be returned to normal (admin-only) revision deletion.\n"; oversighting=0; } if($("#revdelComment").prop("checked")==$("#undelComment").prop("checked")) { confirmString=confirmString+"-Edit summary visibility won't change.\n"; } elseif($("#revdelComment").prop("checked")) { if(oversighting==0) { alert("we can't oversight and un-oversight edits at the same time!"); returnfalse; } if(deleteString!="") { deleteString=deleteString+"|"; } deleteString=deleteString+"comment"; confirmString=confirmString+"-Edit summary will be oversighted.\n"; oversighting=1; } else { if(oversighting==1) { alert("we can't oversight and un-oversight edits at the same time!"); returnfalse; } if(deleteString!="") { deleteString=deleteString+"|"; } deleteString=deleteString+"comment"; confirmString=confirmString+"-Edit summary will be returned to normal (admin-only) revision deletion.\n"; oversighting=0; } if($("#revdelName").prop("checked")==$("#undelName").prop("checked")) { confirmString=confirmString+"-User name visibility won't change.\n"; } elseif($("#revdelName").prop("checked")) { if(oversighting==0) { alert("we can't oversight and un-oversight edits at the same time!"); returnfalse; } if(deleteString!="") { deleteString=deleteString+"|"; } deleteString=deleteString+"user"; confirmString=confirmString+"-User name will be oversighted.\n"; oversighting=1; } else { if(oversighting==1) { alert("we can't oversight and un-oversight edits at the same time!"); returnfalse; } if(deleteString!="") { deleteString=deleteString+"|"; } deleteString=deleteString+"user"; confirmString=confirmString+"-User name will be returned to normal (admin-only) revision deletion.\n"; oversighting=0; } if(deleteString=="") { alert("Nebyly vybrány žádné vlasnosti revizí"); returnfalse; } varsummary=""; //construct the revdel summary if($("#wpRevDeleteReasonList").val()=="other") { if($("#wpReason").val()=="") { alert("Nebylo vyplněno shrnutí editace"); returnfalse; } summary=$("#wpReason").val(); } else { summary=$("#wpRevDeleteReasonList").val(); if($("#wpReason").val()!="") { summary=summary+": "+$("#wpReason").val(); } } confirmString=confirmString+"\nYour oversight summary is: "+summary+"\n\nOpravdu skrýt?"; if(confirm(confirmString)) { varnumCompleted=0; for(titleinpageTitles) { varajaxData; ajaxData={action:"revisiondelete",type:"revision",ids:pageTitles[title],reason:summary,hide:deleteString}; if(oversighting==1) { ajaxData.suppress="yes"; } elseif(oversighting==0) { ajaxData.suppress="no"; } else { alert("Chyba"); } api.postWithToken('csrf',ajaxData).done(function() { numCompleted++; if(numCompleted==numTitles) { alert("modified "+revCount+" úspěšně skryto!"); returnfalse; } }); } } returnfalse; } ) } }); //my patrol varcredible=[]; functionshowmypatrol(data){ $.each(data.query.users,function(k,v){credible[v.name]=(v.groups&&( v.groups.indexOf('autopatrolled')!=-1||v.groups.indexOf('sysop')!=-1||v.groups.indexOf('bot')!=-1 ))}); $('.mw-userlink').each(function(){if(!credible[$(this).text()])$(this).parent().addClass('not-patrolled');}); } functiongomypatrol(){ varurl=mw.config.get('wgServer')+'/w/api.php?action=query&list=users&ususers='+$('.mw-userlink').map(function(i,v){return$(this).text();}).toArray().filter(function(v,i,s){returns.indexOf(v)===i}).join('|')+'&usprop=groups&format=json'; $.getJSON(url,function(data){showmypatrol(data);}); } functiontrymypatrol(){ varwgCanonicalSpecialPageName=mw.config.get('wgCanonicalSpecialPageName'); if(wgCanonicalSpecialPageName=='Recentchanges'||wgCanonicalSpecialPageName=='Watchlist')gomypatrol(); } $(trymypatrol); //Mass rollback function //Tato verze zalozena na :en:User:Writ Keeper/Scripts/massRollback.js functionrollbackEverythingWKMR(editSummary) { if(editSummary===null) { returnfalse; } varuserName=mw.config.get("wgRelevantUserName"); vartitleRegex=/title=([^&]+)/; mw.loader.using('mediawiki.api').done(function() { varapi=newmw.Api(); $("a[href*='action=rollback']").each(function(ind,el) { varparams={}; if(editSummary!='') { params.summary=editSummary; } api.rollback(decodeURIComponent(titleRegex.exec(el.href)[1]),userName,params).done(function() { $(el).after("hotovo"); $(el).remove(); }); }); }); returnfalse; } $(document).ready(function() { if(mw.config.get("wgCanonicalSpecialPageName")=="Contributions"&&$("span.mw-rollback-link").length>0) { mw.loader.using("mediawiki.util").done(function() { mw.util.addPortletLink('p-cactions','#',"Hromadný revert","ca-rollbackeverything","Rychlý revert všech zde zobrazených editací"); $("#ca-rollbackeverything").click(function(event) { event.preventDefault(); mw.loader.load('mediawiki.api');//start loading, while the user is in the prompt returnrollbackEverythingWKMR(prompt("Vyplňte shrnutí editace nebo ponechte prázdné pro automaticky vyplněné shrnutí.)")); }); }); } }); mw.loader.load('//cs.wikipedia.org/w/index.php?title=User:OJJ/zvyraznitBloky.js&action=raw&ctype=text/javascript'); mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Xiplus/TwinkleGlobal.js&action=raw&ctype=text/javascript');