Медијавики:Gadget-PatrolLog.js — разлика између измена
Изглед
Promena koda |
Promena koda |
||
| Ред 1: | Ред 1: | ||
// Gadget: FRQuickLinks (FlaggedRevs + | // Gadget: FRQuickLinks (FlaggedRevs + patrol helpers) | ||
// | // Toolbox linkovi za sysop/patroller — Vojna Enciklopedija | ||
// | // - 2 GLOBAL linka | ||
// - 2 PER-PAGE linka | |||
// - Status (klik skroluje na formu za proveru na dnu strane) | |||
$(function () { | $(function () { | ||
// samo | // samo članci (ns=0) | ||
if (mw.config.get('wgNamespaceNumber') !== 0) return; | if (mw.config.get('wgNamespaceNumber') !== 0) return; | ||
// | // samo sysop ili patroller | ||
var groups = mw.config.get('wgUserGroups') || []; | var groups = mw.config.get('wgUserGroups') || []; | ||
if (!(groups.includes('sysop') || groups.includes('patroller'))) return; | if (!(groups.includes('sysop') || groups.includes('patroller'))) return; | ||
var pageName = mw.config.get('wgPageName'); // npr AB_23 | var pageName = mw.config.get('wgPageName'); // npr. AB_23 | ||
var titleTxt = mw.config.get('wgTitle'); | var titleTxt = mw.config.get('wgTitle'); // npr. AB 23 | ||
var curRev = mw.config.get('wgCurRevisionId') || 0; | |||
var | var stableRev = mw.config.get('wgStableRevisionId') || 0; | ||
var | |||
/* ------------------------------------------------- | /* ------------------------------------------------- | ||
| Ред 66: | Ред 50: | ||
'FlaggedRevs: stabilizacija', | 'FlaggedRevs: stabilizacija', | ||
't-fr-stabilize', | 't-fr-stabilize', | ||
' | 'Podešavanja stabilne verzije za "' + titleTxt + '"' | ||
); | ); | ||
| Ред 81: | Ред 65: | ||
/* ------------------------------------------------- | /* ------------------------------------------------- | ||
* 5) Pregledaj i | * 5) Pregledaj izmene (DIFF) — pametno: | ||
* | * - ako postoji stable i razlikuje se: stable -> current | ||
* - inače: prev -> current | |||
* ------------------------------------------------- */ | * ------------------------------------------------- */ | ||
var diffHref, diffLabel, diffHint; | |||
if (stableRev > 0 && curRev > 0 && stableRev !== curRev) { | |||
diffHref = mw.util.getUrl(pageName, { diff: 'cur', oldid: String(stableRev) }); | |||
diffLabel = 'Pregledaj i proveri (stable → current)'; | |||
diffHint = 'Razlika između stabilne i trenutne verzije (najbolje za FlaggedRevs)'; | |||
} else { | |||
diffHref = mw.util.getUrl(pageName, { diff: 'cur', oldid: 'prev' }); | |||
diffLabel = 'Pregledaj poslednju izmenu (diff)'; | |||
diffHint = 'Razlika poslednje izmene (prev → current)'; | |||
} | |||
mw.util.addPortletLink( | mw.util.addPortletLink( | ||
'p-tb', | 'p-tb', | ||
diffHref, | |||
diffLabel, | |||
't-fr-diff | 't-fr-diff', | ||
diffHint | |||
); | ); | ||
/* ------------------------------------------------- | /* ------------------------------------------------- | ||
* 6) | * 6) Status: Nepregledano/Provereno | ||
* Klik: skroluj do forme za proveru na dnu strane | |||
* ------------------------------------------------- */ | * ------------------------------------------------- */ | ||
var statusText = (stableRev > 0) ? 'Status: Provereno' : 'Status: Nepregledano'; | |||
var statusLink = mw.util.addPortletLink( | |||
var | |||
'p-tb', | 'p-tb', | ||
'#', | |||
statusText, | statusText, | ||
't-fr-status', | 't-fr-status', | ||
' | 'Klikni da te odvede na formu za proveru (na dnu strane)' | ||
); | ); | ||
// Klik na status -> spusti do review forme (ako je ima), inače otvori diff link | |||
if (statusLink) { | |||
$(statusLink).on('click', function (e) { | |||
e.preventDefault(); | |||
// Probaj više mogućih selektora (zavisno od skin-a i verzije) | |||
var el = | |||
document.querySelector('#mw-fr-reviewform') || | |||
document.querySelector('.fr-reviewform') || | |||
document.querySelector('form[name="reviewform"]') || | |||
document.querySelector('form[action*="RevisionReview"]') || | |||
document.querySelector('.flaggedrevs_reviewform'); | |||
if (el) { | |||
el.scrollIntoView({ behavior: 'smooth', block: 'start' }); | |||
return; | |||
} | |||
// ako nema forme (npr. nema pending), vodi na diff | |||
window.location.href = diffHref; | |||
}); | |||
} | |||
}); | }); | ||
Верзија на датум 8. фебруар 2026. у 17:03
// Gadget: FRQuickLinks (FlaggedRevs + patrol helpers)
// Toolbox linkovi za sysop/patroller — Vojna Enciklopedija
// - 2 GLOBAL linka
// - 2 PER-PAGE linka
// - Status (klik skroluje na formu za proveru na dnu strane)
$(function () {
// samo članci (ns=0)
if (mw.config.get('wgNamespaceNumber') !== 0) return;
// samo sysop ili patroller
var groups = mw.config.get('wgUserGroups') || [];
if (!(groups.includes('sysop') || groups.includes('patroller'))) return;
var pageName = mw.config.get('wgPageName'); // npr. AB_23
var titleTxt = mw.config.get('wgTitle'); // npr. AB 23
var curRev = mw.config.get('wgCurRevisionId') || 0;
var stableRev = mw.config.get('wgStableRevisionId') || 0;
/* -------------------------------------------------
* 1) Nepregledane stranice (GLOBAL)
* ------------------------------------------------- */
mw.util.addPortletLink(
'p-tb',
mw.util.getUrl('Special:UnreviewedPages'),
'FlaggedRevs: nepregledane',
't-fr-unreviewed',
'Sve stranice koje još nisu pregledane'
);
/* -------------------------------------------------
* 2) Izmene na čekanju (GLOBAL queue)
* ------------------------------------------------- */
mw.util.addPortletLink(
'p-tb',
mw.util.getUrl('Special:PendingChanges'),
'FlaggedRevs: izmene na čekanju',
't-fr-pending',
'Sve stranice koje imaju izmene koje čekaju proveru'
);
/* -------------------------------------------------
* 3) Stabilizacija (OVA STRANA)
* ------------------------------------------------- */
mw.util.addPortletLink(
'p-tb',
mw.util.getUrl('Special:Stabilization', { page: pageName }),
'FlaggedRevs: stabilizacija',
't-fr-stabilize',
'Podešavanja stabilne verzije za "' + titleTxt + '"'
);
/* -------------------------------------------------
* 4) Istorija (OVA STRANA)
* ------------------------------------------------- */
mw.util.addPortletLink(
'p-tb',
mw.util.getUrl('Special:History/' + pageName),
'Istorija (pregled izmena)',
't-fr-history',
'Istorija izmena za "' + titleTxt + '"'
);
/* -------------------------------------------------
* 5) Pregledaj izmene (DIFF) — pametno:
* - ako postoji stable i razlikuje se: stable -> current
* - inače: prev -> current
* ------------------------------------------------- */
var diffHref, diffLabel, diffHint;
if (stableRev > 0 && curRev > 0 && stableRev !== curRev) {
diffHref = mw.util.getUrl(pageName, { diff: 'cur', oldid: String(stableRev) });
diffLabel = 'Pregledaj i proveri (stable → current)';
diffHint = 'Razlika između stabilne i trenutne verzije (najbolje za FlaggedRevs)';
} else {
diffHref = mw.util.getUrl(pageName, { diff: 'cur', oldid: 'prev' });
diffLabel = 'Pregledaj poslednju izmenu (diff)';
diffHint = 'Razlika poslednje izmene (prev → current)';
}
mw.util.addPortletLink(
'p-tb',
diffHref,
diffLabel,
't-fr-diff',
diffHint
);
/* -------------------------------------------------
* 6) Status: Nepregledano/Provereno
* Klik: skroluj do forme za proveru na dnu strane
* ------------------------------------------------- */
var statusText = (stableRev > 0) ? 'Status: Provereno' : 'Status: Nepregledano';
var statusLink = mw.util.addPortletLink(
'p-tb',
'#',
statusText,
't-fr-status',
'Klikni da te odvede na formu za proveru (na dnu strane)'
);
// Klik na status -> spusti do review forme (ako je ima), inače otvori diff link
if (statusLink) {
$(statusLink).on('click', function (e) {
e.preventDefault();
// Probaj više mogućih selektora (zavisno od skin-a i verzije)
var el =
document.querySelector('#mw-fr-reviewform') ||
document.querySelector('.fr-reviewform') ||
document.querySelector('form[name="reviewform"]') ||
document.querySelector('form[action*="RevisionReview"]') ||
document.querySelector('.flaggedrevs_reviewform');
if (el) {
el.scrollIntoView({ behavior: 'smooth', block: 'start' });
return;
}
// ako nema forme (npr. nema pending), vodi na diff
window.location.href = diffHref;
});
}
});