Участник:Dr. Breen/Category monkey.js

Материал из Абсурдопедии
Перейти к навигации Перейти к поиску

Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.

  • Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
  • Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
  • Internet Explorer / Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
  • Opera: Нажмите Ctrl+F5.
/** <pre><nowiki>
   Category monkey -- 28 July 2010.
   Автор: [[Участник:Dr. Breen]].

   Добавляет страницу [[Служебная:UncategorizedFiles]] кнопочки под каждым изображением, 
   позволяющие быстро добавить их в список (в самом низу страницы).

   На страницах категорий, проделывает то же самое по нажатию специальной ссылки,
   которая появляется, если там есть файлы.

   Список — почти готовая заявка боту на массовую расстановку категорий,
   см. [[Участник:Edwardspec TalkBot/Бот массовой категоризации]].   
*/


function add_input_box(){
 var content = document.getElementById("bodyContent");
 if(!content) return 0;
 var textblock = document.createElement("textarea");
 textblock.setAttribute("id", "filelist");
 textblock.setAttribute("align", "center");
 textblock.setAttribute("rows", "10");
 textblock.setAttribute("onFocus", "javascript:this.select()");
 content.appendChild(textblock);
 return 1;
}
function upgrade_table(){
 var references = document.getElementsByClassName("gallerytext");
 for (var i = 0; i < references.length; i++) {
  var filelink = references[i].getElementsByTagName("a");
  var filetitle = filelink[0].getAttribute("title");
  var newlink = document.createElement('a'); 
  newlink.href = 'javascript:add_file(\"'+filetitle+'\",'+i+')';
  newlink.title ='Add';
  newlink.innerHTML = '<big>+</big>';
  newlink.id = 'check'+i;
  references[i].appendChild(newlink);
 }
}
function add_file(title_str,_id){
  var filelist = document.getElementById("filelist");
  filelist.value+=title_str+'\n';
  filelist.scrollTop=filelist.scrollHeight;
}
function Upgrade_Page(){
 if(!add_input_box()) return;
 upgrade_table();
}
function AddCategoryMonkeyLink(){
  var media = document.getElementById("mw-category-media");
  if(media == null) return;
  var newlink = document.createElement('a'); 
  newlink.href = 'javascript:Upgrade_Page()';
  newlink.title ='Быстрое составление списка файлов';
  newlink.innerHTML = 'Быстрое составление списка файлов';
  newlink.id = 'CategoryMonkeyLink';
  var gallery = document.getElementsByClassName("gallery")[0];
  media.insertBefore(newlink, gallery);
}
function Uncategorizedimages_page(){
 if(wgCanonicalSpecialPageName != "Uncategorizedimages") return; 
 Upgrade_Page();
}
function Category_pages(){
 if(wgCanonicalNamespace != "Category") return;
 AddCategoryMonkeyLink();
}
addOnloadHook(Uncategorizedimages_page);
addOnloadHook(Category_pages);


/* </nowiki></pre> */