Jump to content
Wikimedia Meta-Wiki

User:OJJ/global.js: Difference between revisions

From Meta, a Wikimedia project coordination wiki
Content deleted Content added
Line 442: Line 442:
var credible = [];
var credible = [];
function showmypatrol(data) {
function showmypatrol(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) });
$.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'); });
$('.mw-userlink').each(function () { if(!credible[$(this).text()]) $(this).parent().addClass('not-patrolled'); });
}
}

Latest revision as of 08:34, 6 June 2024

 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');

AltStyle によって変換されたページ (->オリジナル) /