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

Медијавики: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.
// Gadget: FRQuickLinks (FlaggedRevs + Patrol helpers)
// Toolbox linkovi + status za FlaggedRevs
// Prikazuje samo sysop/patroller, samo za članke (ns=0)

$(function () {
  // samo clanci
  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"

  // ---- 1) Nepregledane (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) Diff stable -> current (najbolji per-page pregled) ----
  // Ovo je mnogo korisnije od "diff=cur&oldid=prev", jer pokazuje tačno "šta je novo u odnosu na stabilnu"
  mw.util.addPortletLink(
    'p-tb',
    mw.util.getUrl(pageName, { diff: 'cur', oldid: 'stable' }),
    'Pregledaj (stable → current)',
    't-fr-diff-stable',
    'Otvori diff: stabilna verzija naspram trenutne'
  );

  // ---- Status label (nije link) ----
  // wgStableRevisionId:
  //  - 0 => nema stabilne/proverene verzije
  //  - == wgCurRevisionId => trenutna je proverena
  //  - != => ima novijih izmena koje čekaju proveru
  var stableId = mw.config.get('wgStableRevisionId');
  var curId = mw.config.get('wgCurRevisionId');

  var statusText;
  if (!stableId || stableId === 0) {
    statusText = 'Status: Nema stabilne';
  } else if (stableId === curId) {
    statusText = 'Status: Provereno';
  } else {
    statusText = 'Status: Čeka proveru';
  }

  // labelu ubacujemo kao <span> u toolbox (da ne bude klikabilno)
  var $tb = $('#p-tb ul');
  if ($tb.length) {
    $tb.append(
      $('<li id="t-fr-status">').append(
        $('<span>').text(statusText)
      )
    );
  }
});