Пређи на садржај

Медијавики:Gadget-PatrolLog.js

Iz Vojne Enciklopedije

Напомена: Пошто објавите измене, можда ћете морати да обришете кеш прегледача како бисте их видели.

  • 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 }
  );
});