User:Ou0430/Friendly/friendlywarn.js

维基新闻,自由的新闻源

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
  • Opera:Ctrl-F5
//Original TW code

// If FriendlyConfig aint exist.
if( typeof( FriendlyConfig ) == 'undefined' ) {
	FriendlyConfig = {};
}
 
/**
 FriendlyConfig.defaultGroup (int)
 if true, watch the page which has been dispatched an warning or notice, if false, default applies
 */
if( typeof( FriendlyConfig.defaultWarningGroup ) == 'undefined' ) {
	FriendlyConfig.defaultWarningGroup = 1;
}
 
/**
 FriendlyConfig.showSharedIPNotice may take arguments:
 true: to show shared ip notice if an IP address
 false: to not print the notice
 */
if( typeof( FriendlyConfig.showSharedIPNotice ) == 'undefined' ) {
	FriendlyConfig.showSharedIPNotice = true;
}
 
/**
 FriendlyConfig.watchWarnings (boolean)
 if true, watch the page which has been dispatched an warning or notice, if false, default applies
 */
if( typeof( FriendlyConfig.watchWarnings ) == 'undefined' ) {
	FriendlyConfig.watchWarnings = false;
}
 
/**
 FriendlyConfig.blankTalkpageOnIndefBlock (boolean)
 if true, blank the talk page when issuing an indef block notice (per [[WP:UW#Indefinitely blocked users]])
 */
if( typeof( FriendlyConfig.blankTalkpageOnIndefBlock ) == 'undefined' ) {
	FriendlyConfig.blankTalkpageOnIndefBlock = false;
}
 
/**
 FriendlyConfig.summaryAd (string)
 If ad should be added or not to summary, default [[WP:FRIENDLY|Friendly]]
 */
if( typeof( FriendlyConfig.summaryAd ) == 'undefined' ) {
	FriendlyConfig.summaryAd = " using [[WP:FRIENDLY|Friendly]]";
}
 
function friendlywarn() {
	if( wgNamespaceNumber == 3 ) {
		twAddPortletLink( (userIsInGroup( 'autoconfirmed' ) ? "javascript:friendlywarn.callback()" : 'javascript:alert("您必須首先達到自動確認。");'), "警告", "friendly-warn", "警告用戶", "");
	}
}
$(friendlywarn);
 
friendlywarn.callback = function friendlywarnCallback() {
	var Window = new SimpleWindow( 600, 400 );
	Window.setTitle( "Warn/Notify user" ); 
	var form = new QuickForm( friendlywarn.callback.evaluate );
 
	var main_select = form.append( {
			type:'field',
			label:'選擇適用模板' 
		} );
 
	var main_group = main_select.append( {
			type:'select',
			name:'main_group',
			event:friendlywarn.callback.change_category 
		} );
 
	main_group.append( { type:'option', label:'層級1', value:'level1', selected: ( FriendlyConfig.defaultWarningGroup == 1 || FriendlyConfig.defaultWarningGroup < 1 || ( userIsInGroup( 'sysop' ) ? FriendlyConfig.defaultWarningGroup > 8 : FriendlyConfig.defaultWarningGroup > 7 ) ) } );
	main_group.append( { type:'option', label:'層級2', value:'level2', selected: ( FriendlyConfig.defaultWarningGroup == 2 ) } );
	main_group.append( { type:'option', label:'層級3', value:'level3', selected: ( FriendlyConfig.defaultWarningGroup == 3 ) } );
	main_group.append( { type:'option', label:'層級4', value:'level4', selected: ( FriendlyConfig.defaultWarningGroup == 4 ) } );
	main_group.append( { type:'option', label:'層級4im', value:'level4im', selected: ( FriendlyConfig.defaultWarningGroup == 5 ) } );
	main_group.append( { type:'option', label:'單層級通知', value:'singlenotice', selected: ( FriendlyConfig.defaultWarningGroup == 6 ) } );
	main_group.append( { type:'option', label:'單層級警告', value:'singlewarn', selected: ( FriendlyConfig.defaultWarningGroup == 7 ) } );
	if( userIsInGroup( 'sysop' ) ) {
		main_group.append( { type:'option', label:'封禁', value:'block', selected: ( FriendlyConfig.defaultWarningGroup == 8 ) } );
	}
 
	main_select.append( { type:'select', name:'sub_group', event:friendlywarn.callback.change_subcategory } ); //Will be empty to begin with.
 
	form.append( { 
			type:'input',
			name:'article',
			label:'相關條目',
			value:( QueryString.exists( 'vanarticle' ) ? QueryString.get( 'vanarticle' ) : '' )
		} );
 
 
	var more = form.append( { type:'field', label:'更多' } );
	more.append( { type:'textarea', label:'一些附加文字:', name:'reason' } );
	more.append( { type:'submit', label:'提交'} );
	var result = form.render();
	Window.setContent( result );
	Window.display();
	result.main_group.root = result;
 
	// We must init the first choice (General Note);
	var evt = document.createEvent( "Event" );
	evt.initEvent( 'change', true, true );
	result.main_group.dispatchEvent( evt );
 
}
 
// This is all the messages that might be dispatched by the code
friendlywarn.messages = {
	level1: {
		"uw-vandalism1": { 
			label:"破壞", 
			summary:"層級1: 破壞" 
		},
		"uw-test1": { 
			label:"編輯測試", 
			summary:"層級1: 編輯測試" 
		},
		"uw-delete1": { 
			label:"清空頁面、移除內容或模板", 
			summary:"層級1: 清空頁面、移除內容或模板" 
		},
		"uw-redirect1": { 
			label:"創建惡意重定向", 
			summary:"層級1: 創建惡意重定向" 
		},
		"uw-tdel1": { 
			label:"移除維護性模板", 
			summary:"層級1: 移除維護性模板" 
		},
		"uw-joke1": { 
			label:"使用不恰當的幽默文字", 
			summary:"層級1: 使用不恰當的幽默文字" 
		},
		"uw-create1": { 
			label:"建立不適當的頁面", 
			summary:"層級1: 建立不適當的頁面" 
		},
		"uw-upload1": { 
			label:"上傳不適當的圖像", 
			summary:"層級1: 上傳不適當的圖像" 
		},
		"uw-image1": { 
			label:"圖像相關的破壞", 
			summary:"層級1: 圖像相關的破壞" 
		},
		"uw-spam1": { 
			label:"增加垃圾連結", 
			summary:"層級1: 增加垃圾連結" 
		},
		"uw-advert1": { 
			label:"利用維基百科來發佈廣告或推廣", 
			summary:"層級1: 利用維基百科來發佈廣告或推廣" 
		},
		"uw-npov1": { 
			label:"不遵守中立的觀點方針", 
			summary:"層級1: 不遵守中立的觀點方針" 
		},
		"uw-unsourced1": { 
			label:"沒有使用適當的引用方法而增加沒有來源的資料", 
			summary:"層級1: 沒有使用適當的引用方法而增加沒有來源的資料" 
		},
		"uw-error1": { 
			label:"故意加入錯誤的事實", 
			summary:"層級1: 故意加入錯誤的事實" 
		},
		"uw-biog1": { 
			label:"加入有關在生人物而又缺乏來源的資料", 
			summary:"層級1: 加入有關在生人物而又缺乏來源的資料" 
		},
		"uw-defamatory1": { 
			label:"沒有特定目標的誹謗", 
			summary:"層級1: 沒有特定目標的誹謗" 
		},
		"uw-notcensored1": { 
			label:"資料的審查", 
			summary:"層級1: 資料的審查" 
		},
		"uw-mos1": { 
			label:"格式、日期、語言等", 
			summary:"層級1: 格式、日期、語言等" 
		},
		"uw-move1": { 
			label:"頁面移動", 
			summary:"層級1: 頁面移動" 
		},
		"uw-chat1": { 
			label:"把討論頁當為論壇", 
			summary:"層級1: 把討論頁當為論壇" 
		},
		"uw-tpv1": { 
			label:"改寫其他用戶在討論頁留下的意見", 
			summary:"層級1: 改寫其他用戶在討論頁留下的意見" 
		},
		"uw-afd1": { 
			label:"移除\{\{Afd\}\}模板", 
			summary:"層級1: 移除\{\{Afd\}\}模板" 
		},
		"uw-speedy1": { 
			label:"移除\{\{Delete\}\}模板", 
			summary:"層級1: 移除\{\{Delete\}\}模板" 
		},
		"uw-npa1": { 
			label:"針對特定用戶的人身攻擊", 
			summary:"層級1: 針對特定用戶的人身攻擊" 
		},
		"uw-agf1": { 
			label:"沒有善意推定", 
			summary:"層級1: 沒有善意推定" 
		},
		"uw-own1": { 
			label:"條目的所有權", 
			summary:"層級1: 條目的所有權"
		},
		"uw-tempabuse1": { 
			label:"不當使用警告或封鎖模板", 
			summary:"層級1: 不當使用警告或封鎖模板"
		}
	},
	level2: {
		"uw-vandalism2": { 
			label:"破壞", 
			summary:"層級2: 破壞" 
		},
		"uw-test2": { 
			label:"編輯測試", 
			summary:"層級2: 編輯測試" 
		},
		"uw-delete2": { 
			label:"清空頁面、移除內容或模板", 
			summary:"層級2: 清空頁面、移除內容或模板" 
		},
		"uw-redirect2": { 
			label:"創建惡意重定向", 
			summary:"層級2: 創建惡意重定向" 
		},
		"uw-tdel2": { 
			label:"移除維護性模板", 
			summary:"層級2: 移除維護性模板" 
		},
		"uw-joke2": { 
			label:"使用不恰當的幽默文字", 
			summary:"層級2: 使用不恰當的幽默文字" 
		},
		"uw-create2": { 
			label:"建立不適當的頁面", 
			summary:"層級2: 建立不適當的頁面" 
		},
		"uw-upload2": { 
			label:"上傳不適當的圖像", 
			summary:"層級2: 上傳不適當的圖像" 
		},
		"uw-image2": { 
			label:"圖像相關的破壞", 
			summary:"層級2: 圖像相關的破壞" 
		},
		"uw-spam2": { 
			label:"增加垃圾連結", 
			summary:"層級2: 增加垃圾連結" 
		},
		"uw-advert2": { 
			label:"利用維基百科來發佈廣告或推廣", 
			summary:"層級2: 利用維基百科來發佈廣告或推廣" 
		},
		"uw-npov2": { 
			label:"不遵守中立的觀點方針", 
			summary:"層級2: 不遵守中立的觀點方針" 
		},
		"uw-unsourced2": { 
			label:"沒有使用適當的引用方法而增加沒有來源的資料", 
			summary:"層級2: 沒有使用適當的引用方法而增加沒有來源的資料" 
		},
		"uw-error2": { 
			label:"故意加入錯誤的事實", 
			summary:"層級2: 故意加入錯誤的事實" 
		},
		"uw-biog2": { 
			label:"加入有關在生人物而又缺乏來源的資料", 
			summary:"層級2: 加入有關在生人物而又缺乏來源的資料" 
		},
		"uw-defamatory2": { 
			label:"沒有特定目標的誹謗", 
			summary:"層級2: 沒有特定目標的誹謗" 
		},
		"uw-notcensored2": { 
			label:"資料的審查", 
			summary:"層級2: 資料的審查" 
		},
		"uw-mos2": { 
			label:"格式、日期、語言等", 
			summary:"層級2: 格式、日期、語言等" 
		},
		"uw-move2": { 
			label:"頁面移動", 
			summary:"層級2: 頁面移動" 
		},
		"uw-chat2": { 
			label:"把討論頁當為論壇", 
			summary:"層級2: 把討論頁當為論壇" 
		},
		"uw-tpv2": { 
			label:"改寫其他用戶在討論頁留下的意見", 
			summary:"層級2: 改寫其他用戶在討論頁留下的意見" 
		},
		"uw-afd2": { 
			label:"移除\{\{Afd\}\}模板", 
			summary:"層級2: 移除\{\{Afd\}\}模板" 
		},
		"uw-speedy2": { 
			label:"移除\{\{Delete\}\}模板", 
			summary:"層級2: 移除\{\{Delete\}\}模板" 
		},
		"uw-npa2": { 
			label:"針對特定用戶的人身攻擊", 
			summary:"層級2: 針對特定用戶的人身攻擊" 
		},
		"uw-agf2": { 
			label:"沒有善意推定", 
			summary:"層級2: 沒有善意推定" 
		},
		"uw-own2": { 
			label:"條目的所有權", 
			summary:"層級2: 條目的所有權"
		},
		"uw-tempabuse2": { 
			label:"不當使用警告或封鎖模板", 
			summary:"層級2: 不當使用警告或封鎖模板"
		}
	},
	level3: {
		"uw-vandalism3": { 
			label:"破壞", 
			summary:"層級3: 破壞" 
		},
		"uw-test3": { 
			label:"編輯測試", 
			summary:"層級3: 編輯測試" 
		},
		"uw-delete3": { 
			label:"清空頁面、移除內容或模板", 
			summary:"層級3: 清空頁面、移除內容或模板" 
		},
		"uw-redirect3": { 
			label:"創建惡意重定向", 
			summary:"層級3: 創建惡意重定向" 
		},
		"uw-tdel3": { 
			label:"移除維護性模板", 
			summary:"層級3: 移除維護性模板" 
		},
		"uw-joke3": { 
			label:"使用不恰當的幽默文字", 
			summary:"層級3: 使用不恰當的幽默文字" 
		},
		"uw-create3": { 
			label:"建立不適當的頁面", 
			summary:"層級3: 建立不適當的頁面" 
		},
		"uw-upload3": { 
			label:"上傳不適當的圖像", 
			summary:"層級3: 上傳不適當的圖像" 
		},
		"uw-image3": { 
			label:"圖像相關的破壞", 
			summary:"層級3: 圖像相關的破壞" 
		},
		"uw-spam3": { 
			label:"增加垃圾連結", 
			summary:"層級3: 增加垃圾連結" 
		},
		"uw-advert3": { 
			label:"利用維基百科來發佈廣告或推廣", 
			summary:"層級3: 利用維基百科來發佈廣告或推廣" 
		},
		"uw-npov3": { 
			label:"不遵守中立的觀點方針", 
			summary:"層級3: 不遵守中立的觀點方針" 
		},
		"uw-unsourced3": { 
			label:"沒有使用適當的引用方法而增加沒有來源的資料", 
			summary:"層級3: 沒有使用適當的引用方法而增加沒有來源的資料" 
		},
		"uw-error3": { 
			label:"故意加入錯誤的事實", 
			summary:"層級3: 故意加入錯誤的事實" 
		},
		"uw-biog3": { 
			label:" 加入有關在生人物而又缺乏來源的資料", 
			summary:"層級3: 加入有關在生人物而又缺乏來源的資料" 
		},
		"uw-defamatory3": { 
			label:"沒有特定目標的誹謗", 
			summary:"層級3: 沒有特定目標的誹謗" 
		},
		"uw-notcensored3": { 
			label:"資料的審查", 
			summary:"層級3: 資料的審查" 
		},
		"uw-mos3": { 
			label:"格式、日期、語言等", 
			summary:"層級3: 格式、日期、語言等" 
		},
		"uw-move3": { 
			label:"頁面移動", 
			summary:"層級3: 頁面移動" 
		},
		"uw-chat3": { 
			label:"把討論頁當為論壇", 
			summary:"層級3: 把討論頁當為論壇" 
		},
		"uw-tpv3": { 
			label:"改寫其他用戶在討論頁留下的意見", 
			summary:"層級3: 改寫其他用戶在討論頁留下的意見" 
		},
		"uw-afd3": { 
			label:"移除\{\{Afd\}\}模板", 
			summary:"層級3: 移除\{\{Afd\}\}模板" 
		},
		"uw-speedy3": { 
			label:"移除\{\{Delete\}\}模板", 
			summary:"層級3: 移除\{\{Delete\}\}模板" 
		},
		"uw-npa3": { 
			label:"針對特定用戶的人身攻擊", 
			summary:"層級3: 針對特定用戶的人身攻擊" 
		},
		"uw-agf3": { 
			label:"沒有善意推定", 
			summary:"層級3: 沒有善意推定" 
		},
		"uw-own3": { 
			label:"條目的所有權", 
			summary:"層級3: 條目的所有權"
		},
		"uw-tempabuse3": { 
			label:"不當使用警告或封鎖模板", 
			summary:"層級3: 不當使用警告或封鎖模板"
		}
	},
	level4: {
		"uw-vandalism4": { 
			label:"破壞", 
			summary:"層級4: 破壞" 
		},
		"uw-test4": { 
			label:"編輯測試", 
			summary:"層級4: 編輯測試" 
		},
		"uw-delete4": { 
			label:"清空頁面、移除內容或模板", 
			summary:"層級4: 清空頁面、移除內容或模板" 
		},
		"uw-redirect4": { 
			label:"創建惡意重定向", 
			summary:"層級4: 創建惡意重定向" 
		},
		"uw-tdel4": { 
			label:"移除維護性模板", 
			summary:"層級4: 移除維護性模板" 
		},
		"uw-joke4": { 
			label:"使用不恰當的幽默文字", 
			summary:"層級4: 使用不恰當的幽默文字" 
		},
		"uw-create4": { 
			label:"建立不適當的頁面", 
			summary:"層級4: 建立不適當的頁面" 
		},
		"uw-upload4": { 
			label:"上傳不適當的圖像", 
			summary:"層級4: 上傳不適當的圖像" 
		},
		"uw-image4": { 
			label:"圖像相關的破壞", 
			summary:"層級4: 圖像相關的破壞" 
		},
		"uw-spam4": { 
			label:"增加垃圾連結", 
			summary:"層級4: 增加垃圾連結" 
		},
		"uw-advert4": { 
			label:"利用維基百科來發佈廣告或推廣", 
			summary:"層級4: 利用維基百科來發佈廣告或推廣" 
		},
		"uw-npov4": { 
			label:"不遵守中立的觀點方針", 
			summary:"層級4: 不遵守中立的觀點方針" 
		},
		"uw-unsourced4": { 
			label:"沒有使用適當的引用方法而增加沒有來源的資料", 
			summary:"層級4: 沒有使用適當的引用方法而增加沒有來源的資料" 
		},
		"uw-error4": { 
			label:"故意加入錯誤的事實", 
			summary:"層級4: 故意加入錯誤的事實"
		},
		"uw-biog4": { 
			label:" 加入有關在生人物而又缺乏來源的資料", 
			summary:"層級4: 加入有關在生人物而又缺乏來源的資料" 
		},
		"uw-defamatory4": { 
			label:"沒有特定目標的誹謗", 
			summary:"層級4: 沒有特定目標的誹謗" 
		},
		"uw-notcensored4": { 
			label:"資料的審查", 
			summary:"層級4: 資料的審查" 
		},
		"uw-move4": { 
			label:"頁面移動", 
			summary:"層級4: 頁面移動" 
		},
		"uw-chat4": { 
			label:"把討論頁當為論壇", 
			summary:"層級4: 把討論頁當為論壇" 
		},
		"uw-afd4": { 
			label:"移除\{\{Afd\}\}模板", 
			summary:"層級4: 移除\{\{Afd\}\}模板" 
		},
		"uw-speedy4": { 
			label:"移除\{\{Delete\}\}模板", 
			summary:"層級4: 移除\{\{Delete\}\}模板" 
		},
		"uw-npa4": { 
			label:"針對特定用戶的人身攻擊", 
			summary:"層級4: 針對特定用戶的人身攻擊"
		},
		"uw-tempabuse4": { 
			label:"不當使用警告或封鎖模板", 
			summary:"層級4: 不當使用警告或封鎖模板"
		}
	},
	level4im: {
		"uw-vandalism4im": { 
			label:"破壞", 
			summary:"層級4im: 破壞" 
		},
		"uw-delete4im": { 
			label:"清空頁面、移除內容或模板", 
			summary:"層級4im: 清空頁面、移除內容或模板" 
		},
		"uw-redirect4im": { 
			label:"創建惡意重定向", 
			summary:"層級4im: 創建惡意重定向" 
		},
		"uw-joke4im": { 
			label:"使用不恰當的幽默文字", 
			summary:"層級4im: 使用不恰當的幽默文字" 
		},
		"uw-create4im": { 
			label:"建立不適當的頁面", 
			summary:"層級4im: 建立不適當的頁面" 
		},
		"uw-upload4im": { 
			label:"上傳不適當的圖像", 
			summary:"層級4im: 上傳不適當的圖像" 
		},
		"uw-image4im": { 
			label:"圖像相關的破壞", 
			summary:"層級4im: 圖像相關的破壞" 
		},
		"uw-spam4im": { 
			label:"增加垃圾連結", 
			summary:"層級4im: 增加垃圾連結" 
		},
		"uw-biog4im": { 
			label:" 加入有關在生人物而又缺乏來源的資料", 
			summary:"層級4im: 加入有關在生人物而又缺乏來源的資料" 
		},
		"uw-defamatory4im": { 
			label:"沒有特定目標的誹謗", 
			summary:"層級4im: 沒有特定目標的誹謗" 
		},
		"uw-move4im": { 
			label:"頁面移動", 
			summary:"層級4im: 頁面移動" 
		},
		"uw-npa4im": { 
			label:"針對特定用戶的人身攻擊", 
			summary:"層級4im: 針對特定用戶的人身攻擊"
		},
		"uw-tempabuse4im": { 
			label:"不當使用警告或封鎖模板", 
			summary:"層級4im: 不當使用警告或封鎖模板"
		}
	},
	singlenotice: {
		"uw-2redirect": { 
			label:"透過不適當的頁面移動建立雙重重定向", 
			summary:"通知: 透過不適當的頁面移動建立雙重重定向" 
		},
		"uw-aiv": { 
			label:"不恰當的破壞回報", 
			summary:"通知: 不恰當的破壞回報" 
		},
		"uw-articlesig": { 
			label:"在條目頁中籤名", 
			summary:"通知: 在條目頁中籤名" 
		},
		"uw-autobiography": { 
			label:"建立自傳", 
			summary:"通知: 建立自傳" 
		},
		"uw-badcat": { 
			label:" 加入錯誤的頁面分類", 
			summary:"通知: 加入錯誤的頁面分類" 
		},
		"uw-bite": { 
			label:" 傷害新手", 
			summary:"通知: 傷害新手" 
		},
		"uw-c&pmove": { 
			label:" 剪貼移動", 
			summary:"通知: 剪貼移動" 
		},
		"uw-chinese": { 
			label:" 不是以中文進行溝通", 
			summary:"通知: 不是以中文進行溝通" 
		},
		"uw-coi": { 
			label:" 利益衝突", 
			summary:"通知: 利益衝突" 
		},
		"uw-copyviorewrite": { 
			label:" 在侵權頁面直接重寫條目", 
			summary:"通知: 在侵權頁面直接重寫條目" 
		},
		"uw-date": { 
			label:" 不必要地更換日期格式", 
			summary:"通知: 不必要地更換日期格式" 
		},
		"uw-editsummary": { 
			label:" 沒有使用編輯摘要", 
			summary:"通知: 沒有使用編輯摘要" 
		},
		"uw-hangon": { 
			label:" 沒有在討論頁說明暫緩快速刪除理由", 
			summary:"通知: 沒有在討論頁說明暫緩快速刪除理由" 
		},
		"uw-booktitle": { 
			label:" 沒有使用書名號來標示書籍、電影、音樂專輯等", 
			summary:"通知: 沒有使用書名號來標示書籍、電影、音樂專輯等" 
		},
		"uw-lang": { 
			label:" 不必要地將條目所有文字換成簡體或繁體中文", 
			summary:"通知: 不必要地將條目所有文字換成簡體或繁體中文" 
		},
		"uw-langmove": { 
			label:" 不必要地將條目標題換成簡體或繁體中文", 
			summary:"通知: 不必要地將條目標題換成簡體或繁體中文" 
		},
		"uw-linking": { 
			label:" 過度加入紅字連結或重複藍字連結", 
			summary:"通知: 過度加入紅字連結或重複藍字連結" 
		},
		"uw-minor": { 
			label:" 不適當地使用小修改選項", 
			summary:"通知: 不適當地使用小修改選項" 
		},
		"uw-notaiv": { 
			label:" 不要向當前的破壞回報複雜的用戶紛爭", 
			summary:"通知: 不要向當前的破壞回報複雜的用戶紛爭"
		},
		"uw-notvote": { 
			label:" 我們是以共識處事,不僅是投票", 
			summary:"通知: 我們是以共識處事,不僅是投票" 
		},
		"uw-preview": { 
			label:" 使用預覽按鈕來避免不必要的錯誤", 
			summary:"通知: 使用預覽按鈕來避免不必要的錯誤" 
		},
		"uw-sandbox": { 
			label:" 移除沙盒的置頂模板\{\{Sandbox\}\} ", 
			summary:"通知: 移除沙盒的置頂模板{{Sandbox}} " 
		},
		"uw-selfrevert": { 
			label:" 回退個人的測試", 
			summary:"通知: 回退個人的測試" 
		},
		"uw-subst": { 
			label:" 謹記要替代模板", 
			summary:"通知: 謹記要替代模板" 
		},
		"uw-talkinarticle": { 
			label:" 在條目頁中留下意見", 
			summary:"通知: 在條目頁中留下意見" 
		},
		"uw-tilde": { 
			label:" 沒有在討論頁上簽名", 
			summary:"通知: 沒有在討論頁上簽名" 
		},
		"uw-uaa": { 
			label:" 向更改用戶名回報的用戶名稱並不違反方針", 
			summary:"通知: 向更改用戶名回報的用戶名稱並不違反方針" 
		},
		"uw-warn": { 
			label:" 警告破壞用戶", 
			summary:"通知: 警告破壞用戶"
		}
	},
	singlewarn: {
		"uw-3rr": { 
			label:" 用戶潛在違反回退不過三原則的可能性", 
			summary:"警告: 用戶潛在違反回退不過三原則的可能性" 
		},
		"uw-attack": { 
			label:" 建立人身攻擊頁面", 
			summary:"警告: 建立人身攻擊頁面" 
		},
		"uw-bv": { 
			label:" 公然的破壞", 
			summary:"警告: 公然的破壞" 
		},
		"uw-canvass": { 
			label:" 向多個用戶進行遊說", 
			summary:"警告: 向多個用戶進行遊說" 
		},
		"uw-copyright": { 
			label:" 侵犯版權", 
			summary:"警告: 侵犯版權" 
		},
		"uw-copyright-link": { 
			label:" 連結到有版權的材料", 
			summary:"警告: 連結到有版權的材料" 
		},
		"uw-hoax": { 
			label:" 建立惡作劇", 
			summary:"警告: 建立惡作劇" 
		},
		"uw-legal": { 
			label:" 訴諸法律威脅", 
			summary:"警告: 訴諸法律威脅" 
		},
		"uw-longterm": { 
			label:" 長期的破壞", 
			summary:"警告: 長期的破壞" 
		},
		"uw-multipleIPs": { 
			label:" 使用多個IP地址", 
			summary:"警告: 使用多個IP地址" 
		},
		"uw-pinfo": { 
			label:"個人資料", 
			summary:"警告: 個人資料" 
		},
		"uw-redirect": { 
			label:" 建立惡意重定向", 
			summary:"警告: 建立惡意重定向"
		},
		"uw-upv": { 
			label:"用戶頁破壞", 
			summary:"警告: 用戶頁破壞"
		},
		"uw-substub": { 
			label:" 創建小小作品", 
			summary:"警告: 創建小小作品"
		}
	},
	block: {
		"uw-block1": {
			'label':"層級1",
			'summary':"封禁: 層級1"
		},
		"uw-block2": {
			'label':" 層級2",
			'summary':"封禁: 層級2"
		},
		"uw-block3": {
			'label':" 層級3",
			'summary':"封禁: 層級3"
		},
		"uw-3block": {
			'label':" 回退不過三原則封禁",
			'summary':"封禁: 回退不過三原則封禁"
		},
		"uw-ablock": {
			'label':" 匿名封禁",
			'summary':"封禁: 匿名封禁"
		},
		"uw-bblock": {
			'label':" 機器人封禁",
			'summary':"封禁: 機器人封禁"
		},
		"uw-dblock": {
			'label':" 刪除封禁",
			'summary':"封禁: 刪除封禁"
		},
		"uw-sblock": {
			'label':"垃圾連結封禁",
			'summary':"封禁: 垃圾連結封禁"
		},
		"uw-ublock": {
			'label':" 用戶名稱封禁",
			'summary':"封禁: 用戶名稱封禁"
		},
		"uw-vblock": {
			'label':" 破壞封禁",
			'summary':"封禁: 破壞封禁"
		}
	}
};
 
 
friendlywarn.callback.change_category = function friendlywarnCallbackChangeCategory(e) {
	var value = e.target.value;
	var sub_group = e.target.root.sub_group;
	var messages = friendlywarn.messages[ value ];
	sub_group.main_group = value;
	var old_subvalue = sub_group.value;
	if( old_subvalue ) {
		old_subvalue = old_subvalue.replace(/\d*(im)?$/, '' );
		var old_subvalue_re = new RegExp( RegExp.escape( old_subvalue ) + "(\\d*(?:im)?)$" );
	}
 
	while( sub_group.hasChildNodes() ){
		sub_group.removeChild( sub_group.firstChild );
	}
 
	for( var i in messages ) {
		var selected = false;
		if( old_subvalue && old_subvalue_re.test( i ) ) {
			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: '封禁時間:'
			} );
		e.target.root.insertBefore( more.render(), e.target.root.lastChild );
		e.target.root.article.disabled = true;
	} else if( e.target.root.block_timer ) {
		e.target.root.removeChild( e.target.root.block_timer.parentNode );
		e.target.root.article.disabled = false;
		e.target.root.reason.disabled = false;
	}
}
 
friendlywarn.callback.change_subcategory = function friendlywarnCallbackChangeSubcategory(e) {
	var value = e.target.value;
	var main_group = e.target.main_group;
 
	if( main_group == 'block' ) {
		if( value == 'uw-block3' || value == 'uw-ublock' ) {
			e.target.form.block_timer.disabled = true;
		} else if( e.target.form.block_timer.disabled ) {
			e.target.form.block_timer.disabled = false;
		}
 
		if( value == 'uw-3block' ) {
			e.target.form.article.disabled = false;
		} else if( !e.target.form.article.disabled ) {
			e.target.form.article.disabled = true;
		}
 
		if( value == 'uw-block1' || value == 'uw-block2' || value == 'uw-block3' || value == 'uw-ablock' ) {
			e.target.form.reason.disabled = false;
		} else if( !e.target.form.reason.disabled ) {
			e.target.form.reason.disabled = true;
		}
	}
}
 
friendlywarn.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:'' };
 
		var current;
 
		while( ( current = history_re.exec( text ) ) != undefined ) {
			var current_date = new Date( current[2] + ' UTC' );
			if( !( current[1] in history ) ||  history[ current[1] ] < current_date ) {
				history[ current[1] ] = current_date;
			}
			if( current_date > latest.date ) {
				latest.date = current_date;
				latest.type = current[1];
			}
		}
 
		var date = new Date();
 
		if( self.params.sub_group in history ) {
			var temp_time = new Date( history[ self.params.sub_group ] );
			temp_time.setUTCHours( temp_time.getUTCHours() + 24 );
 
			if( temp_time > date ) {
				Status.info( '信息', "一個相同的" + self.params.sub_group + "已被於最近24小時內放置" );
				if( !confirm( "確定添加一個相同的?" ) ) {
					self.statelem.info( '用戶請求取消' );
					return;
				}
			}
		}
 
		latest.date.setUTCMinutes( latest.date.getUTCMinutes() + 1 ); // after long debate, one minute is max
 
		if( latest.date > date ) {
			Status.info('信息', "一個" + latest.type + "已被於最近1分鐘內放置" );
				if( !confirm( "確定添加一個相同的?" ) ) {
					self.statelem.info( '用戶請求取消' );
					return;
				}
		}
 
		var mainheaderRe = /==+\\s*警告\\s*==+/;
		var headerRe = new RegExp( "^==+\\s*" + date.getUTCFullYear() + "年" + (date.getUTCMonth()+1)  + "月" + "\\s*==+", 'm' );
 
 		if( text == '\n' && isIPAddress( wgTitle ) ) {
			Status.info( '信息', '將會自動歡迎匿名用戶' );
			text += "\{\{subst:welcome-anon\}\}";
		} else if( text == '\n' ) {
			Status.info( '信息', '將會自動歡迎用戶' );
			text += "\{\{subst:welcome\}\}";
		}

		if( text.length > 0 ) {
			text += "\n";
		}
 
		if( self.params.main_group == 'block' ) {
			var article = '', time = null;
 
			if( FriendlyConfig.blankTalkpageOnIndefBlock && ( /indef|\*|max/.exec( self.params.block_timer ) || self.params.sub_group == 'uw-block3' || self.params.sub_group == 'uw-ublock' ) ) {
				Status.info( '信息', '根據設置清空頁面並創建當月二級標題' );
				text = "== " + date.getUTCFullYear() + "年" + (date.getUTCMonth()+1)  + "月 " + " ==\n";
			} else if( !headerRe.exec( text ) ) {
				Status.info( '信息', '未找到當月二級標題,將會創建' );
				text += "== " + date.getUTCFullYear() + "年" + (date.getUTCMonth()+1)  + "月 " + " ==\n";
			}
 
			if( ( self.params.sub_group == 'uw-3block' ) && self.params.article ) {
				article = '|1=' + self.params.article;
			}
 
			if( /te?mp|^\s*$|min/.exec( self.params.block_timer ) ) {
				time = '';
			} else if( /indef|\*|max/.exec( self.params.block_timer ) ) {
				time = '|indef=yes';
			} else {
				time = '|time=' + self.params.block_timer;
			}

			text += "\{\{subst:" + self.params.sub_group + article + time + (self.params.reason ? '|reason=' + self.params.reason : '' ) + "|sig=true|subst=subst:\}\}";
		} else {
			if( !headerRe.exec( text ) ) {
				Status.info( '信息', '未找到當月二級標題,將會創建' );
				text += "== " + date.getUTCFullYear() + "年" + (date.getUTCMonth()+1)  + "月 " + " ==\n";
			}
 
			text += "\{\{subst:" + self.params.sub_group + ( self.params.article ? '|1=' + self.params.article : '' ) + (self.params.reason ? '|2=' + self.params.reason : '' ) + "|subst=subst:\}\}" + "--\~\~\~\~";
		}
 
		if ( FriendlyConfig.showSharedIPNotice && isIPAddress( wgTitle ) ) {
			Status.info( '信息', '添加共享IP通告' );
			switch( QueryString.get( 'type' ) ) {
			case 'vand':
				text +=  "\n:''如果這是一個共享[[IP地址]],並且您沒有做出任何[[Wikipedia:破壞|非建設性的]]編輯,請考慮[[Wikipedia:用戶|創建一個賬戶]]以避免自動封禁。'' ";
				break;
			default:
				text +=  "\n:''如果這是一個共享[[IP地址]],並且您沒有做出此次編輯,請考慮[[Wikipedia:用戶|創建一個賬戶]]以避免收到無關通知。'' ";
				break;
			}
		}
		var postData = {
			'wpMinoredit': form.wpMinoredit.checked ? 1 : undefined,
			'wpWatchthis': (form.wpWatchthis.checked || FriendlyConfig.watchWarnings) ? 1 : undefined,
			'wpStarttime': form.wpStarttime.value,
			'wpEdittime': form.wpEdittime.value,
			'wpAutoSummary': form.wpAutoSummary.value,
			'wpEditToken': form.wpEditToken.value,
			'wpSection': '',
			'wpSummary': friendlywarn.messages[self.params.main_group][self.params.sub_group].summary + ( self.params.article ? '於[[' + self.params.article + ']]'  : '' ) + FriendlyConfig.summaryAd,
			'wpTextbox1': text
		};
 
		self.post( postData );
	}
}
 
friendlywarn.callback.evaluate = function friendlywarnCallbackEvaluate(e) {
 
	// First, grab all the values provided by the form
 
	var params = {
		reason: e.target.reason.value,
		main_group: e.target.main_group.value,
		sub_group: e.target.sub_group.value,
		article: e.target.article.value.replace( /^(Image|File|Category):/i, ':$1:' ),
		block_timer: e.target.block_timer ? e.target.block_timer.value : null
	}
 
	Status.init( e.target );
 
	var query = { 
		'title': wgPageName, 
		'action': 'submit'
	};
	Wikipedia.actionCompleted.redirect = wgPageName;
	Wikipedia.actionCompleted.notice = "完成";
	var wikipedia_wiki = new Wikipedia.wiki( '用戶討論頁修改', query, friendlywarn.callbacks.main );
	wikipedia_wiki.params = params;
	wikipedia_wiki.get();
}