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

Медијавики: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)
// Prikazuje linkove u Toolbox-u samo za sysop/patroller
// Latinica, prilagodjeno za Vojnu Enciklopediju

$(function () {

  // samo u glavnom imenskom prostoru (clanci)
  if (mw.config.get('wgNamespaceNumber') !== 0) return;

  // dozvoli samo sysop ili patroller
  var groups = mw.config.get('wgUserGroups') || [];
  if (!(groups.includes('sysop') || groups.includes('patroller'))) return;

  // Toolbox portlet mora da postoji
  if (!document.getElementById('p-tb')) return;

  var pageName = mw.config.get('wgPageName'); // npr. AB_23
  var titleTxt = mw.config.get('wgTitle');    // npr. AB 23

  // trenutna revizija (oldid za review link)
  var revId = mw.config.get('wgRevisionId'); // npr. 16910
  if (!revId) {
    // fallback
    revId = mw.config.get('wgCurRevisionId');
  }

  /* -------------------------------------------------
   * 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',
    'Podesavanja stabilne verzije za "' + titleTxt + '"'
  );

  /* -------------------------------------------------
   * 4) Istorija (OVA STRANA)
   * ------------------------------------------------- */
  mw.util.addPortletLink(
    'p-tb',
    mw.util.getUrl(pageName, { action: 'history' }),
    'Istorija (pregled izmena)',
    't-fr-history',
    'Istorija izmena za "' + titleTxt + '"'
  );

  /* -------------------------------------------------
   * 5) Proveri ovu reviziju (FlaggedRevs) – DIREKTAN workflow
   * Special:RevisionReview?target=...&oldid=...
   * ------------------------------------------------- */
  if (revId) {
    mw.util.addPortletLink(
      'p-tb',
      mw.util.getUrl('Special:RevisionReview', { target: pageName, oldid: revId }),
      'Proveri ovu reviziju',
      't-fr-revisionreview',
      'Otvori FlaggedRevs proveru za reviziju ' + revId + ' na "' + titleTxt + '"'
    );
  }

  /* -------------------------------------------------
   * 6) Status indikator (samo tekst)
   * ------------------------------------------------- */
  var statusText = '';
  var bodyText = (document.body && document.body.innerText) ? document.body.innerText : '';

  if (bodyText.includes('Непрегледано') || bodyText.includes('Nepregledano')) {
    statusText = 'Status: Nepregledano';
  } else if (bodyText.includes('Проверено') || bodyText.includes('Provereno')) {
    statusText = 'Status: Provereno';
  } else {
    // fallback: ako ne prepoznamo
    statusText = 'Status: (nepoznato)';
  }

  mw.util.addPortletLink(
    'p-tb',
    mw.util.getUrl(pageName),
    statusText,
    't-fr-status',
    'Status stranice (klik vodi nazad na stranicu)'
  );

});