Nota: Após publicar, você pode ter que limpar o "cache" do seu navegador para ver as alterações.
- Firefox / Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
- Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
- Internet Explorer/Edge: PressioneCtrl enquanto clica Recarregar, ou Pressione Ctrl-F5
- Opera: Pressione Ctrl-F5.
/**
* Última contribuição
* Ao carregar a página, indica se ela foi editada pela última vez ha mais de xx tempo
* (Usado para evitar possíveis conflitos de edição)
*
* @author: [[:fr:User:Seb35]]
* @source: [[:fr:MediaWiki:Gadget-LastContrib.js]]
*/
// O tempo é definido em segundos
var lastContribNiveau1 = 100; // Nível de alerta muito alto
var lastContribNiveau2 = 8 * 60; // Nível de alerta alto
var lastContribNiveau3 = 40 * 60; // Nível de alerta médio
function lastContribCallback(data) {
var touchedDate, tit = document.getElementById('contentSub');
if (!tit) {
return;
}
$.each(data.query.pages, function (pagekey, pageinfo) {
if (pageinfo.touched) {
touchedDate = pageinfo.touched;
return false;
}
});
var last = new Date(touchedDate);
var now = new Date();
var diff = Math.round((now - last) / 1000);
if (diff <= lastContribNiveau3) {
if (diff < -600) {
tit.innerHTML = 'Pode haver um erro na sincronização dos relógios: hora no servidor = ' + last + ' >> hora no cliente = ' + now + ' - ' + tit.innerHTML;
return;
}
if (diff < 0) {
diff = 0;
}
var diffHeures = Math.floor(diff / 3600);
var diffMinutes = Math.floor((diff - diffHeures * 3600) / 60);
var diffSecondes = diff - diffHeures * 3600 - diffMinutes * 60;
var url = mw.config.get('wgScript') + '?action=history&title=' + mw.util.wikiUrlencode(mw.config.get('wgPageName'));
var color = (diff <= lastContribNiveau2) ? 'color:red;' : 'color:black;';
var decoration = (diff <= lastContribNiveau1) ? 'text-decoration:underline overline;' : '';
var text = (diffHeures > 0 ? diffHeures + 'h' : '')
+ (diffMinutes > 0 ? diffMinutes + 'min' : '')
+ diffSecondes + 'seg';
tit.innerHTML = '<span style="font-size:8pt;">'
+ last.getHours() + 'h' + last.getMinutes() + 'min'
+ ' (<a href="' + url + '"><span style="' + color + ' ' + decoration + '">'
+ text
+ '</span></a>)</span> '
+ tit.innerHTML;
}
}
$(function () {
$.getJSON(mw.config.get('wgScriptPath') + '/api.php', {
format: 'json',
action: 'query',
prop: 'info',
titles: mw.util.wikiUrlencode(mw.config.get('wgPageName'))
}, lastContribCallback);
});