Usuario:Midas02/Zeusmode/whatlinkshere.js
Apariencia
Nota: Después de guardar, debes refrescar la caché de tu navegador para ver los cambios. Internet Explorer: mantén presionada Ctrl mientras pulsas Actualizar. Firefox: mientras presionas Mayús pulsas el botón Actualizar, (o presiona Ctrl-Shift-R). Los usuarios de Google Chrome y Safari pueden simplemente pulsar el botón Recargar. Para más detalles e instrucciones acerca de otros exploradores, véase Ayuda:Cómo limpiar la caché.
//-------------------------------------------------
// Ajax What Links Here 0.34
// by [[User:Zanaq]] (c) 2010 GPL
//
// No new pages open if the user wants to navigate
// The Tree of What Links There
// Fix disambiguations and (double) redirects
// -------------------------------------------------------<nowiki>
clickedLi=-1;
trackLi=0;
trackUl=0;
fixinglink=0;
isnotwatched=0;
isamsterdamconstruction=0;
function toggleMoreContext(id)
{
q=document.getElementById('taat' + id);
r=document.getElementById('taa' + id);
if (r.style.display == 'none')
{
q.innerHTML = '<big>—</big>';
r.style.display = 'block';
} else {
q.innerHTML = '+';
r.style.display = 'none';
}
}
function savedDiff(li)
{
if (xmlhttp.readyState != 4) return;
p = document.getElementById('editform' + clickedLi).action.indexOf('&action=')
chklnk=document.getElementById('editform' + clickedLi).action.substring(0,p) + "&diff=last";
document.getElementById('hiddeneditform' + clickedLi).innerHTML = xmlhttp.responseText;
parser=new DOMParser();
xmlDoc=parser.parseFromString(xmlhttp.responseText,"text/xml");
document.getElementById('diff' + clickedLi).innerHTML =
'<div style="border:1px solid black;padding:.5em">' + '<img src="//upload.wikimedia.org/wikipedia/commons/thumb/f/fb/Yes_check.svg/20px-Yes_check.svg.png"> ' + txtSaved + ' <a href="' + chklnk + '">[' + txtCheck + '...]</a>'
+ '</div>';
document.getElementById('diff' + clickedLi).innerHTML += '<input type=button value="' + txtClose + '" onClick="javascript:cancelFix(' + clickedLi + ')">';
fixinglink=0;
}
function saveDiff(li)
{
clickedLi = li;
params = 'wpSave=' + encodeURIComponent(document.getElementById('editform' + clickedLi).wpSave.value);
et=document.getElementById('editform' + clickedLi).wpEditToken.value;
params += '&wpAutoSummary=' + encodeURIComponent(document.getElementById('editform' + clickedLi).wpAutoSummary.value);
params += '&oldid=' + encodeURIComponent(document.getElementById('editform' + clickedLi).oldid.value);
params += '&wpStarttime=' + encodeURIComponent(document.getElementById('editform' + clickedLi).wpStarttime.value);
params += '&wpEdittime=' + encodeURIComponent(document.getElementById('editform' + clickedLi).wpEdittime.value);
if (isredirect)
summ = txtFixDoubleRedirect + ' - ' + document.getElementById('editform' + clickedLi).wpTextbox1.value
else if (isdisambiguation)
summ = txtFixDisambiguation + ' - ' + document.getElementById('editform' + clickedLi).wpSummary.value
else
summ = (typeof(txtFixLink) != 'undefined') ? txtFixLink : document.getElementById('editform' + clickedLi).wpSummary.value;
params += '&wpSummary=' + encodeURIComponent(summ);
params += '&wpMinoredit=' + '1';
//alert(document.getElementById('editform' + clickedLi).wpWatchthis.value);
if (isnotwatched < 0)
{
params += '&wpWatchthis=' + encodeURIComponent(document.getElementById('editform' + clickedLi).wpWatchthis.value);
}
params += '&wpTextbox1=' + encodeURIComponent(document.getElementById('editform' + clickedLi).wpTextbox1.value);
params += '&wpEditToken=' + encodeURIComponent(et);
query= document.getElementById('editform' + clickedLi).action;
xmlhttp = HTTPClient();
if (!xmlhttp) return;
xmlhttp.open("POST", query, true);
xmlhttp.onreadystatechange = savedDiff;
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(params);
}
function cancelFix(li)
{
document.getElementById('hiddeneditform' + li).innerHTML = '';
document.getElementById('diff' + li).innerHTML = '';
document.getElementById('fix' + li).style.display='inline';
fixinglink=0;
}
function showDiff()
{
if (xmlhttp.readyState != 4) return;
isnotwatched=xmlhttp.responseText.indexOf('<li id="ca-watch"');
ef = xmlhttp.responseText.replace('<form id="editform"', '<form id="editform' + clickedLi + '"');
document.getElementById('hiddeneditform' + clickedLi).innerHTML = ef;
document.getElementById('diff' + clickedLi).innerHTML =
'<div style=border-style:solid;border-width:1px id="wikiDiff">'
+ document.getElementById('wikiDiff').innerHTML
+ '<input type=button value="' + txtSavePage + '" onClick="javascript:saveDiff(' + clickedLi + ')">'
+ '<input type=button value="' + txtCancel + '" onClick="javascript:cancelFix(' + clickedLi + ')">'
+ '</div>';
document.getElementById('loading' + clickedLi).style.display='none';
}
function fixLinkOnFocus(id)
{
ta=document.getElementById(id);
a = ta.value.toUpperCase().indexOf('[[' + wgTitle.replace('_', ' ').toUpperCase() + '');
b = ta.value.indexOf(']]',a+1)+2;
if ((a > 0) && (b>0))
{
ta.selectionStart=a+2;
ta.selectionEnd=b-2;
}
}
function saveFix(id, n)
{
wt=document.getElementById('taa0--1').value;
for (i=0;i<n;i++)
{
t=document.getElementById('ta' + id + '-' + i).value;
a=(t.substring(0,3)=='...') ? 3 : 0;
b=(t.substring(t.length-3)=='...') ? t.length-3 : t.length;
wt+=t.substring(a,b) + document.getElementById('taa' + id + '-' + i).value;
}
document.getElementById('editform' + id).wpTextbox1.value = wt;
document.getElementById('editform' + id).wpSummary.value = document.getElementById( 'summ' + id).value;
saveDiff(id);
}
function previewFix(id, n)
{
wt=document.getElementById('taa0--1').value;
for (i=0;i<n;i++)
{
t=document.getElementById('ta' + id + '-' + i).value;
a=(t.substring(0,3)=='...') ? 3 : 0;
b=(t.substring(t.length-3)=='...') ? t.length-3 : t.length;
wt+=t.substring(a,b) + document.getElementById('taa' + id + '-' + i).value;
}
document.getElementById('editform' + id).wpTextbox1.value = wt;
document.getElementById('editform' + id).wpSummary.value = document.getElementById( 'summ' + id).value;
params = 'wpDiff=' + encodeURIComponent(document.getElementById('editform' + clickedLi).wpDiff.value);
params += '&wpEditToken=' + encodeURIComponent(document.getElementById('editform' + clickedLi).wpEditToken.value);
params += '&oldid=' + encodeURIComponent(document.getElementById('editform' + clickedLi).oldid.value);
params += '&wpStarttime=' + encodeURIComponent(document.getElementById('editform' + clickedLi).wpStarttime.value);
params += '&wpEdittime=' + encodeURIComponent(document.getElementById('editform' + clickedLi).wpEdittime.value);
params += '&wpSummary=' + encodeURIComponent(document.getElementById('editform' + clickedLi).wpSummary.value);
params += '&wpTextbox1=' + encodeURIComponent(document.getElementById('editform' + clickedLi).wpTextbox1.value);
query= document.getElementById('editform' + clickedLi).action;
xmlhttp = HTTPClient();
if (!xmlhttp) return;
xmlhttp.open("POST", query, true);
xmlhttp.onreadystatechange = showDiff;
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(params);
}
function replaceLink(id, replaceText)
{
replaceText=unescape(replaceText);
rt=replaceText;
ta=document.getElementById('ta' + id);
a = ta.value.toUpperCase().indexOf('[[' + wgTitle.replace('_', ' ').toUpperCase() + '')+2;
b = ta.value.indexOf(']]',a+1);
c = ta.value.indexOf('|',a+1);
if (document.getElementById('chtxt' + clickedLi).checked == false)
{
if (c>-1 && c < b)
{
b = c;
} else {
replaceText += '|' + ta.value.substring(a,b)
}
}
if ((a > -1) && (b >- 1))
{
ta.value = ta.value.substring(0,a) + replaceText + ta.value.substring(b)
document.getElementById('dab' + id).style.display='none';
sep = (document.getElementById(
'summ' + id.substring(0,id.indexOf('-'))
).value == '') ? '' : ', ';
document.getElementById(
'summ' + id.substring(0,id.indexOf('-'))
).value+= sep + '[[' + wgTitle.replace('_', ' ') + ']] → [[' + rt + ']]';
ta.selectionStart=a;
ta.selectionEnd=a+replaceText.length;
ta.focus();
}
}
function fixLinkLoadForm()
{
if (xmlhttp.readyState != 4) return;
a=xmlhttp.responseText.indexOf('<form id="editform"');
b=xmlhttp.responseText.indexOf('</form>',a+1)+7;
ef = xmlhttp.responseText.substring(a,b).replace('<form id="editform"', '<form id="editform' + clickedLi + '"');
document.getElementById('hiddeneditform' + clickedLi).innerHTML = ef;
redir=document.getElementById('li'+clickedLi).parentNode.parentNode.parentNode;
var regexFindTemplates = RegExp('(' + redirectKeywords + ')','im');
editText = document.getElementById('editform' + clickedLi).wpTextbox1.innerHTML;
a= regexFindTemplates.exec(editText);
if ((a && !isredirect) || (!a && !isredirect))
{
t=[editText]; //complete text
l=[]; //links
lc=0;
for (i=0;i<t.length;i++)
{
a = t[i].toUpperCase().indexOf('[[' + wgTitle.replace('_', ' ').toUpperCase() + "|");
if (a < 0)
a = t[i].toUpperCase().indexOf('[[' + wgTitle.replace('_', ' ').toUpperCase() + "]]");
b = t[i].indexOf(']]',a+1)+2;
if ((a > -1) && (b>-1))
{
t[1 + i] = t[i].substring(a,b);
l[lc++] = i+1;
t[2 + i] = t[i].substring(b);
t[i] = t[i].substring(0,a);
document.getElementById('diff' + clickedLi).innerHTML += t[i++].substring(a,b);
}
}
a = (t[0].length < 300) ? 0 : t[0].length -300;
weird=t[0].substring(a).indexOf(';');
if ((weird < 5) && (weird != -1))
{
a = a + 1 + weird;
}
if (t[0].substring(a).charCodeAt(0) == 10)
{
a = a + 1;
}
document.getElementById('diff' + clickedLi).innerHTML +=
'<div style=float:right;width:1px><a id=taat0--1 href="javascript:toggleMoreContext(\'0--1\')">+</div><textarea rows=5 id=taa0--1 style=display:none>'
+ t[0].substring(0,a)
+ '</textarea>';
pta=t[0].substring(a);
dotsO=(a!=0) ? '...' : '';
for (i=0;i<l.length;i++)
{
m= (t[l[i]+1].length > 100) ? 300 : Math.floor((t[l[i]+1].length)/2);
b = (t[l[i]+1].length < m) ? t[l[i]+1].length : m;
dotsC=(b < (t[l[i]+1].length-1)) ? '...' : '';
weird=t[l[i]+1].substring(b).indexOf(';');
if ((weird < 5) && (weird != -1))
{
b = b + 1 + weird;
}
if (t[l[i]+1].substring(b).charCodeAt(0) == 10)
{
b = b + 1;
}
q =
'<textarea id=ta' + clickedLi + '-' + i + ' rows=10 onfocus="fixLinkOnFocus(\'ta' + clickedLi + '-' + i + '\')">'
+ dotsO + pta + t[l[i]] + t[l[i]+1].substring(0,b) + dotsC
+ '</textarea>';
q +=
'<div style="position:relative;left:5px;float:right;width:1px"><a id=taat' + clickedLi + '-' + i + ' href="javascript:toggleMoreContext(\'' + clickedLi + '-' + i + '\')">+</div><textarea rows=5 id=taa' + clickedLi + '-' + i + ' style=display:none>'
+ t[l[i]+1].substring(b)
+ '</textarea>';
pta='';
document.getElementById('diff' + clickedLi).innerHTML +=q;
if (true)//(!isredirect)
{
a = wikiText.indexOf('[[');
if (isamsterdamconstruction) {
hbl = '<input type=button value="' + wgTitle + ' (hoofdbetekenis)' + '" onClick="javascript:replaceLink(\'' + clickedLi + '-' + i + '\', \'' + escape(wgTitle + ' (hoofdbetekenis)') + '\')">';
} else {
hbl = '';
}
q=hbl;
while(a>-1)
{
b = wikiText.indexOf(']]',a+1);
if ((a > -1) && (b>-1))
{
lt=wikiText.substring(a+2,b);
c=lt.indexOf('|');
lt=(c>0) ? lt.substring(0,c) : lt;
d=lt.indexOf(':',1);
if ((d > 6) || (d < 1)) //ugly workaround for interwiki's
{
q += '<input type=button value="' + lt + '" onClick="javascript:replaceLink(\'' + clickedLi + '-' + i + '\', \'' + escape(lt) + '\')">';
}
}
a = wikiText.indexOf('[[',b+1);
}
if (typeof(lt) != 'undefined') {
z = '<span style=white-space:nowrap><input type=checkbox id=chtxt' + clickedLi + ' value="' + lt + '"> ' + txtChangeLinktext +'</span>';
} else {
z = '';
}
document.getElementById('diff' + clickedLi).innerHTML += '<div id=dab' + clickedLi + '-' + i + ' style=margin-bottom:.5em>' + q + z + '</div>';
}
}
if (i < 1)
{
cancelFix(clickedLi);
document.getElementById('li' + clickedLi).innerHTML += '<img src="//upload.wikimedia.org/wikipedia/commons/thumb/a/a2/X_mark.svg/20px-X_mark.svg.png">'+wgTitle;
document.getElementById('loading' + clickedLi).style.display='none';
} else {
document.getElementById('diff' + clickedLi).innerHTML += '<input type=input id=summ' + clickedLi + ' maxlength="200" size="60" >';
document.getElementById('diff' + clickedLi).innerHTML +=
'<input type=button value="' + txtSavePage + '" onClick="javascript:saveFix(' + clickedLi + ',' + l.length + ')">' // style=display:none>' //always preview until tested well
+'<input type=button value="' + txtPreview + '" onClick="javascript:previewFix(' + clickedLi + ',' + l.length + ')">'
+'<input type=button value="' + txtCancel + '" onClick="javascript:cancelFix(' + clickedLi + ')">';
document.getElementById('ta' + clickedLi + '-0').focus();
document.getElementById('loading' + clickedLi).style.display='none';
}
} else {
document.getElementById('editform' + clickedLi).wpTextbox1.value = '#REDIRECT ' + wikiText;
params = 'wpDiff=' + encodeURIComponent(document.getElementById('editform' + clickedLi).wpDiff.value);
params += '&wpEditToken=' + encodeURIComponent(document.getElementById('editform' + clickedLi).wpEditToken.value);
params += '&oldid=' + encodeURIComponent(document.getElementById('editform' + clickedLi).oldid.value);
params += '&wpStarttime=' + encodeURIComponent(document.getElementById('editform' + clickedLi).wpStarttime.value);
params += '&wpEdittime=' + encodeURIComponent(document.getElementById('editform' + clickedLi).wpEdittime.value);
params += '&wpTextbox1=' + encodeURIComponent(document.getElementById('editform' + clickedLi).wpTextbox1.value);
query= document.getElementById('editform' + clickedLi).action;
xmlhttp = HTTPClient();
if (!xmlhttp) return;
xmlhttp.open("POST", query, true);
xmlhttp.onreadystatechange = showDiff;
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(params);
}
}
function fixLink(li, title)
{
if (fixinglink)
{
alert(txtSaveCancel);
return;
}
fixinglink = 1;
clickedLi = li;
url='//es.wikipedia.org/w/index.php?title=' + title + '&action=edit';
document.getElementById('fix' + clickedLi).style.display='none';
document.getElementById('loading' + clickedLi).style.display='inline';
xmlhttp = HTTPClient();
if (!xmlhttp) return;
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange = fixLinkLoadForm;
xmlhttp.send(null);
}
//adds javascript links to a list
titles='';
function modifyList(id)
{
//alert(document.cookie);
l=document.getElementById(id);
l=l.getElementsByTagName('li');
for (i=0;i<l.length;i++)
{
span=l[i].getElementsByTagName('span')[0];
if (l[i].innerHTML.indexOf('</a> (' + txtRedirect + ') <span') > 0)
{
url=l[i].getElementsByTagName('a')[0].href;
title=url.substring(url.indexOf('?title=')+7, url.indexOf('&redirect='));
alert('+' + title);
//l[i].innerHTML.replace('</a> (' + txtRedirect + ') <span', '</a> (<b>' + txtRedirect + '</b>) <span');
d = 'style=display:none';
e = '';
} else {
url = l[i].getElementsByTagName('a')[0].href;
a = url.indexOf('&redirect=');
if (a > 0)
{
title=url.substring(url.indexOf('title=')+6, a);
} else {
title=url.substring(wgServer.length + 7 + document.location.href.indexOf('://'));
}
e = 'style=display:none';
d = '';
}
span.innerHTML = span.innerHTML.substring(0, span.innerHTML.length -1)
+ ' <a ' + d + ' href=\'javascript:openAjaxWhatLinksHere(' + trackLi + ',"'
+ encodeURIComponent(title) + '")\'> [' + txtShowLink + ']</a>'
+'<a ' + e + ' href="javascript:closeAjaxWhatLinksHere(' + trackLi
+ ')"> [' + txtHideLink
+ ']</a> <span id=loading' + trackLi + ' style=display:none>' + txtLoading + '</span>'
+ ' <a id=fix' + trackLi + ' href=\'javascript:fixLink(' + trackLi + ',"' + encodeURIComponent(title) + '")\'>[' + txtFix + ']</a>'
+ ' <a href="/w/index.php?title=' + title + '&action=edit">[' + txtEditTopLink + ']</a>'
+ ')';
span.getElementsByTagName('a')[0].innerHTML = '←';
ul = l[i].getElementsByTagName('ul')[0]; //if there's already an ul, put it at the end.
if (ul) {
ulh = '<ul>' + ul.innerHTML + '</ul>';
l[i].removeChild(ul);
} else {
ulh = '';
}
l[i].innerHTML=
'<span id=li' + (trackLi) + '>' + l[i].innerHTML
+ '<span id="diff' + trackLi + '"></span><span style=display:none id="hiddeneditform' + trackLi + '"></span></span>' + ulh;
trackLi++;
titles+='|' + title;
}
}
//User clicked hide
function closeAjaxWhatLinksHere(id)
{
li=document.getElementById('li' + id);
ul = li.getElementsByTagName('ul')[0];
li.removeChild(ul);
li.getElementsByTagName('span')[0].getElementsByTagName('a')[1].style.display='inline';
li.getElementsByTagName('span')[0].getElementsByTagName('a')[2].style.display='none';
}
//Http request complete: inject content
function insertAjaxWhatLinksHere()
{
if (xmlhttp.readyState != 4) return;
parser=new DOMParser();
xmlDoc=parser.parseFromString(xmlhttp.responseText,"text/xml");
newlinks=xmlDoc.getElementById('mw-whatlinkshere-list');
if (newlinks)
{
document.getElementById('li' + clickedLi).innerHTML+='<ul id=ul' + trackUl + '>' + newlinks.innerHTML + '</ul>';
document.getElementById('li' + clickedLi).getElementsByTagName('span')[0].getElementsByTagName('a')[2].style.display='inline';
document.getElementById('li' + clickedLi).getElementsByTagName('span')[0].getElementsByTagName('span')[0].style.display='none';
modifyList('ul' + trackUl++);
} else {
document.getElementById('li' + clickedLi).getElementsByTagName('span')[0].innerHTML='';
}
}
//User clicked expand
function openAjaxWhatLinksHere(li, title)
{
clickedLi=li;
l=document.getElementById('mw-whatlinkshere-list').getElementsByTagName('li');
parameters= document.location.href.indexOf('&');
parameters=(parameters > 0) ? document.location.href.substring(parameters) : '';
url='/w/index.php?title=Especial:LoQueEnlazaAquí/' + title + parameters;
document.getElementById('li' + clickedLi).getElementsByTagName('span')[0].getElementsByTagName('a')[1].style.display='none';
document.getElementById('li' + clickedLi).getElementsByTagName('span')[0].getElementsByTagName('span')[0].style.display='inline';
xmlhttp = HTTPClient();
if (!xmlhttp) return;
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange = insertAjaxWhatLinksHere;
xmlhttp.send(null);
}
//add Ajax controls to the list
function addAjaxWhatLinksHere()
{
document.getElementById('namespace').value = 0;
modifyList('mw-whatlinkshere-list');
}
function showPages()
{
if (xmlhttp.readyState != 4) return;
pageTitle=document.getElementById('contentSub').getElementsByTagName('a')[0].href
pageTitle=pageTitle.substring(pageTitle.indexOf('=')+1, pageTitle.indexOf('&'));
sm=document.getElementById('statusMsg');
sm.innerHTML+='.....';
parser=new DOMParser();
xmlDoc=parser.parseFromString(xmlhttp.responseText,"text/xml");
pages=xmlDoc.getElementsByTagName('page')
ul = document.getElementById('bodyContent').getElementsByTagName('ul')[0]
ul.innerHTML='';
for (i=0;i<pages.length;i++)
{
ul.innerHTML+='<li>'+pages[i].getAttribute("title") + '-';
pageText = pages[i].getElementsByTagName('rev')[0].childNodes[0].nodeValue;
var regexFindLink = RegExp('\\[\\['+ pageTitle + '\\]\\]','im');
a = regexFindLink.exec(xmlhttp.responseText);
ul.innerHTML+=' -' + pageText.substring(pageText.indexOf(a[0])-100,pageText.indexOf(a[0])+100);
ul.innerHTML+=' -' + a[0];
}
}
function loadPages()
{
query='//es.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&format=xml&titles=' + titles.substring(1);
document.getElementById('statusMsg').innerHTML=txtLoading;
xmlhttp = HTTPClient();
if (!xmlhttp) return;
xmlhttp.open("GET", query, true);
xmlhttp.onreadystatechange = showPages;
xmlhttp.send(null);
}
function showDisamb()
{
document.getElementById('showDisamb').style.display='none';
document.getElementById('hideDisamb').style.display='inline';
document.getElementById('dContent').style.display='inline';
}
function hideDisamb()
{
document.getElementById('showDisamb').style.display='inline';
document.getElementById('hideDisamb').style.display='none';
document.getElementById('dContent').style.display='none';
}
function insertControls2()
{
if (xmlhttp.readyState != 4) return;
parser=new DOMParser();
xmlDoc=parser.parseFromString(xmlhttp.responseText,"text/xml");
html=xmlDoc.getElementsByTagName('text')[0].childNodes[0].nodeValue;
document.getElementById('dContent').innerHTML=html;
if (isredirect)
{
document.getElementById('dContent').innerHTML =
'<img src="//bits.wikimedia.org/skins-1.5/common/images/redirectltr.png" alt="#REDIRECT "><span class="redirectText">'
+ document.getElementById('dContent').getElementsByTagName('p')[0].innerHTML
+ '</span>';
}
document.getElementById('statusMsg').innerHTML='';
}
//Displays if the page is a disambiguation page
isdisambiguation=false;
isredirect=false;
wikiText='';
function insertControls()
{
if (xmlhttp.readyState != 4) return;
var regexFindTemplates = RegExp('\\{\\{(' + disambiguationTemplates + ')(.*)\\}\\}','im');
a = regexFindTemplates.exec(xmlhttp.responseText);
if (a)
{
isdisambiguation=true;
isredirect=false;
txtPageType=txtDisambiguation;
} else {
var regexFindTemplates = RegExp('\\[\\[(' + wgTitle + '..desambiguación.' + ')(.*)\\]\\]','im');
b = regexFindTemplates.exec(xmlhttp.responseText);
if (b)
{
seemsToBeTheAmsterdamConstruction();
return;
} else {
var regexFindTemplates = RegExp('\\{\\{(' + 'zie dp' + ')','im');
b = regexFindTemplates.exec(xmlhttp.responseText);
if (b)
{
seemsToBeTheAmsterdamConstruction();
return;
}
}
var regexFindTemplates = RegExp('(' + redirectKeywords + ')','im');
a = regexFindTemplates.exec(xmlhttp.responseText);
if (a)
{
isredirect=true;
isdisambiguation=false;
txtPageType=txtRedirect;
} else {
return;
}
}
//create a fieldset for the disambiguator/redirect fixer
cs=document.getElementById('contentSub');
cs.innerHTML += ' (' + txtPageType + ')';
bc = document.getElementById('bodyContent');
y = bc.getElementsByTagName('fieldset')[0];
newNode = document.createElement("fieldset");
newNode.innerHTML =
'<fieldset><legend>' + txtFix + ' ' + txtPageType
//+ '<a href=\'javascript:loadPages()\'> [+]</a>'
+ ' <a id=showDisamb href=\'javascript:showDisamb()\'>[' + txtShowLink + ']</a>'
+ '<a id=hideDisamb style=display:none href=\'javascript:hideDisamb()\'>[' + txtHideLink + ']</a>'
+ '</legend><span id=statusMsg style=display:none></span><div id=dContent style=display:none></div></fieldset>';
document.getElementById('mw-content-text').getElementsByTagName('form')[0].innerHTML += newNode.innerHTML;
document.getElementById('namespace').value = 0; //set the namespace *again* which for some reason changed back
//parse the wikitext of the disambiguation page/redirect
wikiText = xmlhttp.responseText.replace(regexFindTemplates,'').trim();
params='action=parse&format=xml&title=' + wgTitle + '&text=' + wikiText;
query= mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php';
document.getElementById('statusMsg').innerHTML=txtLoading;
xmlhttp = HTTPClient();
if (!xmlhttp) return;
xmlhttp.open("POST", query, true);
xmlhttp.onreadystatechange = insertControls2;
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(params);
}
//Requests if the page is a disambiguation page
function isDisambiguation()
{
wgTitle = document.getElementById('mw-whatlinkshere-target').value; // <-- modify global wikipedia variable
title=encodeURIComponent(wgTitle);
url=mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + title + '&action=raw';
xmlhttp = HTTPClient();
if (!xmlhttp) return;
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange = insertControls;
xmlhttp.send(null);
}
function seemsToBeTheAmsterdamConstruction()
{
wgTitle = document.getElementById('mw-whatlinkshere-target').value; // <-- modify global wikipedia variable
title=encodeURIComponent(wgTitle + '_(desambiguación)');
isamsterdamconstruction = 1;
url=mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + title + '&action=raw';
xmlhttp = HTTPClient();
if (!xmlhttp) return;
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange = insertControls;
xmlhttp.send(null);
}
//tool to go to the title without the brackets
function bracketsremove()
{
h=document.location.href;
a=h.indexOf('_(');
if ((wgTitle.substr(-1) == ')') && (a> 0))
{
document.getElementById('firstHeading').innerHTML += ' <a href="'+h.substring(0,a) + h.substring(h.indexOf(')')+1)+'">←</a>';
}
}
if ((zmUseWhatLinksHere) && (wgCanonicalSpecialPageName=='Whatlinkshere'))
{
isDisambiguation();
addAjaxWhatLinksHere();
}
bracketsremove();
//</nowiki>