// <nowiki>
switch (mw.config.get('wgUserLanguage')){
case 'de':
case 'de-at':
case 'de-ch':
case 'de-formal':
var configmassenmail = new Array('Bitte hier die anzuschreibenden Personen mit Semikola aufzählen (bspw.: DerHexer;TheWizard).',
'Bitte hier die Betreffszeile für alle Wikimails nennen.',
'Bitte hier den zu verschickenden Text mit allen Formatierungen hineinkopieren und anstelle der anzuschreibenden Person jeweils $$$ setzen. Bspw. „Hallo $$$! Schau mal auf deine Disku unter ].“ ergäbe „Hallo DerHexer! Schau mal auf deine Disku unter ].“.',
'Möchte ich für jede verschickte E-Mail eine Kopie an mich gesendet haben? (Antwortmöglichkeiten: Ja, Nein)',
'Versand erfolgreich.',
'Versand teilweise erfolgreich. Folgende Personen haben die Wikimail-Funktion nicht aktiviert: ',
'Massenmail',
'Mails an diverse Personen verschicken',
'Ja',
'Nein'); // 10
break;
default:
var configmassenmail = new Array('Please enter the people to be contacted separated by semicolon, e.g.: TheWizard;DerHexer',
'Please enter the subject for all wikimails.',
'Please paste the fully formatted text. You can replace the person to contact with $$$, e.g. “Hi $$$, have a look at your ].” becomes “Hi TheWizard, have a look at your ].”, etc.',
'Send me a copy of each wikimail. (choices: Yes, No)',
'Emailing successful.',
'Emailing partly successful. Following users do not have activated their wikimail function: ',
'massmail',
'Send wikimails to several users',
'Yes',
'No'); // 10
}
function newRequest()
{
try {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else {
return new ActiveXObject("MSXML2.XMLHTTP");
}
} catch (e) {
return false;
}
}
function addmails() {
var users_nomail = new Array();
var counter_users_nomail = 0;
var users = prompt(configmassenmail, "");
if(users){
var subject = prompt(configmassenmail, "");
if(subject){
var texttoadd = prompt(configmassenmail, "");
if(texttoadd){
var copymyself = prompt(configmassenmail, configmassenmail);
if(copymyself){
var array_users = 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.getAttribute('csrftoken');
if (gettoken) {
for (i=0;i<array_users.length;i++){
var req3 = newRequest();
if (req3) {
var text = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&list=users&ususers=' + array_users + '&usprop=emailable';
req3.open("GET", text, false);
req3.send("");
var getreq3 = req3.responseXML.getElementsByTagName('user');
if(getreq3.getAttribute('emailable') == null) {
users_nomail = array_users;
counter_users_nomail++;
}
}
var req2 = newRequest();
if (req2) {
var texttoadd2 = texttoadd.replace(/\$\$\$/g, array_users).replace(/\\n/g, "%0A").replace(/\s\s/g, "%0A%0A").replace(/\&/g, "%26");
var text = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + "/api.php?action=emailuser&target=" + array_users + "&text=" + texttoadd2 + "&subject=" + subject;
if(copymyself.toLowerCase() == configmassenmail.toLowerCase()) text = text + "&ccme=1";
req2.open("POST", text, true);
req2.setRequestHeader('Content-type','application/x-www-form-urlencoded');
req2.send(text + "&token=" + encodeURIComponent(gettoken));
}
}
}
}
}
if(counter_users_nomail == 0) {
alert(configmassenmail);
} else {
alert(configmassenmail + users_nomail);
}
}
}
}
}
}
if((mw.config.get('wgNamespaceNumber')==2) || (mw.config.get('wgNamespaceNumber')==3))
{
$(function()
{
mediaWiki.util.addPortletLink('p-tb', "javascript:addmails();", configmassenmail, 't-massmail', configmassenmail, '', '');
});
}
// </nowiki>