Медијавики:Gadget-PatrolLog.js
Изглед
Напомена: Пошто објавите измене, можда ћете морати да обришете кеш прегледача како бисте их видели.
- Firefox / Safari: Држите Shift и кликните на Reload или притисните Ctrl-F5 или Ctrl-R (⌘-R на Mac-у).
- Google Chrome: Притисните Ctrl-Shift-R (⌘-Shift-R на Mac-у).
- Edge: Држите Ctrl и кликните на Refresh или притисните Ctrl-F5.
// Autor: [[hr:Suradnik:Ivi104]]
// Prilagodjeno za Vojnu Enciklopediju: Patrol log + FlaggedRevs linkovi (toolbox)
$(function () {
var ns = mw.config.get('wgNamespaceNumber');
if (ns < 0) return; // samo "normalne" strane
// Ogranicenje na grupe
var groups = mw.config.get('wgUserGroups') || [];
var allowed =
groups.includes('sysop') ||
groups.includes('reviewer') ||
groups.includes('editor') ||
groups.includes('bureaucrat');
if (!allowed) return;
var pageName = mw.config.get('wgPageName');
if (!pageName) return;
// Helper: dodaj link samo ako Special strana postoji
function addIfSpecialExists(specialTitle, linkText, linkId, tooltip, params) {
// mw.Title.newFromText radi i za "Special:..."
var titleObj = mw.Title.newFromText(specialTitle);
if (!titleObj) return;
var url = mw.util.getUrl(specialTitle, params || {});
mw.util.addPortletLink('p-tb', url, linkText, linkId, tooltip);
}
// 1) Patrol dnevnik
var patrolLogUrl = mw.util.getUrl('Special:Log', { type: 'patrol', page: pageName });
mw.util.addPortletLink(
'p-tb',
patrolLogUrl,
'Patrol dnevnik (ova strana)',
't-patrol-log',
'Pogledaj dnevnik patroliranja za ovu stranicu'
);
// 2) FlaggedRevs: Stabilizacija (ako postoji)
addIfSpecialExists(
'Special:Stabilization',
'FlaggedRevs: stabilizacija',
't-flaggedrevs-stabilization',
'Podesavanje provere i stabilne verzije za ovu stranicu',
{ page: pageName }
);
// 3) FlaggedRevs: Pending changes (ako postoji)
// Ne oslanjamo se 100% na page= filter; ako ne radi, makar otvara listu.
addIfSpecialExists(
'Special:PendingChanges',
'Izmene na cekanju',
't-flaggedrevs-pending',
'Lista izmena na cekanju (ako je moguce, filtrirano na ovu stranicu)',
{ page: pageName }
);
});