Benutzer:DerHexer/massendiskus.js
(Weitergeleitet von Benutzer:DerHexer/ansprache.js)
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>
function newRequest()
{
try {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else {
return new ActiveXObject("MSXML2.XMLHTTP");
}
} catch (e) {
return false;
}
}
// <nowiki>
function addnotes() {
var users = prompt("Bitte hier die anzuschreibenden Personen mit Semikola aufzählen (bspw.: DerHexer;TheWizard).", "");
if(users){
var subject = prompt("Bitte hier die Betreffszeile für alle Nachrichten nennen.", "");
if(subject){
var texttoadd = prompt("Bitte hier den zu verschickenden Text mit allen Formatierungen hineinkopieren und anstelle der anzuschreibenden Person jeweils $$$ setzen (alternativ eine Vorlage). Bspw. „Hallo $$$! Schau mal auf deine Disku unter [[BD:$$$]].“ ergäbe „Hallo DerHexer! Schau mal auf deine Disku unter [[BD:DerHexer]].“ oder eben {{subst:Benutzer:DerHexer/Regensburg}}.", "");
if(texttoadd){
var pages = users.split(/\;\s{0,}/);
var req = newRequest();
if (req) {
var text = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=tokens';
req.open("GET", text, false);
req.send("");
var getrequest = req.responseXML.getElementsByTagName('tokens');
if (getrequest) {
var gettoken = getrequest[0].getAttribute('csrftoken');
if (gettoken) {
for (i=0;i<pages.length;i++)
{
var req2 = newRequest();
if (req2) {
var text2 = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + "/api.php?action=edit&title=User_talk:" + pages[i] + "&text=" + encodeURIComponent(texttoadd.replace(/\$\$\$/g, pages[i])) + "§ion=new&recreate=1&redirect=1&summary=" + encodeURIComponent(subject);
// alert(text2);
req2.open("POST", text2, true);
req2.setRequestHeader('Content-type','application/x-www-form-urlencoded');
req2.send(text2 + "&token=" + encodeURIComponent(gettoken));
}
}
}
}
}
alert("Versand erfolgreich.");
}
}
}
}
if(mw.config.get('wgNamespaceNumber')==2)
{
$(function()
{
mediaWiki.util.addPortletLink('p-tb', "javascript:addnotes();", "Massendiskus", 't-massendiskus', 'Diskussionsbeiträge an diverse Personen verschicken', '', '');
});
}
// </nowiki>