Korisnik:Aca/RevisionID.js
Prijeđi na navigaciju
Prijeđi na pretragu
Napomena: Nakon objave možda ćete trebate očistiti međuspremnik (keš) svog preglednika kako biste vidjeli promjene.
- Firefox / Safari: držite Shift i pritisnite Reload, ili pritisnite bilo Ctrl-F5 ili Ctrl-R (Command-R na Macu)
- Google Chrome: pritisnite Ctrl-Shift-R (Command-Shift-R na Macu)
- Internet Explorer / Edge: držite Ctrl i kliknite Refresh, ili pritisnite Ctrl-F5
- Opera: pritisnite Ctrl-F5.
/*** Show Revision ID ***/
// Shows the revison id on history pages
// Documentation at [[User:BrandonXLF/ShowRevisionID]]
// By [[User:BrandonXLF]]
$(document).ready(function() {
var lang = {
"en": {
dateTimeSplit: '',
DTSplit: '',
patrolString: "Patrolled by ",
summaryMale: '',
summaryFemale: '',
copied: '',
contribsPageLocal: '',
diffPageLocal: ''
},
"hr": {
dateTimeSplit: 'od ',
DTSplit: ', ',
patrolString: "Ophodio ",
summaryMale: "Vraćanje na inačicu [[Special:Diff/$1|$1]] koju je $2 u $3 unio $4",
summaryFemale: "Vraćanje na inačicu [[Special:Diff/$1|$1]] koju je $2 u $3 unijela $4",
copied: 'Kopirano: ',
contribsPageLocal: 'Posebno:Dopinosi',
diffPageLocal: 'Posebno:Diff'
},
"sr": {
dateTimeSplit: 'на датум ',
DTSplit: ' у ',
patrolString: "Испатролирао ",
summaryMale: "Ручно враћање на измену бр. [[Special:Diff/$1|$1]] коју је унео $4 на датум $3 у $2",
summaryFemale: "Ручно враћање на измену бр. [[Special:Diff/$1|$1]] коју је унела $4 на датум $3 у $2",
copied: 'Копирано: ',
contribsPageLocal: 'Посебно:Доприноси',
diffPageLocal: 'Посебно:Разлике'
},
"sr-el": {
dateTimeSplit: 'na dan ',
DTSplit: ' u ',
patrolString: "Ispatrolirao ",
summaryMale: "Ručno vraćanje na izmenu br. [[Special:Diff/$1|$1]] koju je uneo $4 na datum $3 u $2",
summaryFemale: "Ručno vraćanje na izmenu br. [[Special:Diff/$1|$1]] koju je unela $4 na datum $3 u $2",
copied: 'Kopirano: ',
contribsPageLocal: 'Posebno:Doprinosi',
diffPageLocal: 'Posebno:Razlike'
},
"sr-ec": {
dateTimeSplit: 'на датум ',
DTSplit: ' у ',
patrolString: "Испатролирао ",
summaryMale: "Ручно враћање на измену бр. [[Special:Diff/$1|$1]] коју је унео $4 на датум $2 у $3",
summaryFemale: "Ручно враћање на измену бр. [[Special:Diff/$1|$1]] коју је унела $4 на датум $2 у $3",
copied: 'Копирано: ',
contribsPageLocal: 'Посебно:Доприноси',
diffPageLocal: 'Посебно:Разлике'
},
"sh": {
dateTimeSplit: 'na datum ',
DTSplit: ' u ',
patrolString: "Pregledao/-la ",
summaryMale: "Ručno vraćanje na verziju br. [[Special:Diff/$1|$1]] koju je uredio $4 na datum $2 u $3",
summaryFemale: "Ručno vraćanje na verziju br. [[Special:Diff/$1|$1]] koju je uredila $4 na datum $2 u $3",
copied: 'Kopirano: ',
contribsPageLocal: 'Posebno:Doprinosi',
diffPageLocal: 'Posebno:Diff'
},
}
var langVar = "";
mw.config.exists('wgUserVariant') ? langVar = mw.config.get('wgUserVariant') : langVar = mw.config.get('wgUserLanguage');
console.log("RevID LANG:", langVar);
var items;
if (location.search.includes('action=history') || location.search.includes('title=Posebno%3ADoprinosi') ||
location.href.includes('Special:Contributions') || location.href.includes(lang[langVar].contribsPageLocal)) {
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(lang[langVar].diffPageLocal) ||
location.href.includes('diff') || location.href.includes('oldid')) {
osvjeziRevID(lang, langVar);
$(".mw-revslider-slider-wrapper").bind("click", function(e) {
setTimeout(function() {
osvjeziRevID(lang, langVar);
}, 1000);
});
}
});
function kopirajSazetak(revid, suradnik, datumiVrijeme, lang, langVar) {
var lang = JSON.parse(lang);
var vrijeme = datumiVrijeme.split(lang[langVar].DTSplit)[0];
var datum = datumiVrijeme.split(lang[langVar].DTSplit)[1];
var spolAPI = $.getJSON(mw.config.get("wgScriptPath") + "/api.php?action=query&format=json&prop=&list=users&meta=&usprop=gender&ususers=" + suradnik)
.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;
console.log(lang);
if (gender == "female") {
string = lang[langVar].summaryFemale.replaceAll('$1', revid).replace('$2', datum).replace('$3', vrijeme).replace('$4', suradnik);
//kopiraj u clipboard
dummy = $('<input>').val(string).appendTo('body').select();
document.execCommand('copy');
document.body.lastElementChild.remove();
console.log("Kopirano: " + string);
} else {
string = lang[langVar].summaryMale.replaceAll('$1', revid).replace('$2', datum).replace('$3', vrijeme).replace('$4', suradnik);
//kopiraj u clipboard
dummy = $('<input>').val(string).appendTo('body').select();
document.execCommand('copy');
document.body.lastElementChild.remove();
console.log(lang[langVar].copied + string);
}
});
}
function osvjeziRevID(lang, langVar) {
var stringHrefPrev = $('#mw-diff-otitle1').children('strong').find('a', 'span>a').attr('href');
var stringHrefCurr = $('#mw-diff-ntitle1').children('strong').find('a', 'span>a').attr('href');
var revidPrev = stringHrefPrev && stringHrefPrev.split('oldid=')[1];
try {
var userNamePrev = document.getElementsByClassName('mw-userlink')[0].children[0].innerHTML;
var datumiVrijemePrev = $('#mw-diff-otitle1').children('strong').find('a', 'span>a')[0].innerHTML.split(lang[langVar].dateTimeSplit)[1];
} catch (e) {
return; // Uncaught TypeError: Cannot read property 'innerHTML' of undefined
}
var revidCurr = stringHrefCurr.split('oldid=')[1];
var userNameCurr = document.getElementsByClassName('mw-userlink')[1].children[0].innerHTML;
var datumiVrijemeCurr = $('#mw-diff-ntitle1').children('strong').find('a', 'span>a')[0].innerHTML.split(lang[langVar].dateTimeSplit)[1];
var wgPageName = mw.config.get("wgPageName");
var idValuePrev = document.createElement('abbr');
idValuePrev.className = 'revID-ivi';
idValuePrev.innerHTML = ' | ' + revidPrev + ' | ';
idValuePrev.addEventListener('click', function() {
kopirajSazetak(revidPrev, userNamePrev, datumiVrijemePrev, JSON.stringify(lang), langVar);
});
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', lang[langVar].patrolString + entry.user);
}
});
});
$('#mw-diff-otitle1').children('strong').find('a', 'span>a')[0].after(idValuePrev);
var idValueCurr = document.createElement('abbr');
idValueCurr.className = 'revID-ivi';
idValueCurr.innerHTML = ' | ' + revidCurr + ' | ';
idValueCurr.addEventListener('click', function() {
kopirajSazetak(revidCurr, userNameCurr, datumiVrijemeCurr, JSON.stringify(lang), langVar);
});
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', lang[langVar].patrolString + entry.user);
}
});
});
$('#mw-diff-ntitle1').children('strong').find('a', 'span>a')[0].after(idValueCurr);
}