Участник:Absconditus/is.js

/* 
Скрипт для установки других скриптов. 
v.1.1
*/
if (typeof cs == 'undefined') { var cs = 'common.js'; };
var ujsf = 'User:' + mw.config.get( 'wgUserName' ) + '/' + cs;
	isToken = 'undefined';
	scrp = mw.config.get( 'wgPageName' );
	
function show_link() {
	if(mw.config.get('wgPageName').match(/\.js$/) && !(location.href.match(/\/(monobook|vector|myskin|standart|cologneblue|myskin|common|simple)/)) && mw.config.get( 'wgArticleId' ) && (mw.config.get( 'wgCanonicalNamespace' ) == 'User'||mw.config.get( 'wgCanonicalNamespace' ) == 'MediaWiki') ) {
      var h1 = document.getElementById('firstHeading');
      h1.innerHTML = h1.innerHTML + '<span id="pt-is" style="font-size:85%;"> <a href="javascript:show_window()" title="Установить этот скрипт в личный JS-файл">(установить скрипт)</a></span>';
	//mw.util.addPortletLink('p-personal', 'javascript:show_window()', 'Установить скрипт', 'pt-is', 'Установить этот скрипт в личный JS-файл', null, '#pt-userpage');
	};
};

function show_window() {
		var window = '<div xmlns="http://www.w3.org/1999/xhtml" id="is-window" style="background: white; border:1px double black; padding: 15px; position: fixed; top: 100px; left: 200px; z-index: 2; height: 100px; width: 200px; text-align:left;"><table>' +
			'<tr><td>Установить скрипт <i>' + scrp.replace(/^.*\//, '') + '</i> в ваш ' + cs + '? (<a href="//ru.wikipedia.org/wiki/user_talk:Absconditus/is.js\#Описание_работы_скрипта" target="_blank">подробнее</a>)</td></tr>' + 
			'<tr><td><input type="button" id="is-make-comment" value="С \/\/комментарием:" style="float:right" onclick="show_comments()"/></td></tr>' +
			'<tr><td><div id="isComment" style="display: none"><input type="checkbox" id="allow-comment"/><textarea id="is-comment" rows="1" cols="60"></textarea></div></td></tr>'+ 
			'<tr><td><input type="button" id="is-confirm" value="Да" /><input type="button" id="is-cancel" value="Нет" /></td></tr>' + 
			'</table></div>';
		$( '#bodyContent' ).append( $.parseXML( window ).firstChild );
		$( '#is-confirm' )[0].onclick = function() { makeInstallation(); };
		$( '#is-cancel' )[0].onclick = function() {
			$( 'div#is-window' ).remove();
		};
};

function show_comments() {
	$( "#isComment" ).toggle();
};

function makeInstallation() {
        $.getJSON( mw.config.get( 'wgScriptPath' ) + '/api.php?action=tokens&format=json', function( resp ) {
        $.post( mw.config.get( 'wgScriptPath' ) + '/api.php', { action: 'edit', title: ujsf, minor: 1, summary: '+ [[' + scrp + ']] (с помощью [[user talk:Absconditus/is.js|is.js]])', token: resp.tokens.edittoken, appendtext: '\n' + (($('#allow-comment').is(':checked')) ? '\/\/' + $('#is-comment').val() + '\n' : '') + 'importScript\(\'' + scrp + '\'\);' }, function() { window.location = mw.config.get( 'wgServer' ) + '/wiki/' + ujsf });
		});
};

$(show_link);

 

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia