Content deleted Content added
1.94 |
2.1 |
||
Line 1:
/// Gadget-pageLinkHelper.js
///
/// Fingerprint:#0#
///<nowiki>
(function(mw,$){
"use strict";
var Version=
Config={PermanentLink:{"*":"PermaLink"},Redirect:{de:"Weiterleitung"},permTitle:{"*":"PermaLink"},purgeLUtip:{en:"PURGE this page and force link update",de:"PURGE mit rekursivem Linkupdate"},purgeLUtitle:{en:"PURGE/linkupdate",de:"PURGE/linkupdate"},purgeLURtip:{en:"PURGE this page and force recursive link update",de:"PURGE mit rekursivem Linkupdate"},purgeLURtitle:{en:"PURGE/recursive",de:"PURGE/rekursiv"},purgeTip:{en:"PURGE this page from server cache",de:"PURGE: Diese Seite im Server-Cache aktualisieren"},purgeTitle:{en:"Purge cache",de:"Seite purgen"},qqxTip:{en:"Reload and show interface element IDs",de:"Neu laden und MediaWiki-IDs zeigen"},qqxTitle:{en:"lang=qqx"},translate:{"als":"de",
"bar":"de","dsb":"de",
Line 196:
slot=false;}}
if(slot){
if(typeof apply.fun==="function"){
swap=apply.fun();
}else{
swap="#";}
if(typeof apply.suffix==="string"){
suffix=apply.suffix;
Line 203 ⟶ 206:
if(seed){
seed="#"+seed;}
r=mw.util.addPortletLink(slot,swap,fair(apply.show,true),start+"-"+suffix,fair(apply.support,true),null,seed);
if(typeof apply.forward==="function"){
$(r).find("a").click(apply.forward);}}
return r;}
function feed(about,alter,assign){
window.history.___replaceState(about,alter,assign);}
function flat(ahead){
var r;
Line 321 ⟶ 306:
$float($div);
if(id2){
Perm.fiat(id1,"o");
Perm.fiat(id2,"n");
}else{
Perm.fiat(false,"o");
Perm.fiat(false,"n");}
if(!link&&typeof window.history.___replaceState==="function"){
caused={caused:Sign};
Line 338 ⟶ 323:
}else{
window.history.___replaceState(caused,show,shift);}}}}
function forward(amount,alike){
var $results=$("#mw-content-text li"),n=$results.length,i,j,shift,special,start,strip,$a,$li;
Line 365 ⟶ 350:
strip=strip.replace(/^.+(\?title=.+)$/,shift);
$a.attr("href",strip);}}}}}}}
function from(){
var caused,opts,last,legacy,show,showed,state,swap;
Line 530 ⟶ 423:
Env.curid=mw.util.getParamValue("curid");
if(Env.curid||Env.oldid){
}else{
Purge.fresh(true);
Env.wgRedirectedFrom=mw.config.get("wgRedirectedFrom");
if(Env.wgRedirectedFrom){
Line 539 ⟶ 432:
break;
case "info":
Purge.fresh(true);
break;
case "edit":
Line 545 ⟶ 438:
linkUpdate=false;
default:
if(linkUpdate){
if(OPTS.facet("forcelinkupdate")){
Purge.fresher(true);}
if(OPTS.facet("forcerecursivelinkupdate")){
Purge.freshest(true);}}}}
if(OPTS.facet("slangQQX")){
flat(true);}}
Perm.fiat=function(apply,at){
var $div=$("#mw-diff-"+at+"title1"),id,s,$a,$span;
if($div.length){
if(apply){
id=apply;
if(apply==="cur"){
id=mw.config.get("wgCurRevisionId");
}else if(typeof apply==="string"&&!/^\d+$/.test(apply)){
id=false;}}
if(!id){
$a=$div.find("a").eq(0);
s=$a.attr("href");
id=mw.util.getParamValue("oldid",s);}
if(id){
s="[["+Env.spcNS+":PermanentLink/"+id+"]]";
$span=$("<span>");
$span.attr({"class":Sign+" "+Sign+"DiffRev"});
$span.css({"font-family":"monospace","margin-left":"1em"});
$span.text(s);
$div.append($span);}}
};
Perm.flip=function(assign){
var $portlet=$("#t-permalink"),show,support,$a,$span;
if($portlet.length){
support=Sign+" "+Version;
if(assign){
$a=$("<a>");
$a.attr({"title":support});
$a.click(Perm.furnish);
$a.text(fair("permTitle",false,"PermaLink"));
$portlet.empty();
$portlet.append($a);
}else{
$a=$portlet.find("a");
show=$a.text();
if(show){
$span=$("<span>");
$span.css({"color":"#808080"});
$span.text(show);
$span.attr({"title":support});
$portlet.empty();
$portlet.append($span);}}}
};
Perm.furnish=function(){
var sign=Sign+"Permalink",$div=$("#"+sign),show,special,swift,$a,$br,$spanBeg,$spanEnd;
if(!$div.length&&$float()){
if(!Env.wgPageName){
Env.wgPageName=mw.config.get("wgPageName");}
if(Env.curid){
Env.curid=parseInt(Env.curid,10);
}else{
Env.curid=mw.config.get("wgArticleId");}
if(Env.oldid){
Env.oldid=parseInt(Env.oldid,10);
}else{
Env.oldid=mw.config.get("wgCurRevisionId");}
$div=$factory(sign);
special=mw.config.get("wgFormattedNamespaces")["-1"]+":";
swift="?title="+mw.util.wikiUrlencode(Env.wgPageName);
$spanBeg=$("<span>");
$spanBeg.text("[[");
$spanEnd=$("<span>");
$spanEnd.text("]]");
$a=$("<a>");
if(Env.oldid){
$div.append($spanBeg.clone());
show=special+fair("PermanentLink",false,"PermaLink")+"/"+Env.oldid;
$a.attr({"href":mw.util.getUrl(show)+swift});
$a.text(show);
$div.append($a);
$div.append($spanEnd.clone());
$br=$("<br />");
$div.append($br);
$a=$("<a>");}
$div.append($spanBeg);
show=special+fair("Redirect",false)+"/page/"+Env.curid;
$a.attr({"href":mw.util.getUrl(show)+swift});
$a.text(show);
$div.append($a);
$div.append($spanEnd);
$float($div);
Perm.flip(false);}
};
Purge.first=function(){
if(typeof Env.curid!=="number"){
Env.curid=mw.config.get("wgArticleId");}
return Env.curid;
};
Purge.fiat=function(additional){
var o=new mw.Api({parameters:{action:"purge"}}),p={pageids:Env.curid};
if(additional){
p[additional]=true;}
o.post(p).done(function(){window.___location.reload(true);});
};
Purge.fresh=function(ahead){
if(ahead===true){
if(Purge.first()){
favorite({signature:"purge",skins:true,forward:Purge.fresh,show:"purgeTitle",support:"purgeTip",suffix:"purge"
});}
}else{
Purge.fiat();}
};
Purge.fresher=function(ahead){
if(ahead===true){
if(Purge.first()){
favorite({signature:"forcelinkupdate",skins:false,forward:Purge.fresher,show:"purgeLUtitle",support:"purgeLUtip",suffix:"purgeLinkUpd"
});}
}else{
Purge.fiat("forcelinkupdate");}
};
Purge.freshest=function(ahead){
if(ahead===true){
if(Purge.first()){
favorite({signature:"forcerecursivelinkupdate",skins:false,forward:Purge.freshest,show:"purgeLURtitle",support:"purgeLURtip",suffix:"purgeLinkUpdRec"
});}
}else{
Purge.fiat("forcerecursivelinkupdate");}
};
if(mw.loader.getState(Signature)!=="ready"){
mw.loader.state(Signature,"ready");
mw.loader.using(["mediawiki.api","mediawiki.user","mediawiki.util","user","user.options"],function(){
$(fire);
});}
|