User:逆襲的天邪鬼/Twinkle-lzh/twinkleclose.js: Difference between revisions

no edit summary
(Created page with "//<nowiki> // vim: set noet sts=0 sw=8: (function($){ /* **************************************** *** twinkleclose.js: XFD closing module ******************************...")
 
No edit summary
Line 3:
 
 
(function ($) {
 
 
Line 16:
 
Twinkle.close = function twinkleclose() {
if ( !Morebits.userIsInGroup('sysop') || !(/^Wikipedia:(頁面|檔案)存廢討論\/記錄\/\d+\/\d+\/\d+$/.test(mw.config.get('wgPageName'))) !== '維基大典:議刪' ) {
return;
}
Line 27:
};
 
// 把section序号直接标在h2和h3上以免在用某些编辑器时不正常
$('h2:has(.mw-headline),h3:has(.mw-headline)', '#bodyContent').each(function (index, current) {
current.setAttribute('data-section', index + 1);
});
Line 38:
var delLink = document.createElement('a');
delLink.appendChild( spanTag( 'Black', '[' ) );
delLink.appendChild( spanTag( 'Red', '关闭讨论關閉討論' ) );
delLink.appendChild( spanTag( 'Black', ']' ) );
delNode.appendChild(delLink);
Line 68:
// Keep this synchronized with {{delh}}
Twinkle.close.codes = {
'请求无效': {
'ir請求無效': {
label: '效',
action: 'keep'
},
'rep重複請求': {
label: '重提出,效',
action: 'keep'
},
'commons頁面不存在': {
label: '模板頁面不存维基共享资源提请,無效',
action: 'keep'
},
'ne': {
label: '目标页面或档案不存在,无效',
action: 'keep'
},
'nq': {
label: '提删者未取得提删资格,无效',
action: 'keep'
}
},
'留': {
'k': {
label: '留',
action: 'keep'
},
'sk快速保留': {
label: '快速保留',
action: 'keep'
},
'tk暫時保留': {
label: '暂时暫時保留',
action: 'keep'
},
'rr': {
label: '请求理由消失',
action: 'keep'
},
'dan': {
label: '删后重建',
action: 'keep'
}
},
'删除': {
'd': {
label: '除',
action: 'del',
selected: true
},
'ic速刪': {
label: '图像因侵权被删速刪',
action: 'del'
}
},
'快速删除': {
'sd': {
label: '快速删除',
action: 'del'
},
'lssd': {
label: '无来源或版权资讯,快速删除',
action: 'del'
},
'svg': {
label: '已改用SVG图形,快速删除',
action: 'del'
},
'nowcommons': {
label: '维基共享资源已提供,快速删除',
action: 'del'
},
'drep': {
label: '多次被删除,条目锁定',
action: 'del'
}
},
'移至维基计划': {
'twc': {
label: '转移至维基共享资源',
action: 'noop'
},
'twn': {
label: '转移至维基新闻',
action: 'noop'
},
'tws': {
label: '转移至维基文库',
action: 'noop'
},
'twb': {
label: '转移至维基教科书',
action: 'noop'
},
'twq': {
label: '转移至维基语录',
action: 'noop'
},
'twt': {
label: '转移至维基词典',
action: 'noop'
},
'two': {
label: '转移至其他维基计划',
action: 'noop'
}
},
'其他处理方法': {
'c移至他山': {
label: '转交侵权移至他山',
action: 'noop'
},
//'m2pfd': {
// label: '转送页面存废讨论',
// action: 'noop'
//},
'm2ifd': {
label: '转送文件存废讨论',
action: 'noop'
},
'r': {
label: '重定向',
action: 'noop'
},
'cr立渡': {
label: '分类重定向立渡',
action: 'noop'
},
'm': {
label: '移动',
action: 'noop'
},
'merge': {
label: '并入',
action: 'noop'
},
'nc無共識': {
label: '',
action: 'keep'
}
Line 213 ⟶ 135:
Twinkle.close.callback = function twinklecloseCallback(title, section, noop) {
var Window = new Morebits.simpleWindow( 400, 150 );
Window.setTitle( "关闭存废讨论議刪結案 \u00B7 " + title );
Window.setScriptName( "Twinkle" );
Window.addFooterLink( "Twinkle帮助", "WP:TW/DOC#close" );
 
var form = new Morebits.quickForm( Twinkle.close.callback.evaluate );
Line 221 ⟶ 142:
form.append( {
type: 'select',
label: '果:',
name: 'sub_group',
event: Twinkle.close.callback.change_code
Line 229 ⟶ 150:
type: 'input',
name: 'remark',
label: '明:'
} );
 
Line 236 ⟶ 157:
list: [
{
label: '只关闭讨论關閉討論,不行其他操作',
value: 'noop',
name: 'noop',
Line 331 ⟶ 252:
break;
case 'keep':
var wikipedia_page = new Morebits.wiki.page( params.title, '移除存废讨论議刪模板' );
wikipedia_page.setCallbackParameters( params );
wikipedia_page.load( Twinkle.close.callbacks.keep );
break;
default:
alert("Twinkle.close:未定 " + code);
return;
}
Line 346 ⟶ 267:
Morebits.wiki.addCheckpoint();
 
var page = new Morebits.wiki.page( params.title, "面" );
 
page.setEditSummary( '存废讨论議論:[[' + mw.config.get('wgPageName') + ']]' + Twinkle.getPref('deletionSummaryAd') );
page.deletePage(function() {
page.getStatusElement().info("完成");
Line 359 ⟶ 280:
 
if (!pageobj.exists()) {
statelem.error( "面不存在,可能已被删經刪除" );
return;
}
Line 366 ⟶ 287:
var params = pageobj.getCallbackParameters();
 
},/*
var pagetitle = mw.Title.newFromText(params.title);
if (pagetitle.getNamespaceId() % 2 === 0) {
var talkpagetitle = new mw.Title(pagetitle.getMainText(), pagetitle.getNamespaceId() + 1);
var talkpage = new Morebits.wiki.page(talkpagetitle.toString(), '标记讨论页標記討論頁');
var vfdkept = '{{vfd-kept|' + mw.config.get('wgPageName').split('/').slice(2).join('/') + '|' + params.messageData.label + '}}\n';
talkpage.setPrependText(vfdkept);
Line 376 ⟶ 298:
talkpage.prepend();
}
}*/
 
var newtext = text.replace(/<noinclude>\s*\{\{([rsaiftcmv]fdafd|議刪)\|[^{}]*?\}\}\s*<\/noinclude>\s*/gi, '');
newtext = newtext.replace(/\{\{([rsaiftcmv]fdafd|議刪)\|[^{}]*?\}\}\s*/gi, '');
if (params.code !== 'tk') {
newtext = newtext.replace(/\{\{(notability)\|[^{}]*?\}\}\n*/gi, '');
Line 384 ⟶ 307:
}
if (newtext === text) {
statelem.warn("未找到存废讨论議刪模板,可能已移除");
Twinkle.close.callbacks.talkend( params );
return;
}
var editsummary = '存废讨论关闭議刪結案:[[' + mw.config.get('wgPageName') + ']]';
 
pageobj.setPageText(newtext);
Line 401 ⟶ 324:
 
talkend: function (params) {
var wikipedia_page = new Morebits.wiki.page(mw.config.get('wgPageName'), '关闭讨论結案');
wikipedia_page.setCallbackParameters(params);
wikipedia_page.setPageSection(params.section);
Line 412 ⟶ 335:
 
if (text.indexOf('{{delh') !== -1) {
statelem.error( "讨论討論被关闭經關閉" );
return;
}