User:Spaghet-Ti/javascript实验室/selftalkarchive.js
外观
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google Chrome、Firefox、Microsoft Edge及Safari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
/* 本程序抄自[[User:小躍/tools/selftalkarchive.js]],并供大家使用。 */
//start First function
mw.loader.using(['jquery.ui'], function() {
var CountARworkid=0;
function GetUrlParms(){
var args=new Object();
var query=location.search.substring(1);//获取查询串
var pairs=query.split("&");//在逗号处断开
for(var i=0;i<pairs.length;i++)
{
var pos=pairs[i].indexOf('=');//例如:查找name=value
if(pos==-1) continue;//如果没有找到就跳过
var argname=pairs[i].substring(0,pos);//提取name
var value=pairs[i].substring(pos+1);//提取value
args[argname]=unescape(value);//存为属性
}
return args;
}
var args = new Object();
args = GetUrlParms();
if(args["section"]!=undefined)
{
//如果要查找参数key:
var GetSection = args["section"] ;
}
var SetSectionName=$('#wpSummary').val();
var SNCount=SetSectionName.length;
var GetSectionName=SetSectionName.substring(2,(SNCount-4));
function SelfTalkArchive( tracePage,destinationPage,edittext,editsummary ) {
var api = new mw.Api();
api.get( {
'action' : 'query',
'titles' : tracePage,
'prop' : 'revisions|info',
'intoken' : 'edit',
'rvprop' : 'content',
'indexpageids' : 1
} ).done( function (result) {
result = result.query;
var page = result.pages[result.pageids[0]];
api.post( {
'action' : 'edit',
'title' : destinationPage,
'appendtext' :edittext,
'summary' :editsummary,
'token' : page.edittoken
} ).done( function () {
} );
} );
}
function SelfTalkAlreadyArchived( tracePage,destinationPage,EditSection,editsummary,linkTo ) {
var api = new mw.Api();
api.get( {
'action' : 'query',
'titles' : tracePage,
'prop' : 'revisions|info',
'intoken' : 'edit',
'rvprop' : 'content',
'indexpageids' : 1
} ).done( function (result) {
result = result.query;
var page = result.pages[result.pageids[0]];
api.post( {
'action' : 'edit',
'title' : destinationPage,
'text' :'',
'section':EditSection,
'summary' :editsummary,
'token' : page.edittoken
} ).done( function () {
window.location.href = linkTo;
} );
} );
}
// secure server?
if(GetSection==null){}else if ((mw.config.get('wgAction') == 'edit' || mw.config.get('wgAction') == 'submit') && mw.config.get('wgServer') == '//wiki.zwnes.eu.org') {
$('#wpDiff').after('\n<input id="wpSelfTalkArchiveButton" value="存檔" title="存檔此標題及標題相關的內容。" type="button"/>');
$('#wpSelfTalkArchiveButton').click(SelfTalkArchiveEdit);
}
function SelfTalkArchiveEdit(event) {
event.preventDefault();
$('<div id="SelfTalkArchiveEdit" title="用戶討論頁存檔編輯器">' +
'<label for="SelfTalkArchiveEditSelect">選擇存檔的頁面:</label>'+
'<select id="SelfTalkArchiveEditSelect" style="padding:1px;vertical-align:baseline;">'+
'<option value=一般存檔>一般存檔'+
'<option value=通知存檔>通知存檔'+
'<option value=技術新聞存檔>技術新聞存檔'+
'</select><br/>'+
'<input id="wpSelfTalkArchiveEditSave" value="開始存檔" title="儲存您的選擇存檔頁面進行儲存工作。" type="button"/>'+
'</div>'
).dialog({
modal: false,
autoOpen: true,
close: function() {CountARworkid++;},
width: 500
});
$('#wpSelfTalkArchiveEditSave').click(SelfTalkArchiveSave);
}
function SelfTalkArchiveSave(event) {
event.preventDefault();
if($('#SelfTalkArchiveEditSelect').val()=='通知存檔'){
SelfTalkArchive(wgPageName,'User_talk:小躍/存檔/通知區','\n'+$('#wpTextbox1').val(),SetSectionName+'ARC+,使用[[User:小躍/tools/selftalkarchive.js|用戶討論頁存檔編輯器]]。' );
SelfTalkAlreadyArchived(wgPageName,wgPageName,GetSection,SetSectionName+'ARC-,使用[[User:小躍/tools/selftalkarchive.js|用戶討論頁存檔編輯器]]。',mw.util.getUrl(wgPageName) );
}else if($('#SelfTalkArchiveEditSelect').val()=='一般存檔'){
SelfTalkArchive(wgPageName,'User_talk:小躍/存檔/9','\n'+$('#wpTextbox1').val(),SetSectionName+'ARC+,使用[[User:小躍/tools/selftalkarchive.js|用戶討論頁存檔編輯器]]。' );
SelfTalkAlreadyArchived(wgPageName,wgPageName,GetSection,SetSectionName+'ARC-,使用[[User:小躍/tools/selftalkarchive.js|用戶討論頁存檔編輯器]]。',mw.util.getUrl(wgPageName) );
}else if($('#SelfTalkArchiveEditSelect').val()=='技術新聞存檔'){
SelfTalkArchive(wgPageName,'User_talk:小躍/News/2016','\n'+$('#wpTextbox1').val(),SetSectionName+'ARC+,使用[[User:小躍/tools/selftalkarchive.js|用戶討論頁存檔編輯器]]。' );
SelfTalkAlreadyArchived(wgPageName,wgPageName,GetSection,SetSectionName+'ARC-,使用[[User:小躍/tools/selftalkarchive.js|用戶討論頁存檔編輯器]]。',mw.util.getUrl(wgPageName) );
}
$('<div id="SelfTalkArchiveSaveSaveDone" title="存檔完成">' +
'<img src="http://upload.wikimedia.org/wikipedia/commons/4/42/Loading.gif" /><label>正在存檔,請稍後......</label><br/>' +
'</div>'
).dialog({
modal: false,
autoOpen: true,
width: 500
});
}
//end First function
});