Участник:T kns/cps.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.
function cpsSuccess(id) { return function (xml) { if ($('error', $(xml).text())[0]) $(id).css('background-color', 'red'); else $(id).css('background-color', 'lime'); } }function cpsHideAll() { $('.cpsSummaryItem').toggle(); $('#cpsEmbed, .cpsOldLink, .cpsLink').toggle(); }function cpsClear() { $('#wpSummary').val(''); $('.cpsSummaryItem').attr('class', 'cpsSummaryItem'); } $.get('/api.php', { titles: cpsTitle, action: 'query', prop: 'info', format: 'xmlfm' }, function (xml) { $.post('/api.php', { action: 'edit', title: cpsTitle, token: cpsToken, summary: 'Отмена правки ' + cpsRevid + ': ' + $('#wpSummary').val(), undo: cpsParseHref(cpsPrev, 'oldid'), undoafter: $('page', $(xml).text()).attr('lastrevid'), minor: '1' }, cpsSuccess('#cpsUndo')); $.post('/api.php', { action: 'edit', title: 'Lurkmore:Ban/public', token: cpsToken, summary: 'Auto', appendtext: '\n*{{diff|' + cpsRevid + '||' + cpsTitle + '}} -- ' + $('#wpSummary').val(), minor: '1' }, cpsSuccess('#cpsReport')); $.post('/api.php', { action: 'block', user: cpsUser, token: cpsToken, expiry: $('#wpBlockExpiry option:selected').attr('value'), reason: $('#wpBlockReasonList option:selected').attr('value') + ': {{brd|' + cpsRevid + '}}', nocreate: '1', autoblock: '1' }, cpsSuccess('#cpsBlock')); cpsBarHtmlMakeButton("cpsUndo", cpsUndo, "Будут откачены все изменения, внесённые после этой правки (кнопка желтого цвета)! Дождитесь зелёного цвета для завершения!", "Откатить"), cpsBarHtmlMakeButton("cpsReport", cpsReport, "Занесение ссылки на эту правку в публичную баню. В качестве описания к жалобе будет указан текст из поля ниже. Дождитесь зелёного цвета для завершения!", "Вызвать санитаров"), cpsBarHtmlMakeButton("cpsBlock", cpsBlock, "Ссылка на эту правку будет указана в причине блокировки. Дождитесь зелёного цвета для завершения!", "Покарать", "cpsSysop"), $('<input/>').attr({id: "wpSummary", type: "text", placeholder: "Описание правки"}).css('width', '90%').keydown(function(e){e.stopPropagation()}), $('<div id="userSummaryButtonsA"></div>').append('<select id="wpBlockReasonList" class="cpsSysop"></select>', '<select id="wpBlockExpiry" class="cpsSysop"></select>')var cpsBar = cpsBarHtml.add('<div id="cpsHeader" class="cpsLoader cpsNoDiff"></div>').add($('<div id="cpsContent"></div>').append('<div id="cpsDiff" class="cpsLoader"></div>', $('<div id="cpsList" class="cpsSysop cpsLoader"></div>').html(cpsLoaderHtml))); , cpsFrameHtml = $('<div id="cps" style="display:none"></div>').append($('<div id="cpsBackground" title="УБРАТЬ"></div>').click(cpsHide), $('<div id="cpsBar"></div>').append(cpsBar.clone()))<p><a id="cpsTitle"></a> (<a id="cpsDiffLink" title="Дифф">Д</a> | <a id="cpsHistory" title="История">И</a> | <a id="cpsEdit" title="Править">П</a>)</p>\<p><i id="cpsTime"></i>: <a id="cpsUser" title="Страница участника"></a> (<a id="cpsTalk" title="Обсуждение участника">О</a> | <a id="cpsContribution" title="Вклад участника">В</a>)</p>\ , cpsWorkspace = /diff=\w+|=edit|=submit|=history|:ban|:contributions|:recentchanges|:watchlist|:checkuser/i; cpsTitle = decodeURIComponent(cpsParseHref($('#differences-nextlink, #differences-prevlink').attr('href'), 'title')).replace(/_/g,' '); cpsRevid = cpsParseHref($('#mw-diff-ntitle1 a:first, #differences-nextlink').attr('href'), 'oldid'); cpsTime = $('#mw-diff-ntitle1 a:first')[0] ? $('#mw-diff-ntitle1 a:first').text().match(/(\d.+)/)[1] : '????'; if (cpsSysop) $.get('/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:Block/' + cpsUser, function (xml) { $('#cpsContent').css('height', ($('#cpsBar').innerHeight() - $('#cpsHeader').outerHeight() - $('#cpsControl').outerHeight() - 25) + 'px'); $('a[href*="diff="]:not(:contains("текущ."), :contains("проверить"))', contentframe).each(function (i) { if (cpsSysop) $('#cpsReport').remove(); else { $('.cpsSysop').remove(); $('#cpsDiff').css('height', '100%'); }; if (cpsSummary) $('#userSummaryButtonsA').prepend(cpsSummary.replace(/#(.*)@(.*)/g, '<a class="cpsSummaryItem" title="$2">$1</a>')); cpsSysop = (($.inArray('sysop', wgUserGroups) != -1) || ($.inArray('moderator', wgUserGroups) != -1)); $.get('/api.php', { titles: 'User:' + wgUserName + '/cps', action: 'query', prop: 'info|revisions', intoken: 'edit', rvprop: 'content', rvexpandtemplates: '1', rvlimit: '1', format: 'xmlfm' }, function (xml) {