Mudanças entre as edições de "MediaWiki:Common.js"
Ir para navegação
Ir para pesquisar
(27 revisões intermediárias por 4 usuários não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
+ | (function(){ |
||
− | /* SOPA */ |
||
− | (function (){ |
||
− | var root = this; |
||
+ | function on_load(){ |
||
− | var SopaBlackout = function(){}; |
||
− | var addEvent = function(obj, type, fn, ref_obj){ |
||
− | if (obj.addEventListener){ |
||
− | obj.addEventListener(type, fn, false); |
||
− | }else if (obj.attachEvent){ |
||
− | obj["e"+type+fn] = fn; |
||
− | obj[type+fn] = function(){ |
||
− | obj["e"+type+fn](window.event,ref_obj); |
||
− | }; |
||
− | obj.attachEvent("on"+type, obj[type+fn]); |
||
− | } |
||
− | }; |
||
− | // Thanks http://javascript.nwbox.com/IEContentLoaded/ |
||
− | // for this |
||
− | var IEContentLoaded = function(w, fn) { |
||
− | var d = w.document, done = false, |
||
− | init = function () { |
||
− | if (!done) { |
||
− | done = true; |
||
− | fn(); |
||
− | } |
||
− | }; |
||
− | (function () { |
||
− | try { |
||
− | d.documentElement.doScroll('left'); |
||
− | } catch (e) { |
||
− | setTimeout(arguments.callee, 50); |
||
− | return; |
||
− | } |
||
− | init(); |
||
− | })(); |
||
− | d.onreadystatechange = function() { |
||
− | if (d.readyState == 'complete') { |
||
− | d.onreadystatechange = null; |
||
− | init(); |
||
− | } |
||
− | }; |
||
− | } |
||
− | var onDomReady = function(fn){ |
||
− | if (document.addEventListener){ |
||
− | document.addEventListener('DOMContentLoaded', fn, false); |
||
− | }else{ |
||
− | IEContentLoaded(window, fn); |
||
− | } |
||
− | }; |
||
− | var getStyle = function(e, prop){ |
||
− | if (e.currentStyle){ |
||
− | return e.currentStyle[prop]; |
||
− | }else if (document.defaultView && document.defaultView.getComputedStyle){ |
||
− | return document.defaultView.getComputedStyle(e, "")[prop]; |
||
− | }else{ |
||
− | return e.style[prop]; |
||
− | } |
||
− | }; |
||
− | var findPos = function(obj){ |
||
− | var curleft = 0; |
||
− | var curtop = 0; |
||
− | if (obj.offsetParent){ |
||
− | do{ |
||
− | curleft += obj.offsetLeft; |
||
− | curtop += obj.offsetTop; |
||
− | }while(obj = obj.offsetParent); |
||
− | } |
||
− | return [curleft, curtop]; |
||
− | }; |
||
− | var txt = function(s){ |
||
− | return document.createTextNode(s); |
||
− | }; |
||
− | var create = function(e, props){ |
||
− | var elem = document.createElement(e); |
||
− | var props = props !== null ? props : {}; |
||
− | for (var key in props){ |
||
− | if (key == 'href'){ |
||
− | elem.href = props[key]; |
||
− | }else{ |
||
− | elem.style[key] = props[key]; |
||
− | } |
||
− | } |
||
− | l = arguments.length; |
||
− | for (var i=2; i<l; i++){ |
||
− | elem.appendChild(arguments[i]); |
||
− | } |
||
− | return elem; |
||
− | }; |
||
− | var getOpts = function(){ |
||
− | var ret = {}; |
||
− | for (var key in SopaBlackout.DEFAULTS){ |
||
− | var k = 'sopablackout_' + key; |
||
− | ret[key] = (typeof window[k] === 'undefined') ? SopaBlackout.DEFAULTS[key] : window[k]; |
||
− | } |
||
− | return ret; |
||
− | }; |
||
− | var dateMatches = function(spec){ |
||
− | spec.push(false); spec.push(false); spec.push(false); |
||
− | var today = new Date(); |
||
− | if ((spec[0] !== false && today.getFullYear() !== spec[0]) || |
||
− | (spec[1] !== false && today.getMonth() + 1 !== spec[1]) || |
||
− | (spec[2] !== false && today.getDate() !== spec[2])){ |
||
− | return false; |
||
− | } |
||
− | return true; |
||
− | }; |
||
+ | // Epoch 0: momento da fundação do Garoa Hacker Clube! |
||
− | SopaBlackout.VERSION = '0.2.0'; |
||
+ | // Veja http://garoa.net.br/wiki/Epoch0 |
||
− | SopaBlackout.MIN_HEIGHT = 100; |
||
+ | var epoch = 1298244863; |
||
− | SopaBlackout.HEADER_TEXT = "É assim que a web pode ficar se o \"Stop Online Piracy Act\" for aprovado."; |
||
− | SopaBlackout.CONTINUE_TEXT = "(clique em qualquer lugar para continuar)"; |
||
− | SopaBlackout.ZINDEX = Math.pow(2, 31) - 2; |
||
− | SopaBlackout.DEFAULTS = { |
||
− | 'id': false, |
||
− | 'srsbzns': false, |
||
− | 'on': false |
||
− | }; |
||
− | SopaBlackout.blackout = function(opts){ |
||
− | var obj; |
||
− | var body = document.body; |
||
− | if (opts['id'] === false){ |
||
− | obj = body; |
||
− | height = "100%"; |
||
− | }else{ |
||
− | obj = document.getElementById(opts['id']); |
||
− | var height = parseInt(getStyle(obj, 'height'), 10); |
||
− | height = height > SopaBlackout.MIN_HEIGHT ? height : SopaBlackout.MIN_HEIGHT; |
||
− | } |
||
− | var offsets = findPos(obj); |
||
+ | var garoa_msecs = document.createElement("li"); |
||
− | var blackout = create('div', { |
||
+ | garoa_msecs.setAttribute("id", "footer-garoa-msecs"); |
||
− | position: 'absolute', |
||
+ | document.getElementById("footer-places").appendChild(garoa_msecs); |
||
− | top: offsets[1], |
||
− | width: '100%', |
||
− | backgroundColor: 'black', |
||
− | textAlign: 'center', |
||
− | paddingTop: '10px', |
||
− | zIndex: SopaBlackout.ZINDEX, |
||
− | height: height, |
||
− | color: '#999'}, |
||
− | create('h1', {color: '#999'}, txt(SopaBlackout.HEADER_TEXT)), |
||
− | create('p', null, |
||
− | txt("Ajude a manter a web livre!"), |
||
− | create('a', {href: "https://wfc2.wiredforchange.com/o/9042/p/dia/action/public/?action_KEY=8173"}, txt("Contact your representatives")), |
||
− | txt(" or "), |
||
− | create('a', {href: "http://sopablackout.org/learnmore"}, txt("saiba mais"))) |
||
− | ); |
||
− | if (opts['srsbzns'] !== true){ |
||
− | blackout.appendChild(create('p', {paddingTop: '250px', color: '#333'}, txt(SopaBlackout.CONTINUE_TEXT))); |
||
− | addEvent(blackout, 'click', function(e){ |
||
− | body.removeChild(blackout); |
||
− | }); |
||
− | } |
||
− | body.appendChild(blackout); |
||
− | }; |
||
− | SopaBlackout.go = function(){ |
||
− | var opts = getOpts(); |
||
− | if (opts['on'] !== false && !dateMatches(opts['on'])){ |
||
− | return; |
||
− | } |
||
− | SopaBlackout.blackout(opts); |
||
− | }; |
||
+ | function update_msecs(){ |
||
− | onDomReady(SopaBlackout.go); |
||
+ | document.getElementById("footer-garoa-msecs").innerHTML = "<a title=\"Fundação\" href=\"/wiki/Fundação\">Garoando há "+ |
||
− | }).call(this); |
||
+ | (new Date().getTime()/1000-epoch)+" segundos!</a>"; |
||
+ | } |
||
+ | |||
+ | function update_secs(){ |
||
+ | document.getElementById("footer-garoa-msecs").innerHTML = "<a title=\"Fundação\" href=\"/wiki/Fundação\">Garoando há "+ |
||
+ | Math.floor(new Date().getTime()/1000-epoch)+" segundos!</a>"; |
||
+ | } |
||
+ | |||
+ | //juca gosta do efeito dos milissegundos correndo. Além de ser mil vezes mais nerd :-D literalmente! (aritmeticamente!!!) |
||
+ | //mas pitanga acha ruim mostrar milissegundos por que consumiria muita CPU... |
||
+ | |||
+ | // window.setInterval(update_msecs, 1); |
||
+ | window.setInterval(update_secs, 1000); |
||
+ | |||
+ | } |
||
+ | |||
+ | window.addEventListener("load", on_load, false); |
||
+ | |||
+ | })(); |
||
+ | |||
+ | $(document).ready(function() { |
||
+ | |||
+ | setInterval(function() { |
||
+ | $('#auto-refresh-image').attr('src', 'https://garoa.net.br/api/status.jpg' + "?r=" + Math.random()); |
||
+ | }, 4000); |
||
+ | }); |
Edição atual tal como às 11h01min de 2 de novembro de 2024
(function(){ function on_load(){ // Epoch 0: momento da fundação do Garoa Hacker Clube! // Veja http://garoa.net.br/wiki/Epoch0 var epoch = 1298244863; var garoa_msecs = document.createElement("li"); garoa_msecs.setAttribute("id", "footer-garoa-msecs"); document.getElementById("footer-places").appendChild(garoa_msecs); function update_msecs(){ document.getElementById("footer-garoa-msecs").innerHTML = "<a title=\"Fundação\" href=\"/wiki/Fundação\">Garoando há "+ (new Date().getTime()/1000-epoch)+" segundos!</a>"; } function update_secs(){ document.getElementById("footer-garoa-msecs").innerHTML = "<a title=\"Fundação\" href=\"/wiki/Fundação\">Garoando há "+ Math.floor(new Date().getTime()/1000-epoch)+" segundos!</a>"; } //juca gosta do efeito dos milissegundos correndo. Além de ser mil vezes mais nerd :-D literalmente! (aritmeticamente!!!) //mas pitanga acha ruim mostrar milissegundos por que consumiria muita CPU... // window.setInterval(update_msecs, 1); window.setInterval(update_secs, 1000); } window.addEventListener("load", on_load, false); })(); $(document).ready(function() { setInterval(function() { $('#auto-refresh-image').attr('src', 'https://garoa.net.br/api/status.jpg' + "?r=" + Math.random()); }, 4000); });