Fandom

Plants vs. Zombies Wiki

Comments10

Adding World Clock to Mediawiki:Common.js

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Hello everyone!

I see that user:Wildoneshelper from CCSW has implemented the World Clock feature on the wiki about a year ago so users can see what time it is on Wikia Community Central (UTC time).

The following is the code that should be copied and pasted on to Mediawiki:Common.js if it will be implemented. (It is much easier to click on "Edit this Blog post" and take the source that way for Admins). What do you guys think? Is this a good idea?

Note: To show your stance, please type {{Support|reason}}, {{Neutral|reason}} or {{Oppose|reason}}. The reason must be stated behind the | in order to not be disqualified. You must have been on the wiki for two weeks and have made 25 mainspace edits to vote.


See the following wiki for an example of the world clock. It is located at the very top of any page. www.candy-crush-saga.wikia.com



importScript('MediaWiki:Common.js/usertags.js');

importScriptPage('ShowHide/code.js', 'dev'); AjaxRCRefreshText = 'Auto-refresh'; AjaxRCRefreshHoverText = 'Auto-refreshes the page.'; ajaxPages = ["Special:RecentChanges", "Special:WikiActivity"]; importScriptPage('AjaxRC/code.js', 'dev'); importScriptPage('AjaxBatchDelete/code.js', 'dev');

importScriptPage('FastDelete/code.js', 'dev');

var fdButtons = [];

fdButtons[fdButtons.length] = {

   'summary': 'spam',
       'label': 'spam'

}; fdButtons[fdButtons.length] = {

   'summary': 'vandalism',
       'label': 'vandal'

}; importScriptPage('View_Source/code.js', 'dev');

importScriptPage('ListAdmins/code.js', 'dev');

importArticles({

       type: 'script',
       articles: [
               'w:c:dev:SignatureCheck/code.js',
       ]

});

importArticles({

   type: 'script',
   articles: [
       'u:dev:SearchSuggest/code.js'
   ]

});

// http://dev.wikia.com/wiki/RevealAnonIP window.RevealAnonIP = {

   permissions : ['rollback', 'sysop', 'bureaucrat', 'staff']

};


importArticles({

   type: "script",
   articles: [
       "w:c:dev:RevealAnonIP/code.js"
   ]

});

function updatetimer(i) {

   var now = new Date();
   var then = timers[i].eventdate;
   var diff = count = Math.floor((then.getTime() - now.getTime()) / 1000);

   // catch bad date strings
   if (isNaN(diff)) {
       timers[i].firstChild.nodeValue = '** ' + timers[i].eventdate + ' **';
       return;
   }

   // determine plus/minus
   if (diff < 0) {
       diff = -diff;
       var tpm = ' ';
   } else {
       var tpm = ' ';
   }

   // calcuate the diff
   var left = (diff % 60) + ' seconds';
   diff = Math.floor(diff / 60);
   if (diff > 0) left = (diff % 60) + ' minutes ' + left;
   diff = Math.floor(diff / 60);
   if (diff > 0) left = (diff % 24) + ' hours ' + left;
   diff = Math.floor(diff / 24);
   if (diff > 0) left = diff + ' days ' + left
   timers[i].firstChild.nodeValue = tpm + left;

   // a setInterval() is more efficient, but calling setTimeout()
   // makes errors break the script rather than infinitely recurse
   timeouts[i] = setTimeout('updatetimer(' + i + ')', 1000);

}

function checktimers() {

   //hide 'nocountdown' and show 'countdown'
   var nocountdowns = getElementsByClassName(document, 'span', 'nocountdown');
   for (var i in nocountdowns) nocountdowns[i].style.display = 'none'
   var countdowns = getElementsByClassName(document, 'span', 'countdown');
   for (var i in countdowns) countdowns[i].style.display = 'inline'

   //set up global objects timers and timeouts.
   timers = getElementsByClassName(document, 'span', 'countdowndate'); //global
   timeouts = new Array(); // generic holder for the timeouts, global
   if (timers.length == 0) return;
   for (var i in timers) {
       timers[i].eventdate = new Date(timers[i].firstChild.nodeValue);
       updatetimer(i); //start it up
   }

} addOnloadHook(checktimers);

function liveClock() {

   var link = wgServer + wgScriptPath + '/index.php?title=' + encodeURIComponent(wgPageName) + '&action=purge';
   if (skin == 'monobook') {
$('#p-personal .pBody ul').append('
  • <a href="' + link + '"></a></li>'); } else if (skin == 'oasis') { $('#WikiaPage #WikiHeader div.buttons').prepend('
    <a href="' + link + '"></a>
    ');
       }
       $('#utcdate').css({
           fontSize: 'larger',
           fontWeight: 'bolder',
           textTransform: 'none'
       });
    
       //showTime();        
    

    } addOnloadHook(liveClock);

    //
    // ============================================================
    // displayTimer
    // ============================================================
     
    var refreshDate;
     
    function addDate() {
        var UTCDate = ((new Date()).toUTCString()).replace("GMT", "(UTC)");
        $('#showdate').empty().append('<span style="font-weight: bold; text-transform: none;"><a title="Purge the server cache and update the contents of this page." href="' + wgArticlePath.replace('$1', wgPageName.replace(/ /g, '_')) + '?action=purge">' + UTCDate.substring(5) + '</a></span>');
        window.clearTimeout(refreshDate);
        refreshDate = window.setTimeout(addDate, 1000);
    }
     
    $(document).ready(function () {
        if (skin == 'oasis') $('<li id="displayTimer"><span id="showdate"></span></li>').appendTo('#GlobalNavigation');
        else $('#p-personal ul').prepend('<li><span id="showdate"></span></li>');
        addDate();
        refreshDate = window.setTimeout(addDate, 5000);
        $('#displayTimer').css({
            'font-size': "12px"
        });
    });
    //

    function importScriptPage (page, server) { var url = '/index.php?title=' + encodeURIComponent(page.replace(/ /g,'_')).replace('%2F','/').replace('%3A',':') + '&action=raw&ctype=text/javascript'; if (typeof server == "string") url = (server.indexOf('://') == -1)?'http://' + server + '.wikia.com' + url:server + url; return importScriptURI(url); }

    /* Replaces User with the name of the user browsing the page.

      Requires copying Template:USERNAME. */
    
    

    $(function() {

       if (window.disableUsernameReplace || mw.config.get('wgUserName') === null) return;
       $('span.insertusername').html(mw.config.get('wgUserName'));
    

    });

    /* End of the User replacement */

  • Also on Fandom

    Random Wiki