Difference between revisions 3762316 and 3762318 on simplewiki

// If TwinkleConfig aint exist.
if( typeof( TwinkleConfig ) == 'undefined' ) {
	TwinkleConfig = {};
}

/**
 TwinkleConfig.defaultGroup (int)
 if true, watch the page which has been dispatched an warning or notice, if false, default applies
(contracted; show full)			event:twinklewelcome.callback.change_category
		} );

    main_group.append( { type:'option', label:'Welcome messages', value:'welcome', selected: ( TwinkleConfig.defaultWarningGroup == 9 ) } );

	main_select.append( { type:'select', name:'sub_group', event:twinklewelcome.callback.change_subcategory } ); //Will be empty to begin with.


	form.append( {
			type:'input',
			name:'article',
			label:'Linked article',
			value:( QueryString.exists( 'vanarticle' ) ? QueryString.get( 'vanarticle' ) : '' ),
			tooltip:'An article might be linked to the notice, either it was a revert to said article that dispatched this notice. Leave empty for no article to be linked.'
		} );


	var more = form.append( { type:'field', label:'Fill in an optional personal message and hit \"Submit\"' } );
	more.append( { type:'textarea', label:'Personal message', name:'reason', tooltip:'Perhaps a personal warm welcome' } );
	more.append( { type:'submit', label:'Submit' } );
	var result = form.render();
	Window.setContent( result );
	Window.display();
	result.main_group.root = result;
(contracted; show full)			selected = true;
		}
		var elem = new QuickForm.element( { type:'option', label:"[" + i + "]: " + messages[i].label, value:i, selected: selected } );
		
		sub_group.appendChild( elem.render() );
	}


	if( value == 'block' ) {
		var more = new QuickForm.element( {
				type: 'input',
				name: 'block_timer',
				label: 'Period of blocking: ',
				tooltip: 'The period the blocking is due for, for example 24 hours, 2 weeks, indefinite etc...'
			} );
		e.target.root.insertBefore( more.render(), e.target.root.lastChild );
		if(!(twinklewelcome.prev_block_timer === null)) {
			e.target.root.block_timer.value = twinklewelcome.prev_block_timer;
			twinklewelcome.prev_block_timer = null;
		}		
		if(twinklewelcome.prev_article === null) {
			twinklewelcome.prev_article = e.target.root.article.value;
		}
		e.target.root.article.disabled = true;
		e.target.root.article.value = '';
	} else if( e.target.root.block_timer ) {
		if(!e.target.root.block_timer.disabled && twinklewelcome.prev_block_timer === null) {
			twinklewelcome.prev_block_timer = e.target.root.block_timer.value;
		}
		e.target.root.removeChild( e.target.root.block_timer.parentNode );
		if(e.target.root.article.disabled && !(twinklewelcome.prev_article === null)) {
			e.target.root.article.value = twinklewelcome.prev_article;
			twinklewelcome.prev_article = null;
		}
		e.target.root.article.disabled = false;
		if(e.target.root.reason.disabled && !(twinklewelcome.prev_reason === null)) {
			e.target.root.reason.value = twinklewelcome.prev_reason;
			twinklewelcome.prev_reason = null;
		}
		e.target.root.reason.disabled = false;
	}
}

twinklewelcome.callback.change_subcategory = function twinklewelcomeCallbackChangeSubcategory(e) {
	var main_group = e.target.main_group;
	var value = e.target.value;

	if( main_group == 'singlewarn' ) {
		if( value == 'uw-username' ) {
			if(twinklewelcome.prev_article === null) {
				twinklewelcome.prev_article = e.target.form.article.value;
			}
			e.target.form.article.disabled = true;
			e.target.form.article.value = '';
		} else if( e.target.form.article.disabled ) {
			if(!(twinklewelcome.prev_article === null)) {
				e.target.form.article.value = twinklewelcome.prev_article;
				twinklewelcome.prev_article = null;
			}
			e.target.form.article.disabled = false;
		}
	} else if( main_group == 'block' ) {
		if( value == 'uw-block3' || value == 'UsernameBlocked' || value == 'UsernameHardBlocked' || value == 'openproxy') {
			if(twinklewelcome.prev_block_timer === null) {
				twinklewelcome.prev_block_timer = e.target.form.block_timer.value;
			}
			e.target.form.block_timer.disabled = true;
			e.target.form.block_timer.value = 'indef';
		} else if( e.target.form.block_timer.disabled ) {
			if(!(twinklewelcome.prev_block_timer === null)) {
				e.target.form.block_timer.value = twinklewelcome.prev_block_timer;
				twinklewelcome.prev_block_timer = null;
			}
			e.target.form.block_timer.disabled = false;
		}

		if( value == 'uw-3block' ) {
			if(!(twinklewelcome.prev_article === null)) {
				e.target.form.article.value = twinklewelcome.prev_article;
				twinklewelcome.prev_article = null;
			}
			e.target.form.article.disabled = false;
		} else if( !e.target.form.article.disabled ) {
			if(twinklewelcome.prev_article === null) {
				twinklewelcome.prev_article = e.target.form.article.value;
			}
			e.target.form.article.disabled = true;
			e.target.form.article.value = '';
		}

		if( value == 'uw-block3') {
			if(!(twinklewelcome.prev_reason === null)) {
				e.target.form.reason.value = twinklewelcome.prev_reason;
				twinklewelcome.prev_reason = null;
			}
			e.target.form.reason.disabled = false;
		} else if( !e.target.form.reason.disabled ) {
			if(twinklewelcome.prev_reason === null) {
				twinklewelcome.prev_reason = e.target.form.reason.value;
			}
			e.target.form.reason.disabled = true;
			e.target.form.reason.value = '';
		}
	}
}

twinklewelcome.callbacks = {
	main: function( self ) {
		var form = self.responseXML.getElementById( 'editform' );
		var text = form.wpTextbox1.value;

		var history_re = /\<\!\-\-\ Template\:(uw\-.*?)\ \-\-\>.*?(\d{1,2}:\d{1,2}, \d{1,2} \w+ \d{4}) \(UTC\)/g;
		var history = {};
		var latest = { date:new Date( 0 ), type:'' };
(contracted; show full)	};
	Wikipedia.actionCompleted.redirect = wgPageName;
	Wikipedia.actionCompleted.notice = "Warning complete, reloading talk page in a few seconds";
	var wikipedia_wiki = new Wikipedia.wiki( 'User talk page modification', query, twinklewelcome.callbacks.main );
	wikipedia_wiki.params = params;
	wikipedia_wiki.followRedirect = true;
	wikipedia_wiki.get();
}