Jump to content

MediaWiki:Common.js

From Megabonk Wiki
Revision as of 23:09, 4 October 2025 by MegaAdmin (talk | contribs)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
mw.loader.using(['mediawiki.api'],function(){
if(!$('.build-layout-container .vote').length)return;
var api=new mw.Api(),title=mw.config.get('wgPageName')||'',THROTTLE=30,last=0;
function touch(){
var now=Date.now();if(now-last<THROTTLE*1000)return;last=now;
api.get({action:'query',prop:'revisions',rvprop:'content|timestamp',rvslots:'main',titles:title,format:'json'}).done(function(r){
var pages=r.query&&r.query.pages;if(!pages)return;var p=pages[Object.keys(pages)[0]];
if(!p||!p.revisions||!p.revisions.length)return;var rev=p.revisions[0];
var text=(rev.slots&&rev.slots.main&&rev.slots.main['*'])||rev['*']||'';var ts=rev.timestamp;
var m=/<!--\s*VOTE_TOUCH:\s*([^>]*)\s*-->/i;var d=new Date(),z=function(n){return n<10?'0'+n:n;};
var stamp=''+d.getUTCFullYear()+z(d.getUTCMonth()+1)+z(d.getUTCDate())+z(d.getUTCHours())+z(d.getUTCMinutes())+z(d.getUTCSeconds());
if(m.test(text))text=text.replace(m,'<!-- VOTE_TOUCH: '+stamp+' -->');else text+='\n<!-- VOTE_TOUCH: '+stamp+' -->\n';
api.postWithToken('csrf',{action:'edit',title:title,text:text,summary:'Refresh build votes (auto)',minor:1,bot:1,basetimestamp:ts});
});
}
var t=null,obs=new MutationObserver(function(){if(t)clearTimeout(t);t=setTimeout(touch,600);});
obs.observe(document.body,{childList:true,subtree:true,characterData:true});
});