Изменения

Участник:Popstop/common.js

6676 байтов добавлено, 18:49, 29 октября 2018
м
Нет описания правки
addButton();
});
 
mw.loader.using(['mediawiki.util', 'mediawiki.api'])
.then(function() {
var count, wait;
var step = 1;
var depth = 5;
var api = new mw.Api();
 
function collectSubCategories(cat) {
console.log('cat: ' + cat);
return $.getJSON('https://petscan.wmflabs.org', {
language: 'ru',
project: 'wikipedia',
depth: depth - 1,
categories: cat.substring(cat.indexOf(':') + 1),
'ns[14]': 1,
interface_language: 'en',
active_tab: 'tab_output',
doit: '',
format: 'json'
})
.done(function(d) {
purge([cat].concat(d['*'][0].a['*'].map(function(q) {
return "Категория:" + q.title;
}))
.reverse());
})
.fail(function() {
alert("Сбор подкатегорий не удался");
purge([cat]);
});
}
 
function purge(cats) {
if (cats.length <= 0) {
alert("Нуль-правки успешно завершены!");
document.location.reload();
} else
postPurge(cats[0], cats);
}
 
function postPurge(cat, cats, addParams) {
console.log('catnext: ' + cat);
var apiParams = $.extend({
action: 'purge',
generator: 'categorymembers',
'gcmtitle': cat,
'gcmlimit': step,
forcelinkupdate: 1
}, addParams);
api.post(apiParams)
.done(function(d) {
console.log(d);
count += step;
if (d.warnings === undefined && d["continue"] !== undefined &&
d["continue"].gcmcontinue) {
mw.notify(count + " страниц перепостроены");
setTimeout(function() {
postPurge(cat, cats, d["continue"]);
}, wait);
} else {
alert("Нуль-правки успешно завершены! (" + cat.replace(/_/g, " ") + ")");
cats.shift();
purge(cats);
}
})
.fail(function() {
alert("Неудача");
});
}
if (mw.config.get('wgNamespaceNumber') == 14) {
wait = 1000;
api.get({
meta: 'userinfo',
uiprop: 'ratelimits'
})
.done(function(d) {
if (d && d.query && d.query.userinfo && d.query.userinfo.ratelimits &&
d.query.userinfo.ratelimits.purge)
wait = 2000;
$( "#p-tb div ul" ).append( $('<li>').addClass('plainlinks')
.append( $('<a>').text('Нуль-правки').css({cursor: 'pointer'})
.click( function() {
count = 0;
collectSubCategories(mw.config.get('wgPageName')
.replace(/_/g, " "));
} ) ) );
});
}
});
 
if (mw.config.get( 'wgAction' ) == 'edit' || mw.config.get( 'wgAction' ) == 'submit') {
( function() {
var buttons = [
[
'//w.hil.su/images/c/cb/Grid_%D0%9A%D1%80%D0%BE%D0%B2%D0%B0%D0%B2%D1%8B%D0%B9_%D0%B0%D0%BB%D1%82%D0%B0%D1%80%D1%8C_%28Blood_Magic%29.png',
'Вставить шаблон кровавого алтаря',
'{'+'{Blood Magic/Кровавый алтарь\n|вход=\n|выход=\n|уровень=\n|LP=\n|расход=\n|потери=\n',
'}}',
'',
'button-bloodaltar'
],
[
'//d1u5p3l4wpay3k.cloudfront.net/minecraft_ru_gamepedia/0/06/%D0%9F%D0%B0%D0%BB%D0%BA%D0%B0.png?version=b9bf1cabc365d86a601e4e872c84c165',
'Вставить шаблон предмета',
'{'+'{Предмет\n|изображение=\n|инвизображение=\n|тип=\n|прочн=\n|склад=\n|текст_id=\n',
'}}',
'',
'button-item'
],
[
'//d1u5p3l4wpay3k.cloudfront.net/minecraft_ru_gamepedia/0/04/%D0%97%D0%B5%D0%BC%D0%BB%D1%8F.png?version=f0b569469bb185914c9394c44f1686bf',
'Вставить шаблон блока',
'{'+'{Блок\n|изображение=\n|инвизображение=\n|тип=\n|гравит=\n|грязь=\n|прозр=\n|свет=\n|взрывоуст=\n|прочн=\n|инструмент=\n|склад=\n|восплам=\n|текст_id=\n',
'}}',
'',
'button-block'
],
[
'//d1u5p3l4wpay3k.cloudfront.net/minecraft_ru_gamepedia/5/5f/Grid_%D0%96%D0%B0%D1%80%D0%B5%D0%BD%D0%B0%D1%8F_%D1%81%D0%B2%D0%B8%D0%BD%D0%B8%D0%BD%D0%B0.png?version=332e7af745e3e442f4d36b41d567f53d',
'Вставить шаблон еды',
'{'+'{Еда\n|изображение=\n|инвизображение=\n|тип=\n|готов=\n|восст=\n|текст_id=\n|некат=\n',
'}}',
'',
'button-food'
],
[
'//w.hil.su/images/e/e5/%D0%A2%D0%B5%D0%BB%D0%B5%D0%BF%D0%BE%D0%B7%D0%B5%D1%80_%28Blood_Magic%29.png',
'Вставить шаблон модификации',
'{'+'{Модификация\n|изображение=\n|версия=\n|mcверсия=\n|требования=\n|forge=\n|дополнения=\n|серверы=\n',
'}}',
'',
'button-modification'
],
[
'//w.hil.su/images/2/28/%D0%9D%D0%B5%D0%BE%D0%B4%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0.png',
'Вставить шаблон дизамбига',
'{'+'{НеодСтраница',
'}}',
'',
'button-disambiguation'
]
];
$.each( buttons, function() { mw.toolbar.addButton.apply( null, this ); } );
} ) ();
}
 
(function() {
"use strict";
 
var $ = window.jQuery;
var action = mw.config.get("wgAction");
var pagename = mw.config.get("wgCanonicalSpecialPageName");
if (!pagename && action !== "history") {
return;
}
 
function changeLinkLimit(link, limit) {
var oldLimit = link.text();
 
function replace(attr, prefix) {
if (prefix === undefined)
prefix = "";
var value = link.attr(attr);
value = value.replace(prefix + oldLimit, prefix + limit);
return link.attr(attr, value);
}
 
link.text(limit);
replace("title");
replace("href", "limit=");
 
return link;
}
 
var links;
if (pagename === "Whatlinkshere") {
links = $("#mw-content-text > a:last-child");
} else {
links = $("a.mw-numlink:contains(500)");
}
for (var i = 0; i < links.length; i++) {
var link = $(links[i]);
link
.after(changeLinkLimit(link.clone(), "5000"))
.after(" | ")
.after(changeLinkLimit(link.clone(), "1000"))
.after(" | ");
}
})();
 
mw.util.addPortletLink ('p-tb', '/Служебная:Новые_страницы', 'Новые статьи', 't-new', 'Новые статьи');
mw.util.addPortletLink ('p-tb', '/Служебная:Указатель_по_началу_названия/'+mw.config.get( 'wgPageName' )+'/', 'Подстраницы' , 't-subpages', 'Подстраницы');
mw.util.addPortletLink ('p-tb', '/Служебная:Требуемые_страницы', 'Требуемые статьи', 't-pages', 'Требуемые страницы');
mw.util.addPortletLink ('p-tb', '/Служебная:Список_файлов', 'Список файлов', 't-files', 'Список файлов');
1136
правок