Медијавики:Gadget-RevisionID.js
Изглед
Напомена: Пошто објавите измене, можда ћете морати да обришете кеш прегледача како бисте их видели.
- Firefox / Safari: Држите Shift и кликните на Reload или притисните Ctrl-F5 или Ctrl-R (⌘-R на Mac-у).
- Google Chrome: Притисните Ctrl-Shift-R (⌘-Shift-R на Mac-у).
- Edge: Држите Ctrl и кликните на Refresh или притисните Ctrl-F5.
/*** Приказује ID измене и име корисника који ју је испатролирао те генерише опис измене у случају ручног враћања ***/
// Документација: User:BrandonXLF/ShowRevisionID
// Аутор: User:BrandonXLF
// Аутор2: User:Ivi104
function kopirajOpis(revid, korisnik, datumiVreme) {
var vreme = datumiVreme.split(" у ")[1];
var datum = datumiVreme.split(" у ")[0];
var spolAPI = $.getJSON(mw.config.get("wgScriptPath") + "/api.php?action=query&format=json&prop=&list=users&meta=&usprop=gender&ususers=" + korisnik)
.done(function(query) {
if (!query.query) { return; } // API fail
query = query.query;
var gender = (typeof query.users[0].gender == "string") ? query.users[0].gender : null;
var string, dummy;
if (gender == "female") {
string = "Ручно враћање на измену бр. [[Посебно:Разлике/" + revid + "|" + revid + "]] коју је унела " + korisnik + " на датум " + datum + " у " + vreme;
//копирај у клипборд
dummy = $('<input>').val(string).appendTo('body').select();
document.execCommand('copy');
document.body.lastElementChild.remove();
console.log("Копирано: " + string);
} else {
string = "Ручно враћање на измену бр. [[Посебно:Разлике/" + revid + "|" + revid + "]] коју је унео " + korisnik + " на датум " + datum + " у " + vreme;
//копирај у клипборд
dummy = $('<input>').val(string).appendTo('body').select();
document.execCommand('copy');
document.body.lastElementChild.remove();
console.log("Копирано: " + string);
}
});
}
// make globally available so can be used in onclick attribute below.
window.kopirajOpis = kopirajOpis;
function osveziRevID() {
var stringHrefPrev = $('#mw-diff-otitle1').children('strong').children('a').attr('href');
var stringHrefCurr = $('#mw-diff-ntitle1').children('strong').children('a').attr('href');
if(!stringHrefCurr || !stringHrefPrev) return;
var revidPrev = stringHrefPrev.split('oldid=')[1];
var userNamePrev = document.getElementsByClassName('mw-userlink')[0].children[0].innerHTML;
var datumiVremePrev = $('#mw-diff-otitle1').children('strong').children('a')[0].innerHTML.split("дан ")[1];
var revidCurr = stringHrefCurr.split('oldid=')[1];
var userNameCurr = document.getElementsByClassName('mw-userlink')[1].children[0].innerHTML;
var datumiVremeCurr = $('#mw-diff-ntitle1').children('strong').children('a')[0].innerHTML.split("дан ")[1];
var wgPageName = mw.config.get("wgPageName");
var idValuePrev = document.createElement('abbr');
idValuePrev.className = 'revID-ivi';
idValuePrev.innerHTML = ' | ' + revidPrev + ' | ';
$('#idValuePrev').click(function() {
window.kopirajOpis("' + revidPrev + '","' + userNamePrev + '","' + datumiVremePrev + '");
});
var patrolAPI = $.getJSON(mw.config.get("wgScriptPath") + "/api.php?action=query&format=json&prop=&list=logevents&leprop=details%7Cuser&letype=patrol&letitle=" + wgPageName )
.done(function(query) {
if (!query.query) { return; } // API fail
query = query.query;
query.logevents.forEach(function(entry) {
if(entry.params.curid == revidPrev){
idValuePrev.setAttribute('title', 'Испатролирао ' + entry.user);
}
});
});
document.getElementsByClassName('mw-diff-edit')[0].before(idValuePrev);
var idValueCurr = document.createElement('abbr');
idValueCurr.className = 'revID-ivi';
idValueCurr.innerHTML = ' | ' + revidCurr + ' | ';
idValueCurr.setAttribute('onclick', 'kopirajOpis("' + revidCurr + '","' + userNameCurr + '","' + datumiVremeCurr + '")');
patrolAPI.done(function(query) {
if (!query.query) { return; } // API fail
query = query.query;
query.logevents.forEach(function(entry) {
if(entry.params.curid == revidCurr){
idValueCurr.setAttribute('title', 'Испатролирао ' + entry.user);
}
});
});
document.getElementsByClassName('mw-diff-edit')[1].before(idValueCurr);
}
$(function() {
var items;
if (location.search.includes('action=history') || location.search.includes('title=Посебно%3AДоприноси') ||
location.href.includes('Special:Contributions') || location.href.includes('Посебно:Доприноси') || location.href.includes('Посебно%3AДоприноси')) {
items = document.querySelectorAll('li[data-mw-revid]');
for (var i = 0; i < items.length; i++) {
items[i].getElementsByClassName('mw-changeslist-date')[0].after(document.createTextNode(' | ' + items[i].getAttribute('data-mw-revid')));
}
} else if (location.href.includes('Special:Diff') || location.href.includes('Посебно:Разлике') ||
location.href.includes('diff') || location.href.includes('oldid')) {
//var rev = $( "a[data-revision-id]" )[0].attributes[3].value;
osveziRevID();
$(".mw-revslider-slider-wrapper").bind("click", function(e) {
setTimeout(function() {
osveziRevID();
}, 1000);
});
}
});