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

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

Iz Vojne Enciklopedije
Promena koda
Promena koda
Ред 1: Ред 1:
// Gadget: FRQuickLinks (FlaggedRevs + Patrol helpers)
// Gadget: FRQuickLinks (FlaggedRevs + Patrol helpers)
// Prikazuje linkove u Toolbox-u samo za sysop/patroller
// Toolbox linkovi + status za FlaggedRevs
// Latinica, prilagodjeno za Vojnu Enciklopediju
// Prikazuje samo sysop/patroller, samo za članke (ns=0)


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


   // dozvoli samo sysop ili patroller
   // 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;


  // Toolbox portlet mora da postoji
   var pageName = mw.config.get('wgPageName'); // npr. "AB_23"
  if (!document.getElementById('p-tb')) return;
   var titleTxt = mw.config.get('wgTitle');    // npr. "AB 23"
 
   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 (GLOBAL) ----
  * 1) Nepregledane stranice (GLOBAL)
  * ------------------------------------------------- */
   mw.util.addPortletLink(
   mw.util.addPortletLink(
     'p-tb',
     'p-tb',
Ред 36: Ред 23:
   );
   );


   /* -------------------------------------------------
   // ---- 2) Izmene na čekanju (GLOBAL queue) ----
  * 2) Izmene na čekanju (GLOBAL queue)
  * ------------------------------------------------- */
   mw.util.addPortletLink(
   mw.util.addPortletLink(
     'p-tb',
     'p-tb',
Ред 47: Ред 32:
   );
   );


   /* -------------------------------------------------
   // ---- 3) Stabilizacija (OVA STRANA) ----
  * 3) Stabilizacija (OVA STRANA)
  * ------------------------------------------------- */
   mw.util.addPortletLink(
   mw.util.addPortletLink(
     'p-tb',
     'p-tb',
Ред 55: Ред 38:
     'FlaggedRevs: stabilizacija',
     'FlaggedRevs: stabilizacija',
     't-fr-stabilize',
     't-fr-stabilize',
     'Podesavanja stabilne verzije za "' + titleTxt + '"'
     'Podešavanja stabilne verzije za "' + titleTxt + '"'
   );
   );


   /* -------------------------------------------------
   // ---- 4) Istorija (OVA STRANA) ----
  * 4) Istorija (OVA STRANA)
  * ------------------------------------------------- */
   mw.util.addPortletLink(
   mw.util.addPortletLink(
     'p-tb',
     'p-tb',
     mw.util.getUrl(pageName, { action: 'history' }),
     mw.util.getUrl('Special:History/' + pageName),
     'Istorija (pregled izmena)',
     'Istorija (pregled izmena)',
     't-fr-history',
     't-fr-history',
Ред 69: Ред 50:
   );
   );


   /* -------------------------------------------------
   // ---- 5) Diff stable -> current (najbolji per-page pregled) ----
  * 5) Proveri ovu reviziju (FlaggedRevs) – DIREKTAN workflow
  // Ovo je mnogo korisnije od "diff=cur&oldid=prev", jer pokazuje tačno "šta je novo u odnosu na stabilnu"
  * Special:RevisionReview?target=...&oldid=...
   mw.util.addPortletLink(
  * ------------------------------------------------- */
    'p-tb',
   if (revId) {
    mw.util.getUrl(pageName, { diff: 'cur', oldid: 'stable' }),
    mw.util.addPortletLink(
    'Pregledaj (stable → current)',
      'p-tb',
    't-fr-diff-stable',
      mw.util.getUrl('Special:RevisionReview', { target: pageName, oldid: revId }),
    'Otvori diff: stabilna verzija naspram trenutne'
      'Proveri ovu reviziju',
  );
      't-fr-revisionreview',
      'Otvori FlaggedRevs proveru za reviziju ' + revId + ' na "' + titleTxt + '"'
    );
  }


   /* -------------------------------------------------
   // ---- Status label (nije link) ----
  * 6) Status indikator (samo tekst)
  // wgStableRevisionId:
  * ------------------------------------------------- */
  //  - 0 => nema stabilne/proverene verzije
   var statusText = '';
  //  - == wgCurRevisionId => trenutna je proverena
   var bodyText = (document.body && document.body.innerText) ? document.body.innerText : '';
  //  - != => ima novijih izmena koje čekaju proveru
   var stableId = mw.config.get('wgStableRevisionId');
   var curId = mw.config.get('wgCurRevisionId');


   if (bodyText.includes('Непрегледано') || bodyText.includes('Nepregledano')) {
  var statusText;
     statusText = 'Status: Nepregledano';
   if (!stableId || stableId === 0) {
   } else if (bodyText.includes('Проверено') || bodyText.includes('Provereno')) {
     statusText = 'Status: Nema stabilne';
   } else if (stableId === curId) {
     statusText = 'Status: Provereno';
     statusText = 'Status: Provereno';
   } else {
   } else {
    // fallback: ako ne prepoznamo
     statusText = 'Status: Čeka proveru';
     statusText = 'Status: (nepoznato)';
   }
   }


   mw.util.addPortletLink(
   // labelu ubacujemo kao <span> u toolbox (da ne bude klikabilno)
    'p-tb',
  var $tb = $('#p-tb ul');
    mw.util.getUrl(pageName),
  if ($tb.length) {
     statusText,
     $tb.append(
    't-fr-status',
      $('<li id="t-fr-status">').append(
    'Status stranice (klik vodi nazad na stranicu)'
        $('<span>').text(statusText)
  );
      )
 
    );
  }
});
});

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

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