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

Медијавики:Gadget-PatrolLog.js — разлика између измена

Iz Vojne Enciklopedije
Promena koda
Promena koda
Ред 12: Ред 12:
   if (!(groups.includes('sysop') || groups.includes('patroller'))) return;
   if (!(groups.includes('sysop') || groups.includes('patroller'))) return;


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


   /* -------------------------------------------------
   /* -------------------------------------------------
Ред 59: Ред 59:
   );
   );


});
   /* -------------------------------------------------
 
  * 5) Pregledaj poslednju izmenu (DIFF) – najbolji per-page pregled
   // 5) Pregledaj poslednju izmenu (diff) – najbolji per-page pregled
  * ------------------------------------------------- */
   mw.util.addPortletLink(
   mw.util.addPortletLink(
     'p-tb',
     'p-tb',
     mw.util.getUrl(mw.config.get('wgPageName'), { diff: 'cur', oldid: 'prev' }),
     mw.util.getUrl(pageName, { diff: 'cur', oldid: 'prev' }),
     'Pregledaj poslednju izmenu (diff)',
     'Pregledaj poslednju izmenu (diff)',
     't-fr-diffcur',
     't-fr-diffcur',
     'Otvori diff poslednje izmene (najbrzi put do pregleda)'
     'Otvori diff poslednje izmene (najbrzi put do pregleda)'
   );
   );
  /* -------------------------------------------------
  * 6) Status indikator (read-only link u Toolbox)
  *    - "Nepregledano" / "Ima izmene na čekanju" / "Provereno"
  * ------------------------------------------------- */
  var statusText = '';
  var bodyText = (document.body && document.body.innerText) ? document.body.innerText : '';
  // Napomena: Ovo je heuristika na osnovu teksta u UI (radi odmah, bez API-ja).
  if (bodyText.includes('Непрегледано') || bodyText.includes('Nepregledano')) {
    statusText = 'Status: Nepregledano';
  } else if (
    bodyText.includes('изм') && bodyText.includes('чека') && (bodyText.includes('Промен') || bodyText.includes('izm'))
  ) {
    statusText = 'Status: Ima izmene na čekanju';
  } else if (bodyText.includes('Проверено') || bodyText.includes('Provereno')) {
    statusText = 'Status: Provereno';
  }
  if (statusText) {
    mw.util.addPortletLink(
      'p-tb',
      '#',
      statusText,
      't-fr-status',
      'Status stranice (FlaggedRevs)'
    );
    // da link ne radi ništa
    $('#t-fr-status a').on('click', function (e) { e.preventDefault(); });
  }
});

Верзија на датум 8. фебруар 2026. у 15:24

// 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;

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

  /* -------------------------------------------------
   * 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('Special:History/' + pageName),
    'Istorija (pregled izmena)',
    't-fr-history',
    'Istorija izmena za "' + titleTxt + '"'
  );

  /* -------------------------------------------------
   * 5) Pregledaj poslednju izmenu (DIFF) – najbolji per-page pregled
   * ------------------------------------------------- */
  mw.util.addPortletLink(
    'p-tb',
    mw.util.getUrl(pageName, { diff: 'cur', oldid: 'prev' }),
    'Pregledaj poslednju izmenu (diff)',
    't-fr-diffcur',
    'Otvori diff poslednje izmene (najbrzi put do pregleda)'
  );

  /* -------------------------------------------------
   * 6) Status indikator (read-only link u Toolbox)
   *    - "Nepregledano" / "Ima izmene na čekanju" / "Provereno"
   * ------------------------------------------------- */
  var statusText = '';
  var bodyText = (document.body && document.body.innerText) ? document.body.innerText : '';

  // Napomena: Ovo je heuristika na osnovu teksta u UI (radi odmah, bez API-ja).
  if (bodyText.includes('Непрегледано') || bodyText.includes('Nepregledano')) {
    statusText = 'Status: Nepregledano';
  } else if (
    bodyText.includes('изм') && bodyText.includes('чека') && (bodyText.includes('Промен') || bodyText.includes('izm'))
  ) {
    statusText = 'Status: Ima izmene na čekanju';
  } else if (bodyText.includes('Проверено') || bodyText.includes('Provereno')) {
    statusText = 'Status: Provereno';
  }

  if (statusText) {
    mw.util.addPortletLink(
      'p-tb',
      '#',
      statusText,
      't-fr-status',
      'Status stranice (FlaggedRevs)'
    );
    // da link ne radi ništa
    $('#t-fr-status a').on('click', function (e) { e.preventDefault(); });
  }

});