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

//     Modified by APerson for compatibility with {{UserStatus}}

// compatible with {{Statustop}} for display

 

$.when(

    $.ready,

    mw.loader.using(  "mediawiki.api"  )

).then( function () {

    // create variable to store configuration

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

        statusChangerConfig = {}

    }



    // check for configuration options, and set them to default values if

    // they're undefined



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

        statusChangerConfig.statusList =  'online', 'offline', 'sleeping' ];

    }



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

        statusChangerConfig.statusPage = 'User:' + mw.config.get('wgUserName') + '/Status';

    }



    function makeListener(newStatus) {

        return function ( evt ) {

            evt.preventDefault();

            var api = new mw.Api({

                ajax: { headers: { 'Api-User-Agent': '[[w:User:Enterprisey/StatusChanger.js]]' } }

            });



            api.postWithEditToken({

                action: 'edit',

                title: statusChangerConfig.statusPage,

                text: newStatus,

                summary: mw.config.get('wgUserName') + " is now " + ((newStatus === "sleep") ? "sleeping" : newStatus) + "."

            }).then(function(){

                api.post( { action: "purge", titles: 'User:' + mw.config.get('wgUserName') } );

                mw.notify('Done setting status!');

            });

            return false;

        };

    }



    //Add the links

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

        var stat = statusChangerConfig.statusListi];

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

        mw.util.addPortletLink(

            "p-personal", //target tab - personal links

            "#",

            stat, //link text

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

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

            "", // access key - no need to define one

            document.getElementById("pt-logout")) //add before logout button

        .addEventListener('click',makeListener(stat));

    }

});

//[[Category:Wikipedia scripts|statusChanger]]
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

//     Modified by APerson for compatibility with {{UserStatus}}

// compatible with {{Statustop}} for display

 

$.when(

    $.ready,

    mw.loader.using(  "mediawiki.api"  )

).then( function () {

    // create variable to store configuration

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

        statusChangerConfig = {}

    }



    // check for configuration options, and set them to default values if

    // they're undefined



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

        statusChangerConfig.statusList =  'online', 'offline', 'sleeping' ];

    }



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

        statusChangerConfig.statusPage = 'User:' + mw.config.get('wgUserName') + '/Status';

    }



    function makeListener(newStatus) {

        return function ( evt ) {

            evt.preventDefault();

            var api = new mw.Api({

                ajax: { headers: { 'Api-User-Agent': '[[w:User:Enterprisey/StatusChanger.js]]' } }

            });



            api.postWithEditToken({

                action: 'edit',

                title: statusChangerConfig.statusPage,

                text: newStatus,

                summary: mw.config.get('wgUserName') + " is now " + ((newStatus === "sleep") ? "sleeping" : newStatus) + "."

            }).then(function(){

                api.post( { action: "purge", titles: 'User:' + mw.config.get('wgUserName') } );

                mw.notify('Done setting status!');

            });

            return false;

        };

    }



    //Add the links

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

        var stat = statusChangerConfig.statusListi];

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

        mw.util.addPortletLink(

            "p-personal", //target tab - personal links

            "#",

            stat, //link text

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

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

            "", // access key - no need to define one

            document.getElementById("pt-logout")) //add before logout button

        .addEventListener('click',makeListener(stat));

    }

});

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

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook