User:Martin Rulsch (WMDE)/vector.js

Note: After saving, you have to bypass your browser's cache to see the changes. Internet Explorer: press Ctrl-F5, Mozilla: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Opera/Konqueror: press F5, Safari: hold down Shift + Alt while clicking Reload, Chrome: hold down Shift while clicking Reload.
 // <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])) + "&section=new&recreate&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(wgNamespaceNumber==2) 
 {
  $(function() 
  { 
    mediaWiki.util.addPortletLink('p-tb', "javascript:addnotes();", "Massendiskus", 't-massendiskus', 'Diskussionsbeiträge an diverse Personen verschicken', '', '');
  });
 }
 
 // </nowiki>