Користувач:Base/Скрипти/EditingPages.js

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Увага: Після публікування слід очистити кеш браузера, щоб побачити зміни.

  • Firefox / Safari: тримайте Shift, коли натискаєте Оновити, або натисніть Ctrl-F5 чи Ctrl-Shift-R (⌘-R на Apple Mac)
  • Google Chrome: натисніть Ctrl-Shift-R (⌘-Shift-R на Apple Mac)
  • Internet Explorer / Edge: тримайте Ctrl, коли натискаєте Оновити, або натисніть Ctrl-F5
  • Opera: натисніть Ctrl-F5
var replace = function() {
    var api = new mw.Api();

    api.get({
        action: 'query',
        generator: 'search',
        gsrsearch: prompt('Введіть пошуковий запит:'),// 'insource:igshid'
        gsrlimit: 2,
        prop: 'revisions',
        rvprop: ['ids', 'timestamp', 'flags', 'comment', 'user', 'content'],
        rvslots: '*',
    }).done(function (data) {
        console.log(data);

        Object.keys(data.query.pages).forEach(function (pageid) {
            var page = data.query.pages[pageid];
            var pageText = page.revisions[0].slots.main['*'];
            pageText = pageText.replace(/(&|\?)(fbcl|igsh|g)id=[A-Za-z0-9_-]*[/]?/g, '')
            console.log(pageText);

            api.post({
                action: 'edit',
                pageid: pageid,
                text: pageText,
                minor: true,
                summary: 'Вилучення артефактів соцмереж',
                token: mw.user.tokens.get('csrfToken')
            })
        });
    });
};

$.when( mw.loader.using( 'mediawiki.util' ), $.ready ).then( function () {
    console.log('mediawiki.util is loaded and we are about to add a portlet');
    var node = mw.util.addPortletLink(
        'p-tb',
        null,
        'Соцмережне сміття',
        'social-',
        null,
        null,
        '#p-coll-print_export'
    );
    $( node ).on( 'click', function ( e ) {
        replace();
        e.preventDefault();
    } );
});