Wikipedia:Velkomstscript/velkomst.js

/* Velkomstscript ver. 1.2 - Se Brugerdiskussion:Morten LJ/velkomst.js for mere info */

// Load settings, hvis de forskellige optioner ikke er sat, sæt dem til standard-værdien
if ((typeof welcome_msg) == "undefined") {
        welcome_msg = 'Hjertelig velkommen til Wikipedia!';
}
if ((typeof welcomeIP_msg) == "undefined") {
        welcomeIP_msg = 'Hjertelig velkommen til Wikipedia!';
}
if ((typeof welcometest_msg) == "undefined") {
        welcometest_msg = 'Velkommen til Wikipedia!';
}
if ((typeof welcometest2_msg) == "undefined") {
        welcometest2_msg = 'Jeg har opdaget, at dine redigeringer er i strid med vores politikker og normer';
}
if ((typeof welcometest3_msg) == "undefined") {
        welcometest3_msg = 'Stop med at vandalisere!';
}
if ((typeof welcomeminorchange) == "undefined") {
        welcomeminorchange = false;
}

// Support funktion, redigerer vi en IP?
function EditingIP(sText)
{
   var validnumbers = "0123456789";
   var validdots = '.';
   var IsIP = true;
   var Char;
   var dots = 0;
   var numbers = 0;

   // Gennemgå titlen char for char, start med at hoppe forbi "Redigerer Brugerdiskussion:"
   for (i = 27; i < sText.length; i++)
   {
      Char = sText.charAt(i);
      if (validdots.indexOf(Char) != -1)
      {
         if (numbers == 0)
         {
             IsIP = false;
             break;
         }
         dots++;
         numbers = 0;
      }
      else if (validnumbers.indexOf(Char) != -1)
      {
         numbers++
      }
      else
      {
         if (dots != 3)
         {
             IsIP = false;
         }
         break;
      }
   }
   return IsIP;  
}

// Wrapper-funktioner til hver knap (det er vigtigt at dele strings op med skabeloner for at "snyde" wiki-softwaren)
function welcome() { insertsubmit('Skabelon:'+'velkommen', welcome_msg + ' (skabelon:velkommen)') }
function welcomeIP() { insertsubmit('Skabelon:'+'velkommenIP', welcomeIP_msg + ' (skabelon:velkommenIP)') }
function welcometest() { insertsubmit('Skabelon:'+'test', welcometest_msg + ' (skabelon:test)') }
function welcometest2() { insertsubmit('Skabelon:'+'test2', welcometest2_msg + ' (skabelon:test2)') }
function welcometest3() { insertsubmit('Skabelon:'+'test3', welcometest3_msg + ' (skabelon:test3)') }

//
function insertsubmit(text, description)
{
    var txt = document.editform && document.editform.wpTextbox1;
    if(!txt) return;
    txt.value = txt.value + text;
    document.editform.wpSummary.value = description;
    document.editform.wpMinoredit.checked = welcomeminorchange;
    document.editform.submit();    
}

//Lav den tab der kalder welcome() når der bliver trykket på den
$(function ()
{
    if (document.title.indexOf("Redigerer Brugerdiskussion:") == 0 || document.title.indexOf("Opretter Brugerdiskussion:") == 0)  {
       mw.loader.using('mediawiki.util').done(function(){
          // mw.util.addPortletLink(where, url, name, id, title, key, after);
          if (EditingIP(document.title))
          {
              mw.util.addPortletLink('p-cactions', 'javascript:welcomeIP()', 'velkommenip', 'ca-welcome-IP', 'Tilføjer en velkomst-skabelon og gemmer', 'a',  );
          }
          else
          {
          mw.util.addPortletLink('p-cactions', 'javascript:welcome()', 'velkommen', 'ca-welcome', 'Tilføjer en velkomst-skabelon og gemmer', 'a',  );
          }
          mw.util.addPortletLink('p-cactions', 'javascript:welcometest()', 'test', 'ca-welcome-test', 'Tilføjer en velkomst-skabelon og gemmer', ,  );
          mw.util.addPortletLink('p-cactions', 'javascript:welcometest2()', 'test2', 'ca-welcome-test2', 'Tilføjer en velkomst-skabelon og gemmer', ,  );
          mw.util.addPortletLink('p-cactions', 'javascript:welcometest3()', 'test3', 'ca-welcome-test3', 'Tilføjer en velkomst-skabelon og gemmer', ,  );
       });
    }
});