<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="id">
	<id>http://indonesianetaudioforum.net/wiki/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-Hotcatcheck.js</id>
	<title>MediaWiki:Gadget-Hotcatcheck.js - Riwayat revisi</title>
	<link rel="self" type="application/atom+xml" href="http://indonesianetaudioforum.net/wiki/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-Hotcatcheck.js"/>
	<link rel="alternate" type="text/html" href="http://indonesianetaudioforum.net/wiki/index.php?title=MediaWiki:Gadget-Hotcatcheck.js&amp;action=history"/>
	<updated>2026-06-09T23:35:28Z</updated>
	<subtitle>Riwayat revisi halaman ini di wiki</subtitle>
	<generator>MediaWiki 1.33.1</generator>
	<entry>
		<id>http://indonesianetaudioforum.net/wiki/index.php?title=MediaWiki:Gadget-Hotcatcheck.js&amp;diff=117&amp;oldid=prev</id>
		<title>Administrator: ←Membuat halaman berisi '/* * CheckCategories HotCat Extension – * removes the template when categorizing (prompts before) with HotCat and * adds a link &quot;Categories are OK&quot; to the category-s...'</title>
		<link rel="alternate" type="text/html" href="http://indonesianetaudioforum.net/wiki/index.php?title=MediaWiki:Gadget-Hotcatcheck.js&amp;diff=117&amp;oldid=prev"/>
		<updated>2018-07-26T06:18:01Z</updated>

		<summary type="html">&lt;p&gt;←Membuat halaman berisi &amp;#039;/* * CheckCategories HotCat Extension – * removes the template when categorizing (prompts before) with HotCat and * adds a link &amp;quot;Categories are OK&amp;quot; to the category-s...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Halaman baru&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/*&lt;br /&gt;
* CheckCategories HotCat Extension –&lt;br /&gt;
* removes the template when categorizing (prompts before) with HotCat and&lt;br /&gt;
* adds a link &amp;quot;Categories are OK&amp;quot; to the category-section&lt;br /&gt;
*&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;&lt;br /&gt;
*&lt;br /&gt;
* @rev 2 (2014-03-20)&lt;br /&gt;
* @author [[User:Rillke]], 2012&lt;br /&gt;
* @source User:Rillke/checkCat2.js @wikimedia Commons&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/*global mw:false, $:false, alert:false */&lt;br /&gt;
/*jshint curly:false, smarttabs:true, nomen:false */&lt;br /&gt;
&lt;br /&gt;
mw.loader.using(['mediawiki.user', 'mediawiki.util', 'jquery.cookie'], function () {&lt;br /&gt;
'use strict';&lt;br /&gt;
if (6 !== mw.config.get('wgNamespaceNumber') || window.HotCatAutoRemoveCheckCatOptOut || !$('.checkcategories')[0]) return;&lt;br /&gt;
&lt;br /&gt;
var chCatRE = /\{\{[Cc]heck[ _]categories[^\}\{]*\}\}/g,&lt;br /&gt;
	selfName = '([[MediaWiki:Gadget-Hotcatcheck.js|Script]]): ',&lt;br /&gt;
	cookieName = 'checkCat',&lt;br /&gt;
	cookie = $.cookie(cookieName);&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 ** A few styling helper functions&lt;br /&gt;
 **&lt;br /&gt;
 **/&lt;br /&gt;
var createjIcon = function (iconClass) {&lt;br /&gt;
	return $('&amp;lt;span&amp;gt;')&lt;br /&gt;
		.attr('class', 'ui-icon ' + iconClass + ' catcheck-inline-icon')&lt;br /&gt;
		.text(' ');&lt;br /&gt;
};&lt;br /&gt;
var createNotifyArea = function (textNode, icon, state) {&lt;br /&gt;
	return $('&amp;lt;div&amp;gt;')&lt;br /&gt;
		.attr('class', 'ui-widget')&lt;br /&gt;
		.append(&lt;br /&gt;
			$('&amp;lt;div&amp;gt;')&lt;br /&gt;
			.attr({&lt;br /&gt;
				'class': state + ' ui-corner-all',&lt;br /&gt;
				style: 'margin-top: 20px; padding: 0.7em;'&lt;br /&gt;
			})&lt;br /&gt;
			.append(&lt;br /&gt;
				$('&amp;lt;p&amp;gt;').append(&lt;br /&gt;
				createjIcon(icon).css('marginRight', '0.3em'),&lt;br /&gt;
				textNode)));&lt;br /&gt;
};&lt;br /&gt;
mw.util.addCSS('.catcheck-inline-icon { display: inline-block; position: relative; top: 2px; }');&lt;br /&gt;
&lt;br /&gt;
// Remove &amp;quot;check categories&amp;quot; when using HotCat&lt;br /&gt;
// Only executed on first submit&lt;br /&gt;
$('body').one('submit.checkCatListener', '#hotcatCommitForm', function (e) {&lt;br /&gt;
	if ('disabled' === cookie) return true;&lt;br /&gt;
&lt;br /&gt;
	var hotCatForm = this,&lt;br /&gt;
		newVal = hotCatForm.wpTextbox1.value.replace(chCatRE, ''),&lt;br /&gt;
		dlgButtons = {},&lt;br /&gt;
		$dlgCheckCookie, $permaSaveHint, $textHintNode, $dlg;&lt;br /&gt;
&lt;br /&gt;
	var doRemove = function () {&lt;br /&gt;
		hotCatForm.wpSummary.value = 'Removing [[Template:Check categories|{' + '{Check categories}}]] ' + hotCatForm.wpSummary.value;&lt;br /&gt;
		hotCatForm.wpTextbox1.value = newVal;&lt;br /&gt;
	};&lt;br /&gt;
	var writeCookie = function (val) {&lt;br /&gt;
		$.cookie(cookieName, val, {&lt;br /&gt;
			expires: 7,&lt;br /&gt;
			path: '/'&lt;br /&gt;
		});&lt;br /&gt;
	};&lt;br /&gt;
	dlgButtons['Yes, Remove'] = function () {&lt;br /&gt;
		doRemove();&lt;br /&gt;
		if ($dlgCheckCookie[0].checked) writeCookie('auto');&lt;br /&gt;
		$(this).dialog('close');&lt;br /&gt;
	};&lt;br /&gt;
	dlgButtons['No, keep it'] = function () {&lt;br /&gt;
		if ($dlgCheckCookie[0].checked) writeCookie('disabled');&lt;br /&gt;
		$(this).dialog('close');&lt;br /&gt;
	};&lt;br /&gt;
	var _addToJS = function (e) {&lt;br /&gt;
		e.preventDefault();&lt;br /&gt;
		if ($permaSaveHint.hasClass('ui-state-disabled')) return;&lt;br /&gt;
&lt;br /&gt;
		var $el = $(this);&lt;br /&gt;
&lt;br /&gt;
		$el.off('click').text('Please wait.');&lt;br /&gt;
		$permaSaveHint.addClass('ui-state-disabled');&lt;br /&gt;
		var params = {&lt;br /&gt;
			action: 'edit',&lt;br /&gt;
			title: 'User:' + mw.config.get('wgUserName') + '/common.js',&lt;br /&gt;
			summary: selfName + 'Saving HotCat configuration.',&lt;br /&gt;
			appendtext: $el.data('addText'),&lt;br /&gt;
			token: (window['wikilove-edittoken'] || mw.user.tokens.get('editToken')),&lt;br /&gt;
			format: 'json'&lt;br /&gt;
		};&lt;br /&gt;
		var editDone = function (editStat) {&lt;br /&gt;
			if (!editStat) return;&lt;br /&gt;
			if (editStat.error) {&lt;br /&gt;
				alert('Unable to save to your common.js using the API\n' + editStat.error.code + '\n' + editStat.error.info);&lt;br /&gt;
				$el.text('Edit-Error!');&lt;br /&gt;
			} else {&lt;br /&gt;
				$el.text('Done.');&lt;br /&gt;
				$permaSaveHint.fadeOut();&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
		$.post(mw.util.wikiScript('api'), params, editDone);&lt;br /&gt;
	};&lt;br /&gt;
	/**&lt;br /&gt;
	 ** On COM:VP there were people who said:&lt;br /&gt;
	 ** &amp;quot;Categorizing with HotCat does legit automated removal of the check-cat-message&amp;quot;&lt;br /&gt;
	 ** So we invented a dialog that should be readable by users even with very few English skills.&lt;br /&gt;
	 **/&lt;br /&gt;
	var prompt = function () {&lt;br /&gt;
		$dlgCheckCookie = $('&amp;lt;input type=&amp;quot;checkbox&amp;quot; /&amp;gt;').attr({&lt;br /&gt;
			id: 'hotCatAutoRemoveCheckCatCookie'&lt;br /&gt;
		}).change(function () {&lt;br /&gt;
			if (this.checked) {&lt;br /&gt;
				$permaSaveHint.fadeIn();&lt;br /&gt;
			} else {&lt;br /&gt;
				$permaSaveHint.fadeOut();&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		$textHintNode = $('&amp;lt;ul&amp;gt;');&lt;br /&gt;
		$('&amp;lt;li&amp;gt;').append($('&amp;lt;a&amp;gt;', {&lt;br /&gt;
			href: '#',&lt;br /&gt;
			text: 'Disable this feature.'&lt;br /&gt;
		}).data('addText', '\nwindow.HotCatAutoRemoveCheckCatOptOut = true;').click(_addToJS))&lt;br /&gt;
			.appendTo($textHintNode);&lt;br /&gt;
		$('&amp;lt;li&amp;gt;').append($('&amp;lt;a&amp;gt;', {&lt;br /&gt;
			href: '#',&lt;br /&gt;
			text: 'Remove {{check categories}} when editing using HotCat without prompting.'&lt;br /&gt;
		}).data('addText', '\nwindow.HotCatAutoRemoveCheckCat = true;').click(_addToJS))&lt;br /&gt;
			.appendTo($textHintNode);&lt;br /&gt;
&lt;br /&gt;
		$permaSaveHint = createNotifyArea($('&amp;lt;span&amp;gt;', {&lt;br /&gt;
			text: 'Save these setting in your common.js: '&lt;br /&gt;
		}).append($textHintNode), 'ui-icon-info', 'ui-state-highlight');&lt;br /&gt;
		$dlg = $('&amp;lt;div&amp;gt;').append($('&amp;lt;span&amp;gt;').attr({&lt;br /&gt;
			style: 'font-size: 2em; line-height: 1.8em;'&lt;br /&gt;
		}).append(&lt;br /&gt;
			$('&amp;lt;span&amp;gt;').text(&amp;quot; {{check categories}} &amp;quot;).attr({&lt;br /&gt;
			style: 'background-color:#F8CCB0; text-decoration:line-through !important; display:inline-block;'&lt;br /&gt;
		}),&lt;br /&gt;
			$('&amp;lt;span&amp;gt;').text(&amp;quot; ?&amp;quot;)))&lt;br /&gt;
			.append('&amp;lt;br&amp;gt;', $dlgCheckCookie, $('&amp;lt;label&amp;gt;').attr({&lt;br /&gt;
				'for': 'hotCatAutoRemoveCheckCatCookie'&lt;br /&gt;
			}).text('Don\'t ask again'), '&amp;lt;br&amp;gt;')&lt;br /&gt;
			.append(mw.user.isAnon() ? '' : $permaSaveHint.hide());&lt;br /&gt;
&lt;br /&gt;
		$dlg.dialog({&lt;br /&gt;
			modal: true,&lt;br /&gt;
			closeOnEscape: true,&lt;br /&gt;
			title: &amp;quot;{{check categories}} (−)?&amp;quot;,&lt;br /&gt;
			width: 450,&lt;br /&gt;
			buttons: dlgButtons,&lt;br /&gt;
			close: function () {&lt;br /&gt;
				$('#hotcatCommitForm').submit();&lt;br /&gt;
			},&lt;br /&gt;
			open: function () {&lt;br /&gt;
				var $buttons = $(this).parent().find('.ui-dialog-buttonpane button');&lt;br /&gt;
				$buttons.eq(0).button({&lt;br /&gt;
					icons: {&lt;br /&gt;
						primary: 'ui-icon-circle-check'&lt;br /&gt;
					}&lt;br /&gt;
				});&lt;br /&gt;
				$buttons.eq(1).button({&lt;br /&gt;
					icons: {&lt;br /&gt;
						primary: 'ui-icon-cancel'&lt;br /&gt;
					}&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
	};&lt;br /&gt;
	if (newVal !== hotCatForm.wpTextbox1.value) {&lt;br /&gt;
		if (window.HotCatAutoRemoveCheckCat || cookie === 'auto') {&lt;br /&gt;
			doRemove();&lt;br /&gt;
			return true;&lt;br /&gt;
		}&lt;br /&gt;
		e.preventDefault();&lt;br /&gt;
		mw.loader.using(['jquery.ui.dialog'], function () {&lt;br /&gt;
			prompt();&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
	return true;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Add OK-Link to the cats panel&lt;br /&gt;
var $okLink = $('&amp;lt;a&amp;gt;', {&lt;br /&gt;
	href: '#',&lt;br /&gt;
	html: '&amp;lt;s&amp;gt;{{Check categories}}&amp;lt;/s&amp;gt;',&lt;br /&gt;
	title: 'Categories are OK! Immediately remove the template.'&lt;br /&gt;
}).click(function (e) {&lt;br /&gt;
	e.preventDefault();&lt;br /&gt;
	var $el = $(this);&lt;br /&gt;
	$el.off('click');&lt;br /&gt;
	var doEdit = function (result) {&lt;br /&gt;
		if (!result) return;&lt;br /&gt;
		$el.text('Doing.');&lt;br /&gt;
		var text = result.replace(chCatRE, '');&lt;br /&gt;
		if (text === result) {&lt;br /&gt;
			$el.text('Template not found!');&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		var params = {&lt;br /&gt;
			action: 'edit',&lt;br /&gt;
			title: mw.config.get('wgPageName'),&lt;br /&gt;
			nocreate: 1,&lt;br /&gt;
			summary: selfName + 'Categories are checked and OK. You can help [[Category:Media needing category review|reviewing]]!',&lt;br /&gt;
			text: text,&lt;br /&gt;
			token: (window['wikilove-edittoken'] || mw.user.tokens.get('csrfToken')),&lt;br /&gt;
			format: 'json'&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		var editDone = function (editStat) {&lt;br /&gt;
			if (!editStat) return;&lt;br /&gt;
			if (editStat.error) {&lt;br /&gt;
				alert('Unable to remove &amp;quot;Check categories&amp;quot; with the API\n' + editStat.error.code + '\n' + editStat.error.info);&lt;br /&gt;
				$el.text('Edit-Error!');&lt;br /&gt;
			} else {&lt;br /&gt;
				$el.text('Edit Done.');&lt;br /&gt;
			}&lt;br /&gt;
			$('.checkcategories').fadeOut();&lt;br /&gt;
		};&lt;br /&gt;
		$el.text('Doing..');&lt;br /&gt;
		$.post(mw.util.wikiScript('api'), params, editDone);&lt;br /&gt;
	};&lt;br /&gt;
	$el.text('Doing');&lt;br /&gt;
	$.ajax({&lt;br /&gt;
		url: mw.config.get('wgScript'),&lt;br /&gt;
		data: {&lt;br /&gt;
			action: 'raw',&lt;br /&gt;
			title: mw.config.get('wgPageName').replace(/ /g, '_'),&lt;br /&gt;
			maxage: 0,&lt;br /&gt;
			smaxage: 0&lt;br /&gt;
		},&lt;br /&gt;
		dataType: 'text',&lt;br /&gt;
		error: function () {&lt;br /&gt;
			$el.text('Error!');&lt;br /&gt;
		},&lt;br /&gt;
		success: doEdit,&lt;br /&gt;
		type: 'GET',&lt;br /&gt;
		cache: false&lt;br /&gt;
	});&lt;br /&gt;
});&lt;br /&gt;
$(function () {&lt;br /&gt;
	$('#catlinks').find('ul:first').append($('&amp;lt;li&amp;gt;').append($okLink));&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
//&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
		
	</entry>
</feed>