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
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
// <nowiki>
// all credits to Ireas, siehe [[Benutzer:Ireas/Gadget-Commonsverschiebung.js]]
// require jquery
if (typeof($j) == "undefined")
document.write('<script type="text/javascript" src="http://bits.wikimedia.org/skins-1.5/common/jquery.min.js?270z54"></script>');
CommonsTransfer = {
tabParentId: "p-cactions",
mrawesomeness: [ "Isderion" ],
isChecker: function()
{
for (i = 0; i < CommonsTransfer.mrawesomeness.length; i++)
if (wgUserName == CommonsTransfer.mrawesomeness[i])
return true;
for (i = 0; i < wgUserGroups.length; i++)
if (wgUserGroups[i] == "sysop")
return true;
return false;
},
addPortletLink: function()
{
var url = "javascript:CommonsTransfer.askNewName();";
mw.util.addPortletLink(CommonsTransfer.tabParentId, url, "Nach Commons verschieben", "ca-tocommons-template", "Per Bot nach Commons verschieben lassen");
},
addTemplate: function()
{
var newName = document.getElementById("CV_input").value;
if (newName.match(/^\s*$/) != null)
jsMsg("Vorgang abgebrochen.");
else {
if (CommonsTransfer.isChecker()) {
CommonsTransfer.check(wgTitle, newName);
} else {
jsMsg("Trage Vorlage ein…");
$.ajax({ type: "GET",
url: wgServer + wgScript,
data: { title: wgPageName, action: "edit" },
success: function(text) { CommonsTransfer.doTemplateQuery(text, newName); } });
}
}
},
getData: function(text)
{
var node = document.createElement("div");
node.innerHTML = text;
var data = null;
var nodes = node.getElementsByTagName("form");
for (var i = 0; i < nodes.length; i++)
{
var n = nodes[i];
if (n.id != "editform")
continue;
data = { wpSection: n.wpSection.value,
wpStarttime: n.wpStarttime.value,
wpEdittime: n.wpEdittime.value,
wpScrolltop: n.wpScrolltop.value,
wpAutoSummary: n.wpAutoSummary.value,
oldid: n.oldid.value,
wpTextbox1: n.wpTextbox1.value,
wpEditToken: n.wpEditToken.value,
wpSummary: n.wpSummary.value,
wpMinoredit: n.wpMinoredit.value,
wpWatchthis: n.wpWatchthis.value,
wpSave: n.wpSave.value };
}
return data;
},
doTemplateQuery: function(text, new_name)
{
var data = CommonsTransfer.getData(text);
if (!data) {
CommonsTransfer.error("no data");
return;
}
data.action = "submit";
data.title = wgPageName;
data.wpTextbox1 += "\n{{subst:Nach Commons verschieben|" + new_name + "}}";
data.wpSummary = "Markiere Datei zum Commons-Transfer nach [[:commons:File:" + new_name + "]]";
$.ajax({ type: "POST",
url: wgServer + wgScript,
data: data,
success: function(text) { jsMsg("Vorlage eingetragen!"); location.reload(); } });
},
askNewName: function()
{
window.scroll(0, 0);
var defaultName = wgTitle;
var code = "<b><big>Datei zum Commons-Transfer markieren</big></b><br /><form><label for='CV_input'>Neuer Dateiname:</label> <input type='text' name='CV_input' id='CV_input' value='" + defaultName + "' size='60' /><br /><input type='submit' value='Eintragen' onclick='CommonsTransfer.addTemplate()' /></form><br /><small><strong>Hinweis:</strong> Bitte beachte, dass nur dann ein abweichender Dateiname gewählt werden sollte, wenn es dafür einen <a href='http://commons.wikimedia.org/wiki/Commons:Dateien_verschieben#Welche_Dateien_sollten_umbenannt_werden.3F'>triftigen Grund</a> gibt.</small>";
jsMsg(code);
},
error: function(msg)
{
jsMsg("Ein Fehler ist aufgetreten: <code>" + msg + "</code>");
},
addCheckLink: function()
{
var cs = document.getElementById("cv-check-link");
if (!cs) return;
var a = document.createElement("a");
a.onclick = CommonsTransfer.check;
a.appendChild(document.createTextNode("Bestätigen."));
cs.appendChild(a);
},
check: function(localName, commonsName)
{
if (localName && commonsName) {
var currentName = localName;
var newName = commonsName;
} else {
var ln = document.getElementById("localName");
var cn = document.getElementById("commonsName");
if (!ln || !cn) return;
var currentName = ln.innerHTML;
var newName = cn.innerHTML;
}
if (!CommonsTransfer.isChecker())
return;
window.scroll(0, 0);
jsMsg("Bestätige Verschiebungswunsch…");
$.ajax({ type: "GET",
url: wgServer + wgScript,
data: { title: "Wikipedia:Commons-Transfer per Bot/Anfragen", action: "edit" },
success: function(text) { CommonsTransfer.doCheckQuery(text, currentName, newName); } });
},
doCheckQuery: function(text, currentName, newName)
{
var data = CommonsTransfer.getData(text);
if (!data) {
CommonsTransfer.error("no data");
return;
}
data.title = "Wikipedia:Commons-Transfer per Bot/Anfragen";
data.action = "submit";
data.wpTextbox1 = data.wpTextbox1 + "\n<request local=\"" + currentName + "\" commons=\"" + newName + "\" />";
data.wpSummary = "Bestätige Transferwunsch: [[:Datei:" + currentName + "]] → [[:commons:File:" + newName + "]]";
$.ajax({ type: "POST",
url: wgServer + wgScript,
data: data,
success: function(text) { CommonsTransfer.addCheckedTemplate(currentName, newName); } });
},
addCheckedTemplate: function(currentName, newName)
{
$.ajax({ type: "GET",
url: wgServer + wgScript,
data: { title: "Datei:" + currentName, action: "edit" },
success: function(text) { CommonsTransfer.doCheckedTemplateQuery(text, currentName, newName); } });
},
doCheckedTemplateQuery: function(text, currentName, newName)
{
var data = CommonsTransfer.getData(text);
if (!data) {
CommonsTransfer.error("no data");
return;
}
data.title = "Datei:" + currentName;
data.action = "submit";
data.wpTextbox1 = data.wpTextbox1.replace(/{{Commonsfähig.*?}}/, "");
data.wpTextbox1 = data.wpTextbox1.replace(/{{Nach Commons verschieben \(Bestätigung nötig\).*?}}/, "");
data.wpTextbox1 = data.wpTextbox1 + "{{Nach Commons verschieben (bestätigt)|1=" + newName + "}}";
data.wpSummary = "Transferwunsch bestätigt.";
$.ajax({ type: "POST",
url: wgServer + wgScript,
data: data,
success: function(text) { jsMsg("Transferwunsch bestätigt!"); } });
},
init: function()
{
if (wgCanonicalNamespace != "File" || wgArticleId == 0)
return;
CommonsTransfer.addPortletLink();
if (CommonsTransfer.isChecker())
CommonsTransfer.addCheckLink();
}
};
$(CommonsTransfer.init);
// </nowiki>