Користувач:LRBot/resize.js

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

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

  • Firefox / Safari: тримайте Shift, коли натискаєте Оновити, або натисніть Ctrl-F5 чи Ctrl-Shift-R (⌘-R на Apple Mac)
  • Google Chrome: натисніть Ctrl-Shift-R (⌘-Shift-R на Apple Mac)
  • Edge: тримайте Ctrl, коли натискаєте Оновити, або натисніть Ctrl-F5.
$(document).ready( function () {
  if((mw.config.get( 'wgNamespaceNumber' ) == 6 && mw.config.get('wgArticleId') > 0) || mw.config.get( 'wgPageName' ) == 'Користувач:LRBot/tests') {
  	 	mw.loader.using(['mediawiki.util']).done(function () {
        	var link = mw.util.addPortletLink( 'p-cactions', '#', 'Зменшити зображення' );
	        $( link ).click( function( e ) {
	        	e.preventDefault();
	        	lrbot.showDialog();
	        });
  	 	});
    }
});

lrbot = {
	template: 'User:LRBot/resize',
	
	showDialog: function() {
		if($('#lrb-resize-dialog').length === 0) {
			$( "#mw-content-text" ).append( "<div id=\"lrb-resize-dialog\" style=\"display:none;\" title=\"Зменшити зображення\"><p>Введіть ширину зображення в пікселях і невдовзі бот перевантажить нову версію файлу автоматично</p><p>Ширина:</p><input id=\"lrb-width\" value=\"220\" /><br /><input id=\"lrb-uploadlog\" type=\"checkbox\"/> Додати журнал завантажень в опис зображення</div>" );
		}
		mw.loader.using( 'jquery.ui', function () {
			$( "#lrb-resize-dialog" ).dialog({
	            buttons: {
	                "Зменшити": function() {
	                   lrbot.addTemplate();
	                }
	            }
	        });
		});
	},
	
	addTemplate: function() {
		var pageName = mw.config.get( 'wgPageName' );
		var width = $( '#lrb-width' ).val();
		var log = '';
		if( $( '#lrb-uploadlog' ).is( ':checked' ) ) {
			log = '|log';
		}
		$('#lrb-resize-dialog').html( 'Зачекайте, будь ласка...' );
		this.writeInPage(pageName, '{\{' + this.template + '|' + width + log + '}}', 'Запит на зменшення файлу', 'appendtext', false, function() {
			location.reload();
		});
	},
	
	writeInPage: function( title, content, summary, option, section, success ) {
        var param = {
        	action: 'edit', 
                title: title, 
                summary: summary, 
                watchlist: 'watch',
                token: mw.user.tokens.get( 'csrfToken' ),
                format: 'json'
        };
        param[ option || 'text' ] = content;
        if ( section )
                param.section = section;
        mw.loader.using(['mediawiki.util']).done(function () {
	        $.post( mw.util.wikiScript( 'api' ), param, function() {
	                if ( typeof( success ) === 'function' )
	                        success();
	        }); 
        });
	}
};