From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.

//////////STATUS CHANGER

// Creator: Misza13

// Credits: Voyagerfan5761 for some minor improvements

// Modified by Xenocidic to simply use /Status as a one word indicator,

// Modified by Kraftlos to include Sleep status

// Again Modified by Rovine to include more status and fix error is edit summary 

// compatible with {{Statustop}} for display

 

addOnloadHook(function (){

  //Check if the config is defined

  if (typeof(statusChangerConfig) == 'undefined') {

    statusChangerConfig = {}

  }

 

  if (typeof(statusChangerConfig.statusList) == 'undefined') {

      statusChangerConfig.statusList =  '', '', '', 'online', 'busy', 'offline', 'school', 'sleeping', 'away', 'wikibreak', 'holiday', 'working', 'huggle' ];

  }

 

  if (typeof(statusChangerConfig.statusPage) == 'undefined') {

      statusChangerConfig.statusPage = 'User:' + wgUserName + '/Status';

  }

 

  //Add the links

  for (var i=0; i<statusChangerConfig.statusList.length; i++) {

    var stat = statusChangerConfig.statusListi];

    var message = (stat === "sleep") ?  link = "asleep" : link = stat;

    mw.util.addPortletLink(

      "p-status", //target tab - status

      mw.config.get('wgServer') + mw.config.get('wgScript') + "?title=" + statusChangerConfig.statusPage + "&action=edit&newstatus=" + stat, //link URL

      stat, //link text

      "pt-status-" + stat, //id of new button

      "I'm " + message + "!", //hover text

      "", //???

      document.getElementById("th-invite")); //add before logout button

  }

 

  if (location.href.indexOf("&action=edit&newstatus=") == -1) return; //Are we here to auto-edit the status?

  //Get new status

  statusRegExp = /&action=edit&newstatus=(.*)/;

  var status = statusRegExp.exec(location.href)[1];

  //Modify the form

  document.getElementById('wpTextbox1').value = status;

  if (status === "")

  { status = "somewhere"; }

    if (status == "school")

  { status = "in school"; }

  if (status == "wikibreak")

  { status = "on wikibreak"; }

  if (status == "holiday")

  { status = "on holiday"; }

  if (status == "huggle")

  { status = "on huggle"; }

  document.getElementById('wpSummary').value = wgUserName + " is now " + status +".  (Automatically changing user status). ";

  document.getElementById('wpMinoredit').checked = true;

  //Submit it!

  document.getElementById('editform').submit();

});

 

//[[Category:Wikipedia scripts|statusChanger]]