<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="nl">
	<id>https://informatiestandaarden.test-nictiz.nl/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-twinkleprod.js</id>
	<title>MediaWiki:Gadget-twinkleprod.js - Bewerkingsoverzicht</title>
	<link rel="self" type="application/atom+xml" href="https://informatiestandaarden.test-nictiz.nl/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-twinkleprod.js"/>
	<link rel="alternate" type="text/html" href="https://informatiestandaarden.test-nictiz.nl/index.php?title=MediaWiki:Gadget-twinkleprod.js&amp;action=history"/>
	<updated>2026-04-23T18:45:34Z</updated>
	<subtitle>Bewerkingsoverzicht voor deze pagina op de wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://informatiestandaarden.test-nictiz.nl/index.php?title=MediaWiki:Gadget-twinkleprod.js&amp;diff=3279&amp;oldid=prev</id>
		<title>Ahenket: 1 versie: Twinkle</title>
		<link rel="alternate" type="text/html" href="https://informatiestandaarden.test-nictiz.nl/index.php?title=MediaWiki:Gadget-twinkleprod.js&amp;diff=3279&amp;oldid=prev"/>
		<updated>2013-07-19T18:37:38Z</updated>

		<summary type="html">&lt;p&gt;1 versie: Twinkle&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nieuwe pagina&lt;/b&gt;&lt;/p&gt;&lt;div&gt;//&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(function($){&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 ****************************************&lt;br /&gt;
 *** twinkleprod.js: PROD module&lt;br /&gt;
 ****************************************&lt;br /&gt;
 * Mode of invocation:     Tab (&amp;quot;PROD&amp;quot;)&lt;br /&gt;
 * Active on:              Existing articles which are not redirects&lt;br /&gt;
 * Config directives in:   TwinkleConfig&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
Twinkle.prod = function twinkleprod() {&lt;br /&gt;
	if( mw.config.get(&amp;#039;wgNamespaceNumber&amp;#039;) !== 0 || !mw.config.get(&amp;#039;wgCurRevisionId&amp;#039;) || Morebits.wiki.isPageRedirect() ) {&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	Twinkle.addPortletLink( Twinkle.prod.callback, &amp;quot;PROD&amp;quot;, &amp;quot;tw-prod&amp;quot;, &amp;quot;Propose deletion via WP:PROD&amp;quot; );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.prod.callback = function twinkleprodCallback() {&lt;br /&gt;
	Twinkle.prod.defaultReason = Twinkle.getPref(&amp;#039;prodReasonDefault&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
	var Window = new Morebits.simpleWindow( 800, 410 );&lt;br /&gt;
	Window.setTitle( &amp;quot;Proposed deletion (PROD)&amp;quot; );&lt;br /&gt;
	Window.setScriptName( &amp;quot;Twinkle&amp;quot; );&lt;br /&gt;
	Window.addFooterLink( &amp;quot;Proposed deletion policy&amp;quot;, &amp;quot;WP:PROD&amp;quot; );&lt;br /&gt;
	Window.addFooterLink( &amp;quot;BLP PROD policy&amp;quot;, &amp;quot;WP:BLPPROD&amp;quot; );&lt;br /&gt;
	Window.addFooterLink( &amp;quot;Twinkle help&amp;quot;, &amp;quot;WP:TW/DOC#prod&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
	var form = new Morebits.quickForm( Twinkle.prod.callback.evaluate );&lt;br /&gt;
	&lt;br /&gt;
	var field = form.append( {&lt;br /&gt;
			type: &amp;#039;field&amp;#039;,&lt;br /&gt;
			label: &amp;#039;PROD type&amp;#039;&lt;br /&gt;
		} );&lt;br /&gt;
	field.append( {&lt;br /&gt;
			type: &amp;#039;radio&amp;#039;,&lt;br /&gt;
			name: &amp;#039;prodtype&amp;#039;,&lt;br /&gt;
			event: Twinkle.prod.callback.prodtypechanged,&lt;br /&gt;
			list: [&lt;br /&gt;
				{&lt;br /&gt;
					label: &amp;#039;PROD (proposed deletion)&amp;#039;,&lt;br /&gt;
					value: &amp;#039;prod&amp;#039;,&lt;br /&gt;
					checked: true,&lt;br /&gt;
					tooltip: &amp;#039;Normal proposed deletion, per [[WP:PROD]]&amp;#039;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					label: &amp;#039;BLP PROD (proposed deletion of unsourced BLPs)&amp;#039;,&lt;br /&gt;
					value: &amp;#039;prodblp&amp;#039;,&lt;br /&gt;
					tooltip: &amp;#039;Proposed deletion of new, completely unsourced biographies of living persons, per [[WP:BLPPROD]]&amp;#039;&lt;br /&gt;
				}&lt;br /&gt;
			]&lt;br /&gt;
		} );&lt;br /&gt;
&lt;br /&gt;
	form.append( {&lt;br /&gt;
			type: &amp;#039;field&amp;#039;,&lt;br /&gt;
			label:&amp;#039;Work area&amp;#039;,&lt;br /&gt;
			name: &amp;#039;work_area&amp;#039;&lt;br /&gt;
		} );&lt;br /&gt;
&lt;br /&gt;
	form.append( { type:&amp;#039;submit&amp;#039;, label:&amp;#039;Propose deletion&amp;#039; } );	&lt;br /&gt;
&lt;br /&gt;
	var result = form.render();&lt;br /&gt;
	Window.setContent( result );&lt;br /&gt;
	Window.display();&lt;br /&gt;
	&lt;br /&gt;
	// fake a change event on the first prod type radio, to initialize the type-dependent controls&lt;br /&gt;
	var evt = document.createEvent( &amp;quot;Event&amp;quot; );&lt;br /&gt;
	evt.initEvent( &amp;#039;change&amp;#039;, true, true );&lt;br /&gt;
	result.prodtype[0].dispatchEvent( evt );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.prod.callback.prodtypechanged = function(event) {&lt;br /&gt;
  //prepare frame for prod type dependant controls&lt;br /&gt;
	var field = new Morebits.quickForm.element( {&lt;br /&gt;
			type: &amp;#039;field&amp;#039;,&lt;br /&gt;
			label: &amp;#039;Parameters&amp;#039;,&lt;br /&gt;
			name: &amp;#039;work_area&amp;#039;&lt;br /&gt;
		} );&lt;br /&gt;
	// create prod type dependant controls&lt;br /&gt;
	switch( event.target.values )&lt;br /&gt;
	{&lt;br /&gt;
		case &amp;#039;prod&amp;#039;:&lt;br /&gt;
			field.append( {&lt;br /&gt;
					type: &amp;#039;checkbox&amp;#039;,&lt;br /&gt;
					list: [&lt;br /&gt;
						{&lt;br /&gt;
							label: &amp;#039;Notify page creator if possible&amp;#039;,&lt;br /&gt;
							value: &amp;#039;notify&amp;#039;,&lt;br /&gt;
							name: &amp;#039;notify&amp;#039;,&lt;br /&gt;
							tooltip: &amp;quot;A notification template will be placed on the creator&amp;#039;s talk page if this is true.&amp;quot;,&lt;br /&gt;
							checked: true&lt;br /&gt;
						}&lt;br /&gt;
					]&lt;br /&gt;
				}&lt;br /&gt;
			);&lt;br /&gt;
			field.append( {&lt;br /&gt;
					type: &amp;#039;textarea&amp;#039;,&lt;br /&gt;
					name: &amp;#039;reason&amp;#039;,&lt;br /&gt;
					label: &amp;#039;Reason for proposed deletion:&amp;#039;,&lt;br /&gt;
					value: Twinkle.prod.defaultReason&lt;br /&gt;
				} );&lt;br /&gt;
			break;&lt;br /&gt;
&lt;br /&gt;
		case &amp;#039;prodblp&amp;#039;:&lt;br /&gt;
			// first, remember the prod value that the user entered in the textarea, in case he wants to switch back. We can abuse the config field for that.&lt;br /&gt;
			if (event.target.form.reason) {&lt;br /&gt;
				Twinkle.prod.defaultReason = event.target.form.reason.value;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			field.append( {&lt;br /&gt;
					type: &amp;#039;checkbox&amp;#039;,&lt;br /&gt;
					list: [&lt;br /&gt;
						{&lt;br /&gt;
							label: &amp;#039;Notify page creator if possible&amp;#039;,&lt;br /&gt;
							value: &amp;#039;notify&amp;#039;,&lt;br /&gt;
							name: &amp;#039;notify&amp;#039;,&lt;br /&gt;
							tooltip: &amp;#039;Creator of article has to be notified.&amp;#039;,&lt;br /&gt;
							checked: true,&lt;br /&gt;
							disabled: true&lt;br /&gt;
						}&lt;br /&gt;
					]&lt;br /&gt;
				}&lt;br /&gt;
			);&lt;br /&gt;
			//temp warning, can be removed down the line once BLPPROD is more established. Amalthea, May 2010.&lt;br /&gt;
			var boldtext = document.createElement(&amp;#039;b&amp;#039;);&lt;br /&gt;
			boldtext.appendChild(document.createTextNode(&amp;#039;Please note that only unsourced biographies of living persons are eligible for this tag, narrowly construed.&amp;#039;));&lt;br /&gt;
			field.append({&lt;br /&gt;
				type: &amp;#039;div&amp;#039;,&lt;br /&gt;
				label: boldtext&lt;br /&gt;
			});&lt;br /&gt;
			if (mw.config.get(&amp;#039;wgArticleId&amp;#039;) &amp;lt; 26596183)&lt;br /&gt;
			{&lt;br /&gt;
				field.append({&lt;br /&gt;
					type: &amp;#039;header&amp;#039;,&lt;br /&gt;
					label: &amp;#039;It appears that this article was created before March 18, 2010, and is thus ineligible for a BLP PROD. Please make sure that this is not the case, or use normal PROD instead.&amp;#039;&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
			break;&lt;br /&gt;
&lt;br /&gt;
		default:&lt;br /&gt;
			break;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	event.target.form.replaceChild( field.render(), $(event.target.form).find(&amp;#039;fieldset[name=&amp;quot;work_area&amp;quot;]&amp;#039;)[0] );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.prod.callbacks = {&lt;br /&gt;
	main: function(pageobj) {&lt;br /&gt;
		var statelem = pageobj.getStatusElement();&lt;br /&gt;
&lt;br /&gt;
		if( !pageobj.exists() ) {&lt;br /&gt;
			statelem.error( &amp;quot;It seems that the page doesn&amp;#039;t exist.  Perhaps it has already been deleted.&amp;quot; );&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var text = pageobj.getPageText();&lt;br /&gt;
		var params = pageobj.getCallbackParameters();&lt;br /&gt;
&lt;br /&gt;
		var tag_re = /(\{\{(?:db-?|delete|[aitcmrs]fd|md1)[^{}]*?\|?[^{}]*?\}\})/i;&lt;br /&gt;
		if( tag_re.test( text ) ) {&lt;br /&gt;
			statelem.warn( &amp;#039;Page already tagged with a deletion template, aborting procedure&amp;#039; );&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// Remove tags that become superfluous with this action&lt;br /&gt;
		text = text.replace(/\{\{\s*(New unreviewed article|Userspace draft)\s*(\|(?:\{\{[^{}]*\}\}|[^{}])*)?\}\}\s*/ig, &amp;quot;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
		var prod_re = /\{\{\s*(?:dated prod|dated prod blp|Prod blp\/dated|Proposed deletion\/dated)\s*\|(?:\{\{[^\{\}]*\}\}|[^\}\{])*\}\}/i;&lt;br /&gt;
		var summaryText;&lt;br /&gt;
		if( !prod_re.test( text ) ) {&lt;br /&gt;
			// Notification to first contributor&lt;br /&gt;
			if( params.usertalk ) {&lt;br /&gt;
				var thispage = new Morebits.wiki.page(mw.config.get(&amp;#039;wgPageName&amp;#039;));&lt;br /&gt;
				thispage.setCallbackParameters(params);&lt;br /&gt;
				thispage.lookupCreator(Twinkle.prod.callbacks.userNotification);&lt;br /&gt;
			}&lt;br /&gt;
			// If not notifying, log this PROD&lt;br /&gt;
			else if( Twinkle.getPref(&amp;#039;logProdPages&amp;#039;) ) {&lt;br /&gt;
				Twinkle.prod.callbacks.addToLog(params, null);&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			summaryText = &amp;quot;Proposing article for deletion per [[WP:&amp;quot; + (params.blp ? &amp;quot;BLP&amp;quot; : &amp;quot;&amp;quot;) + &amp;quot;PROD]].&amp;quot;;&lt;br /&gt;
			text = &amp;quot;{{subst:prod&amp;quot; + (params.blp ? &amp;quot; blp&amp;quot; : (&amp;quot;|1=&amp;quot; + Morebits.string.formatReasonText(params.reason))) + &amp;quot;}}\n&amp;quot; + text;&lt;br /&gt;
		}&lt;br /&gt;
		else {  // already tagged for PROD, so try endorsing it&lt;br /&gt;
			var prod2_re = /\{\{(?:Proposed deletion endorsed|prod-?2).*?\}\}/;&lt;br /&gt;
			if( prod2_re.test( text ) ) {&lt;br /&gt;
				statelem.warn( &amp;#039;Page already tagged with {{prod}} and {{prod-2}} templates, aborting procedure&amp;#039; );&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			var confirmtext = &amp;quot;A {{prod}} tag was already found on this article. \nWould you like to add a {{prod-2}} (PROD endorsement) tag with your explanation?&amp;quot;;&lt;br /&gt;
			if (params.blp) {&lt;br /&gt;
				confirmtext = &amp;quot;A non-BLP {{prod}} tag was found on this article.  \nWould you like to add a {{prod-2}} (PROD endorsement) tag with explanation \&amp;quot;article is a biography of a living person with no sources\&amp;quot;?&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
			if( !confirm( confirmtext ) ) {&lt;br /&gt;
				statelem.warn( &amp;#039;Aborted per user request&amp;#039; );&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			summaryText = &amp;quot;Endorsing proposed deletion per [[WP:&amp;quot; + (params.blp ? &amp;quot;BLP&amp;quot; : &amp;quot;&amp;quot;) + &amp;quot;PROD]].&amp;quot;;&lt;br /&gt;
			text = text.replace( prod_re, text.match( prod_re ) + &amp;quot;\n{{prod-2|1=&amp;quot; + (params.blp ?&lt;br /&gt;
				&amp;quot;article is a [[WP:BLPPROD|biography of a living person with no sources]]&amp;quot; : &lt;br /&gt;
				Morebits.string.formatReasonText(params.reason)) + &amp;quot;}}\n&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
			if( Twinkle.getPref(&amp;#039;logProdPages&amp;#039;) ) {&lt;br /&gt;
				params.logEndorsing = true;&lt;br /&gt;
				Twinkle.prod.callbacks.addToLog(params);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		pageobj.setPageText(text);&lt;br /&gt;
		pageobj.setEditSummary(summaryText + Twinkle.getPref(&amp;#039;summaryAd&amp;#039;));&lt;br /&gt;
		pageobj.setWatchlist(Twinkle.getPref(&amp;#039;watchProdPages&amp;#039;));&lt;br /&gt;
		pageobj.setCreateOption(&amp;#039;nocreate&amp;#039;);&lt;br /&gt;
		pageobj.save();&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	userNotification: function(pageobj) {&lt;br /&gt;
		var params = pageobj.getCallbackParameters();&lt;br /&gt;
		var initialContrib = pageobj.getCreator();&lt;br /&gt;
		var usertalkpage = new Morebits.wiki.page(&amp;#039;User talk:&amp;#039; + initialContrib, &amp;quot;Notifying initial contributor (&amp;quot; + initialContrib + &amp;quot;)&amp;quot;);&lt;br /&gt;
		var notifytext = &amp;quot;\n{{subst:prodwarning&amp;quot; + (params.blp ? &amp;quot;BLP&amp;quot; : &amp;quot;&amp;quot;) + &amp;quot;|1=&amp;quot; + Morebits.pageNameNorm + &amp;quot;|concern=&amp;quot; + params.reason + &amp;quot;}} ~~~~&amp;quot;;&lt;br /&gt;
		usertalkpage.setAppendText(notifytext);&lt;br /&gt;
		usertalkpage.setEditSummary(&amp;quot;Notification: proposed deletion of [[&amp;quot; + Morebits.pageNameNorm + &amp;quot;]].&amp;quot; + Twinkle.getPref(&amp;#039;summaryAd&amp;#039;));&lt;br /&gt;
		usertalkpage.setCreateOption(&amp;#039;recreate&amp;#039;);&lt;br /&gt;
		usertalkpage.setFollowRedirect(true);&lt;br /&gt;
		usertalkpage.append();&lt;br /&gt;
		if (Twinkle.getPref(&amp;#039;logProdPages&amp;#039;)) {&lt;br /&gt;
			params.logInitialContrib = initialContrib;&lt;br /&gt;
			Twinkle.prod.callbacks.addToLog(params);&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	addToLog: function(params) {&lt;br /&gt;
		var wikipedia_page = new Morebits.wiki.page(&amp;quot;User:&amp;quot; + mw.config.get(&amp;#039;wgUserName&amp;#039;) + &amp;quot;/&amp;quot; + Twinkle.getPref(&amp;#039;prodLogPageName&amp;#039;), &amp;quot;Adding entry to userspace log&amp;quot;);&lt;br /&gt;
		wikipedia_page.setCallbackParameters(params);&lt;br /&gt;
		wikipedia_page.load(Twinkle.prod.callbacks.saveLog);&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	saveLog: function(pageobj) {&lt;br /&gt;
		var text = pageobj.getPageText();&lt;br /&gt;
		var params = pageobj.getCallbackParameters();&lt;br /&gt;
&lt;br /&gt;
		// add blurb if log page doesn&amp;#039;t exist&lt;br /&gt;
		if (!pageobj.exists()) {&lt;br /&gt;
			text =&lt;br /&gt;
				&amp;quot;This is a log of all [[WP:PROD|proposed deletion]] tags applied or endorsed by this user using [[WP:TW|Twinkle]]&amp;#039;s PROD module.\n\n&amp;quot; +&lt;br /&gt;
				&amp;quot;If you no longer wish to keep this log, you can turn it off using the [[Wikipedia:Twinkle/Preferences|preferences panel]], and &amp;quot; +&lt;br /&gt;
				&amp;quot;nominate this page for speedy deletion under [[WP:CSD#U1|CSD U1]].\n&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// create monthly header&lt;br /&gt;
		var date = new Date();&lt;br /&gt;
		var headerRe = new RegExp(&amp;quot;^==+\\s*&amp;quot; + date.getUTCMonthName() + &amp;quot;\\s+&amp;quot; + date.getUTCFullYear() + &amp;quot;\\s*==+&amp;quot;, &amp;quot;m&amp;quot;);&lt;br /&gt;
		if (!headerRe.exec(text)) {&lt;br /&gt;
			text += &amp;quot;\n\n=== &amp;quot; + date.getUTCMonthName() + &amp;quot; &amp;quot; + date.getUTCFullYear() + &amp;quot; ===&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var summarytext;&lt;br /&gt;
		if (params.logEndorsing) {&lt;br /&gt;
			text += &amp;quot;\n# [[&amp;quot; + Morebits.pageNameNorm + &amp;quot;]]: endorsed &amp;quot; + (params.blp ? &amp;quot;BLP &amp;quot; : &amp;quot;&amp;quot;) + &amp;quot;PROD. ~~~~~&amp;quot;;&lt;br /&gt;
			if (params.reason) {&lt;br /&gt;
				text += &amp;quot;\n#* &amp;#039;&amp;#039;&amp;#039;Reason&amp;#039;&amp;#039;&amp;#039;: &amp;quot; + params.reason + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
			summarytext = &amp;quot;Logging endorsement of PROD nomination of [[&amp;quot; + Morebits.pageNameNorm + &amp;quot;]].&amp;quot;;&lt;br /&gt;
		} else {&lt;br /&gt;
			text += &amp;quot;\n# [[&amp;quot; + Morebits.pageNameNorm + &amp;quot;]]: &amp;quot; + (params.blp ? &amp;quot;BLP &amp;quot; : &amp;quot;&amp;quot;) + &amp;quot;PROD&amp;quot;;&lt;br /&gt;
			if (params.logInitialContrib) {&lt;br /&gt;
				text += &amp;quot;; notified {{user|&amp;quot; + params.logInitialContrib + &amp;quot;}}&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
			text += &amp;quot; ~~~~~\n&amp;quot;;&lt;br /&gt;
			if (!params.blp) {&lt;br /&gt;
				text += &amp;quot;#* &amp;#039;&amp;#039;&amp;#039;Reason&amp;#039;&amp;#039;&amp;#039;: &amp;quot; + params.reason + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
			summarytext = &amp;quot;Logging PROD nomination of [[&amp;quot; + Morebits.pageNameNorm + &amp;quot;]].&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		pageobj.setPageText(text);&lt;br /&gt;
		pageobj.setEditSummary(summarytext + Twinkle.getPref(&amp;#039;summaryAd&amp;#039;));&lt;br /&gt;
		pageobj.setCreateOption(&amp;quot;recreate&amp;quot;);&lt;br /&gt;
		pageobj.save();&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.prod.callback.evaluate = function twinkleprodCallbackEvaluate(e) {&lt;br /&gt;
	var form = e.target;&lt;br /&gt;
	var prodtype;&lt;br /&gt;
&lt;br /&gt;
	var prodtypes = form.prodtype;&lt;br /&gt;
	for( var i = 0; i &amp;lt; prodtypes.length; i++ )&lt;br /&gt;
	{&lt;br /&gt;
		if( !prodtypes[i].checked ) {&lt;br /&gt;
			continue;&lt;br /&gt;
		}&lt;br /&gt;
		prodtype = prodtypes[i].values;&lt;br /&gt;
		break;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var params = {&lt;br /&gt;
		usertalk: form.notify.checked,&lt;br /&gt;
		blp: prodtype === &amp;#039;prodblp&amp;#039;,&lt;br /&gt;
		reason: prodtype === &amp;#039;prodblp&amp;#039; ? &amp;#039;&amp;#039; : form.reason.value  // using an empty string here as fallback will help with prod-2.&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	Morebits.simpleWindow.setButtonsEnabled( false );&lt;br /&gt;
	Morebits.status.init( form );&lt;br /&gt;
&lt;br /&gt;
	if (prodtype === &amp;#039;prodblp&amp;#039; &amp;amp;&amp;amp; mw.config.get(&amp;#039;wgArticleId&amp;#039;) &amp;lt; 26596183)&lt;br /&gt;
	{&lt;br /&gt;
		if (!confirm( &amp;quot;It appears that this article was created before March 18, 2010, and is thus ineligible for a BLP PROD. Do you want to continue tagging it?&amp;quot; ))&lt;br /&gt;
		{&lt;br /&gt;
			Morebits.status.warn( &amp;#039;Notice&amp;#039;, &amp;#039;Aborting per user input.&amp;#039; );&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	Morebits.wiki.actionCompleted.redirect = mw.config.get(&amp;#039;wgPageName&amp;#039;);&lt;br /&gt;
	Morebits.wiki.actionCompleted.notice = &amp;quot;Tagging complete&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	var wikipedia_page = new Morebits.wiki.page(mw.config.get(&amp;#039;wgPageName&amp;#039;), &amp;quot;Tagging page&amp;quot;);&lt;br /&gt;
	wikipedia_page.setFollowRedirect(true);  // for NPP, and also because redirects are ineligible for PROD&lt;br /&gt;
	wikipedia_page.setCallbackParameters(params);&lt;br /&gt;
	wikipedia_page.load(Twinkle.prod.callbacks.main);&lt;br /&gt;
};&lt;br /&gt;
})(jQuery);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ahenket</name></author>
	</entry>
</feed>