Benutzer:DerHexer/wd.js
Zur Navigation springen
Zur Suche springen
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Strg+F5
// <nowiki>
function newRequest() {
try {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else {
return new ActiveXObject("MSXML2.XMLHTTP");
}
} catch (e) {
return false;
}
}
// get URL parameters (used for page type variables)
var UrlParameters = new Array ();
readparams();
function readparams() {
var asReadInUrlParameters;
var asReadInUrlParameter;
// Get URL parameters
asReadInUrlParameters = location.search.substring(1, location.search.length).split("&");
for (i = 0; i < asReadInUrlParameters.length; i++) {
asReadInUrlParameter = asReadInUrlParameters[i].split("=");
UrlParameters[decodeURIComponent(asReadInUrlParameter[0])] = decodeURIComponent(asReadInUrlParameter[1]);
}
}
function addshortcutwd() {
var namespace = '';
if(location.href.search(/Wikipedia\:/)!=-1) { namespace = "WP:"; } else if (location.href.search(/Diskussion\:/)!=-1) { namespace = "WD:"; }
//alert(namespace);
var newshortcut = UrlParameters['shortcutname'];
if (document.editform.wpTextbox1.value.search(/\{\{[sS]hortcut/)==-1) {
var newline = document.editform.wpTextbox1.value.match(/\n/);
document.editform.wpTextbox1.value = '{{Shortcut|' + namespace + newshortcut + '}}' + newline + document.editform.wpTextbox1.value;
} else {
var getshortcut = document.editform.wpTextbox1.value.match(/\{\{[sS]hortcut\|.*?\}\}/);
getshortcut = String(getshortcut);
//alert(getshortcut);
var getshortcutnames = getshortcut.match(/\|.*?\}/);
getshortcutnames = String(getshortcutnames);
getshortcutnames = getshortcutnames.replace(/\|/,'').replace(/\}/,'');
//alert(getshortcutnames);
regexnewshortgut = new RegExp(namespace + newshortcut.replace(/\//g,'\\/').replace(/\[/g,'\\[').replace(/\]/g,'\\(').replace(/\(/g,'\\(').replace(/\)/g,'\\)').replace(/\./g,'\\.').replace(/\?/g,'\\?').replace(/\{/g,'\\{').replace(/\}/g,'\\}').replace(/\*/g,'\\*').replace(/\$/g,'\\$').replace(/\^/g,'\\^'));
//alert(regexnewshortgut);
if (getshortcut.search(regexnewshortgut)==-1) {
getshortcutnames = getshortcutnames + "," + namespace + newshortcut;
var replaceshortcut = new RegExp(getshortcut, 'i');
document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace(getshortcut, '{{Shortcut|' + getshortcutnames + '}}')
}
}
document.editform.wpMinoredit.checked=true;
document.editform.wpSummary.value = "Shortcut „" + namespace + newshortcut + "“ ergänzt.";
document.editform.wpSave.click();
window.setTimeout(function() { window.close(); }, 1000);
}
if (UrlParameters['addshortcut']) $(addshortcutwd);
function createwd() {
if (req = newRequest()) {
var text = '/w/api.php?format=xml&action=query&list=allpages&apfrom=&apnamespace=4&aplimit=5000&apfilterredir=redirects&apfrom=S';
req.open("GET", text, false);
req.send("");
var getallwpredirs = req.responseXML.getElementsByTagName("p");
if (req4 = newRequest()) {
req4.open("GET", "/w/api.php?format=xml&action=query&prop=info&intoken=edit&titles=$", false);
req4.send("");
var token = req4.responseXML.getElementsByTagName("page")[0].getAttribute("edittoken");
}
var counter = 0;
if (token) {
for(i=0;i<getallwpredirs.length;i++){
//if(counter == 20) break;
var thiswpredir = getallwpredirs[i].getAttribute('title').replace('Wikipedia:','');
//alert(thiswpredir);
var thiswpredir = prompt('Fortfahren?', thiswpredir);
if(thiswpredir != '0') {
if (req2 = newRequest()) {
var text = '/w/api.php?action=query&format=xml&redirects&titles=Wikipedia:'+thiswpredir;
req2.open("GET", text, false);
req2.send("");
var completewppage = req2.responseXML.getElementsByTagName("page");
if (completewppage) {
completewppage = completewppage[0].getAttribute('title');
if(!completewppage) continue;
completewppage = completewppage.replace('Wikipedia:','');
if (req3 = newRequest()) {
var text = '/w/api.php?format=xml&action=query&list=allpages&apnamespace=5&aplimit=1&apfilterredir=nonredirects&apfrom='+completewppage;
req3.open("GET", text, false);
req3.send("");
var completewdpage = req3.responseXML.getElementsByTagName("p");
if (completewdpage) {
completewdpage = completewdpage[0].getAttribute('title');
if(!completewdpage) continue;
completewppage = 'Wikipedia Diskussion:' + completewppage;
//alert(completewdpage);
//alert(completewppage);
if(completewdpage != completewppage) continue;
if (req4 = newRequest()) {
var text = '/w/api.php?format=xml&action=query&list=allpages&apnamespace=101&aplimit=1&apfrom='+thiswpredir;
req4.open("GET", text, false);
req4.send("");
var nextlink = req4.responseXML.getElementsByTagName("p");
if (nextlink) {
nextlink = nextlink[0].getAttribute('title');
if(!nextlink) continue;
nextlink = nextlink.replace('Wikipedia.Diskussion.','');
if(thiswpredir == nextlink) continue;
if (req6 = newRequest()) {
var test = "/w/api.php?action=edit&title=Wikipedia_Diskussion:" + thiswpredir + "&text=" + encodeURIComponent('#') + "REDIRECT [[" + completewdpage + "]]&token=" + encodeURIComponent(token) + "&minor&bot&createonly";
//alert(test);
req6.open("POST", test, true);
req6.send(test);
if (req7 = newRequest()) {
var text = '/w/api.php?format=xml&action=query&prop=revisions&rvlimit=1&rvprop=content&titles='+completewdpage;
req7.open("GET", text, false);
req7.send("");
var wdcompletetext = req7.responseXML.getElementsByTagName("rev")[0];
var tempregexp = 'WD\:' + thiswpredir.replace(/\//g,'\\/').replace(/\[/g,'\\[').replace(/\]/g,'\\(').replace(/\(/g,'\\(').replace(/\)/g,'\\)').replace(/\./g,'\\.').replace(/\?/g,'\\?').replace(/\{/g,'\\{').replace(/\}/g,'\\}').replace(/\*/g,'\\*').replace(/\$/g,'\\$').replace(/\^/g,'\\^');
var regexpthiswpredir = new RegExp(tempregexp);
var url = '//de.wikipedia.org/w/index.php?action=edit&title=' + completewdpage + '&addshortcut=1&shortcutname=' + thiswpredir;
var url2 = url.replace(/\sDiskussion\:/, ':');
if(wdcompletetext.childNodes[0].nodeValue.search(regexpthiswpredir)==-1) {
//alert(regexpthiswpredir);
window.open(url);
window.open(url2);
counter++;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
if (mw.config.get('wgPageName') == 'Benutzer:DerHexer/WD' && mw.config.get('wgAction') == 'edit') $(createwd);
// </nowiki>