MediaWiki:Gadget-patroller.js: различия между версиями

Материал из Абсурдопедии
Перейти к навигацииПерейти к поиску
м (обновление даты)
(+ Как_правильно, Абсурдотека и Абсурдоцитатник)
Строка 20: Строка 20:
 
   if(!text) return;
 
   if(!text) return;
  
   if(wgNamespaceNumber != 0) return;
+
   if(wgNamespaceNumber != 0 && wgNamespaceNumber != 114 && wgNamespaceNumber != 116 && wgNamespaceNumber != 120) return;
 
   if(wgTitle) {
 
   if(wgTitle) {
 
       if(wgTitle.match(/^Несловарь:/)) return;
 
       if(wgTitle.match(/^Несловарь:/)) return;

Версия от 10:46, 9 октября 2010

/** <pre>
   Patroller Interface -- 3 October 2010.
   Автор: [[Участник:Edward Chernenko]].

   Вспомогательный инструмент для администраторов и откатывающих.

   При редактировании добавляет кнопку, нажатие на которую установит на статью
   отметку «качество проверено — как минимум нормально».

   Настройки:
добавьте в свой monobook.js ([[Special:Mypage/monobook.js]]) строку
 var patroller_nodiff = 1;
, чтобы страница сохранялась сразу после установки отметки (без предпросмотра).
*/

function addReviewedButton() {
   if(document.getElementById('R')) return;

   text = document.getElementById('wpTextbox1');
   if(!text) return;

   if(wgNamespaceNumber != 0 && wgNamespaceNumber != 114 && wgNamespaceNumber != 116 && wgNamespaceNumber != 120) return;
   if(wgTitle) {
      if(wgTitle.match(/^Несловарь:/)) return;
   }

   if(wgUserGroups) {
      if(wgUserGroups.indexOf('sysop') == -1 &&
         wgUserGroups.indexOf('rollback') == -1) return;
   }

   var section = '';
   ef = document.getElementById('editform');
   if(ef) section = ef.wpSection;

   if(section) {
      if(section.value != '') return;
   }

   if(text.value.match(/^#(redirect|перенаправление )/i)) return;
   if(text.value.match(/\{\{(R|Featured(\-[12]|)|Highlighted|ИС|ХС|Best of all)[\|\}]/i)) return;

   addFuncButton('http://i.absurdopedia.net/7/73/22px-Gtk-ok.png',
       'Метка «досмотрено»', mark_R)
}
addOnloadHook(addReviewedButton);

function mark_R()
{
   if(wgUserGroups.indexOf('sysop') == -1 && wgUserGroups.indexOf('rollback') == -1) return;
   
   text = document.getElementById('wpTextbox1');
   if(!text) return;

   var limbo = text.value.match(/\{Limbo[\|\}]/i);
   if(!confirm((limbo ? "Вы действительно хотите выпустить статью из Абсурдилища?" :
      "Вы действительно хотите отметить эту версию статьи как нормальную ({{R}})?")
      + " После этого она станет попадаться в случайных статьях.")) return;

   Wikify();

   text.value = text.value.replace(/\{\{(R|Limbo)\|?[^}]*\}\}\n?/ig, "");
   text.value += "{{R|oldid=" + wgCurRevisionId + "|user=" + wgUserName + "}}";

   sum = document.getElementById('wpSummary');
  
   if(sum.value == '')
   {
      sum.value = "Статья проверена и добавлена в случайные: + {{R}}";
      document.getElementById('wpMinoredit').checked = 1;
   }
   else
      sum.value += ", + {{R}}";

   if(limbo)
      sum.value += ", - {{Limbo}}";

   patroller_nodiff = window.patroller_nodiff || 0
   document.getElementById((patroller_nodiff && !limbo) ? 'wpSave' : 'wpDiff').click();
}

/* </pre> */