User:SuperVedun/common.js

rfd = { $token: null, $reason: null, rfdPageExists: null, insert_tag: function(text) { var textbox = $( "#rfd-reason" ); textbox.textSelection( 'encapsulateSelection', { 'pre' : text } ); },	show_window: function { var $window = ' '; $( '#bodyContent' ).append( $.parseXML( $window ).firstChild ); $( '#rfd-confirm' )[0].onclick = function { rfd.execute }; $( '#rfd-cancel' )[0].onclick = function { $( 'div#rfd-window' ).remove; };	},	execute: function { this.$reason = $( '#rfd-reason' ).val; var titleParam = encodeURIComponent( this._rfd_page ) $.getJSON( wgScriptPath + '/api.php?format=json&action=query&prop=info&intoken=edit&titles=' + titleParam, function( $x ) { rfd.process_page( $x ) }); },	process_page: function( $data ) { for( var $i in $data['query']['pages'] ) { this.$token = $data['query']['pages'][$i]['edittoken']; this.rfdPageExists = $data.query.pages[$i].missing == undefined; }		$.getJSON( wgScriptPath + '/api.php?format=json&action=parse&page=' + this._ae(wgPageName) + '&prop=wikitext', function( $data ) {			if( typeof $data['parse'] == 'undefined' ) { alert( 'Статья уже не существует.' ); return false }			var $content = $data['parse']['wikitext']['*'];			if( $content.match( /{{к удалению/ig ) ) { alert( 'На статье уже стоит шаблон удаления.' ); return false }			var $template = (($('#rfd-forcewrap').is(':checked')) ? '<' + 'noinclude>' : '') + '{' + '{subst:afdd}}\n' + (($('#rfd-forcewrap').is(':checked')) ? '<' + '/noinclude>' : '');			$.post( wgScriptPath + '/api.php', { action: 'edit', title: wgPageName, minor: 0, watchlist: 'watch', summary: (($('#rfd-replace-sd-tmpl').is(':checked')) ? 'С быстрого на медленное' : 'Страница вынесена на') + ' удаление: тема (RfD.js)', token: rfd.$token, text: (($('#rfd-replace-sd-tmpl').is(':checked')) ? $content.replace(/\{\{db-.*\}\}/ig, $template) : $template + $content), basetimestamp: rfd._ts, format: 'json' }, function( $x ) { rfd.process_rfd( $x ) });		}); },	process_rfd: function( $data ) { console.log( $data ); return; if( $data['edit']['result'] == 'editconflict' ) { alert( 'Конфликт правок. Запустите скрипт ещё раз.' ); return false } var $h2 = wgPageName.replace( /_/g, ' ' ); var $n = '\n\n== | wgNamespaceNumber == 6 ) ? ':' :  ) + $h2 + ' ==\n'+ (($('#rfd-replace-sd-tmpl').is(':checked')) ? 'С быстрого удаления. ' : ) + rfd.$reason + ' — ' + ''; $.post( wgScriptPath + '/api.php', { action: 'edit', title: rfd._rfd_page, minor: 0, summary: (($('#rfd-replace-sd-tmpl').is(':checked')) ? 'с быстрого ' : '') + '\/*' + wgPageName + '*\/ новая тема (с помощью RfD.js)', token: rfd.$token, appendtext: (!rfd.rfdPageExists ? '\{\{ВПКУ-навигация\}\}' : '') + $n }, function { window.location = wgServer + '/wiki/' + rfd._rfd_page + '#' + wgPageName }); },	_rfd_page: function { var $date = new Date; return 'User:SuperVedun/114'; },	_xe: function( $i ) { return $i.replace(/\&/g,'&'+'amp;').replace(//g,'&'+'gt;').replace(/\'/g,'&'+'apos;').replace(/\"/g,'&'+'quot;');	},       _ae: function( $i ) {                return $i.replace(/\+/g,'%2B').replace(/&/g,'%26');        },	_ts: function {		var $d = new Date;		var $m = $d.getUTCMonth+1;		return $d.getUTCFullYear+'-'+($m<10?'0'+$m:$m)+'-'+$d.getUTCDate+'T'+$d.getUTCHours+':'+$d.getUTCMinutes+':'+$d.getUTCSeconds+'Z';	},	_months: [ 'января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря' ] } $( function {	if( wgCanonicalNamespace != 'Special' && wgArticleId && $('#ca-viewsource').length == 0) {		mw.util.addPortletLink("p-cactions", "javascript: rfd.show_window", "КУ", "ca-contrib", "Вынести на удаление");	} }); mw.loader.load( 'jquery.textSelection', 'text/javascript', false );