//Автор исходного скрипта - DerLetzteRegenbogen
( function () {
function warnbuttons() {
if (!$('#warnbuttonselect').length) {
$('<div id="warnbuttonselect">').append([
$('<input type="button" value="Вандализм" />').click(qwarnVandalism)[0],
$('<input type="button" value="Вандализм+дифф" />').click(qwarnVandalismDiff)[0],
$('<input type="button" value="Спам-ссылки" />').click(qwarnSpam)[0],
$('<input type="button" value="Спам-статья" />').click(qwarnSpamArt)[0],
$('<input type="button" value="Тест" />').click(qwarnTest)[0],
$('<input type="button" value="Уд-уд" />').click(qwarnDelRemove)[0],
$('<input type="button" value="Копивио(CV)" />').click(qwarnCopyvio)[0],
$('<input type="button" value="Повтор CV" />').click(qwarnCopyvioAgain)[0],
$('<input type="button" value="Незначимо" />').click(qwarnNN)[0],
$('<input type="button" value="Добро п." />').click(qwarnWelcome)[0],
$('<input type="button" value="Привет анониму" />').click(qwarnAnon)[0],
$('<input type="button" value="Отмена" />').click(hideInitialWarnbuttonselect)[0]
]).prependTo($('#editform'));
} else {
$('#warnbuttonselect').toggle();
}
}
function hideInitialWarnbuttonselect() {
document.getElementById('warnbuttonselect').style.display = 'none';
}
function diffSimplify(lnk){
var tempLink = lnk.replace(/(.*)\?.*diff=(prev|next|cur|[0-9]+).*oldid=([0-9]+)/, '$1?diff=$2&oldid=$3');
tempLink = tempLink.replace(/diff=prev&oldid=([0-9]+)/, 'diff=$1');
return tempLink;
}
function postWarn(sumString, warnString) {
var text = document.getElementById('wpTextbox1');
if (text.value.indexOf('\{\{Новые сверху') != -1) {
var hdrregexp = /(\r?\n==.*==\r?\n)/;
if (text.value.search(hdrregexp) != -1) {
text.value = text.value.replace (hdrregexp, '\n'+warnString+'\n$1');
}
else text.value += '\n'+warnString+'\n';
}
else {
text.value += '\n'+warnString+'\n';
}
var minorcb = document.getElementById('wpMinoredit');
if (minorcb && minorcb.checked) minorcb.checked = false;
var section = document.getElementsByName('wpSection')[0];
var sum = document.getElementById('wpSummary');
if (sum && (section.value != "new")) sum.value = sumString;
}
function qwarnVandalism() {
postWarn('Предупреждение о [[ВП:Вандализм|вандализме]].', '== Предупреждение \{\{subst:CURRENTDAY\}\}.\{\{subst:CURRENTMONTH\}\}.\{\{subst:CURRENTYEAR\}\} ==\n\{\{Вандализм\}\} \~\~\~\~');
}
function qwarnVandalismDiff() {
var lnk = diffSimplify(prompt('Скопируйте сюда ссылку на дифф (будет упрощена автоматически):'));
postWarn('Предупреждение о [[ВП:Вандализм|вандализме]].', '== Предупреждение \{\{subst:CURRENTDAY\}\}.\{\{subst:CURRENTMONTH\}\}.\{\{subst:CURRENTYEAR\}\} ==\n\{\{Вандализм|diff='+lnk+'\}\} \~\~\~\~');
}
function qwarnSpam() {
postWarn('Предупреждение: [[ВП:Чем не является Википедия|Википедия не является каталогом ссылок]].', '\{\{subst:spam\}\} \~\~\~\~');
}
function qwarnSpamArt() {
postWarn('Предупреждение: [[ВП:Чем не является Википедия|Википедия не является площадкой для рекламы]].', '\{\{subst:Спам-статья\}\} \~\~\~\~');
}
function qwarnTest() {
postWarn('Предупреждение: используйте для тестов [[ВП:Песочница|песочницу]].', '\{\{subst:test\}\} \~\~\~\~');
}
function qwarnDelRemove() {
var pagename = prompt('Введите название статьи:');
postWarn('Предупреждение: неправомерное удаление шаблона о возможном удалении страницы.', '== Предупреждение \{\{subst:CURRENTDAY\}\}.\{\{subst:CURRENTMONTH\}\}.\{\{subst:CURRENTYEAR\}\} ==\n\{\{subst:уд-уд|'+pagename+'\}\} \~\~\~\~');
}
function qwarnCopyvio() {
var pagename = prompt('Введите название статьи:');
var cvurl = prompt('Скопируйте сюда ссылку на непереработанный материал:');
postWarn('Предупреждение: нарушение [[ВП:Авторские права|авторских прав]].', '\{\{subst:nothanks cv|url='+cvurl+'|'+pagename+'\}\} \~\~\~\~');
}
function qwarnCopyvioAgain() {
postWarn('Предупреждение: повторное нарушение [[ВП:Авторские права|авторских прав]].', '== Предупреждение \{\{subst:CURRENTDAY\}\}.\{\{subst:CURRENTMONTH\}\}.\{\{subst:CURRENTYEAR\}\} ==\n\{\{subst:Cv warning\}\} \~\~\~\~');
}
function qwarnNN() {
var pagename = prompt('Введите название статьи:');
postWarn('Спасибо, незначимо', '\{\{subst:СпасибоНезначимо|'+pagename+'\}\} \~\~\~\~');
}
function qwarnWelcome() {
postWarn('Добро пожаловать', '\{\{subst:welcome\}\} \~\~\~\~');
}
function qwarnAnon() {
postWarn('Зарегистрируйтесь!', '\{\{subst:anon\}\} \~\~\~\~');
}
var customizeToolbar = function () {
/*начало*/
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
'section': 'main',
'group': 'insert',
'tools': {
'warnbuttons': {
label: 'Предупреждения', // or use labelMsg for a localized label, see above
type: 'button',
icon: '//upload.wikimedia.org/wikipedia/commons/6/6d/Button_exclamation_1.png',
filters: [ 'body.ns-3' ],
action: {
type: 'callback',
execute: function(context){
warnbuttons();
}
}
}
}
} );
/*конец*/
};
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {
mw.loader.using( 'user.options' ).then( function () {
if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) {
$.when(
mw.loader.using( 'ext.wikiEditor' ), $.ready
).then( customizeToolbar );
}
} );
}
}() );