User:小躍/test4.js
外观
< User:小躍
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google Chrome、Firefox、Microsoft Edge及Safari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
//Test
if ((wgPageName=="Wikipedia:当前的破坏")&&(wgUserName=="小躍")){
var csids='';
var checkblocksectionid=0;
var cscontent='';
var cssectionidc='';
var cssectionidcL=0;
var csusername='';
var beblockedbyadmin='';
var beblockedtimestamp='';
var beblockedexpiry='';
var beblockedreason='';
var timeselect='';
var cseditbtn='';
var cscontentR='';
var checkblockchild編號=0;
var checkblock編輯編號=0;
}// if end
if ((wgPageName=="Wikipedia:当前的破坏")&&(wgUserName=="小躍")){
for(checkblockchild編號=15;checkblockchild編號<200;checkblockchild編號++){
$('h3:nth-child('+checkblockchild編號.toString()+') > span.mw-editsection').append('<input id="CheckBlock_'+checkblockchild編號.toString()+'" class="oo-ui-inputWidget-input oo-ui-buttonElement-button" style="background-color:green;color:#fff" value="Check Block" title="Check Block" type="button" onclick="checkblocksearchsectionid('+checkblockchild編號+')"/>');
}//索取child編號
//#mw-content-text > div > h3:nth-child(18) > span.mw-editsection > a
}// if end
function checkblocksearchsectionid(checkblockchildid){
checkblocksectionid=$('h3:nth-child('+checkblockchildid.toString()+') > span.mw-editsection > a').attr('href').split("&")[2].split("=")[1];
$('<div id="checkblocksearchsectionid" title="Search Section ID of Editing for querying">' +
'<label for="csidst">Section ID:</label> ' +
'<select id="csidst" style="padding:1px;vertical-align:baseline;">'+
'<option value="'+checkblocksectionid+'">'+checkblocksectionid+
'</select><br/>'+
'<input id="wpCheckblockusername" value="Search" title="Search the name of user" type="button"/>'+
'</div>'
).dialog({
modal: false,
autoOpen: true,
width: 500,
});
$('#wpCheckblockusername').click(checkblockcheck);
}
function checkblockcheck() {
event.preventDefault();
var api = new mw.Api();
api.get( {
'action' : 'query',
'titles' : wgPageName,
'prop' : 'revisions|info',
'intoken' : 'edit',
'rvprop' : 'content',
"rvsection": $('#csidst').val(),
'indexpageids' : 1
} ).done( function (result) {
result = result.query;
var page = result.pages[result.pageids[0]];
cscontent=page.revisions[0]["*"].toString();
cssectionidc=cscontent.split("===")[1];
cssectionidcL=cssectionidc.length;
csusername=cssectionidc.substring(10,(cssectionidcL-3));
$('<div id="checkblockcheckshow" title="Block of checking for IP address or user name">' +
'<label>IP address or user name:'+csusername+'</label><br> ' +
'<label>This IP address or user name is no be blocked.Please close this window.</label></br> ' +
'</div>'
).dialog({
modal: false,
autoOpen: true,
width: 500,
});
api.get( {
'action' : 'query',
"list": "blocks",
"bkdir": "older",
"bkusers": csusername,
"bklimit": "1"
}).done( function (result) {
result = result.query;
beblockedbyadmin=result.blocks[0].by.toString();
beblockedtimestamp=result.blocks[0].timestamp.toString().replace(/T/,' ').replace(/Z/,' (UTC)');
beblockedexpiry=result.blocks[0].expiry.toString().replace(/T/,' ').replace(/Z/,' (UTC)');
beblockedreason=result.blocks[0].reason.toString().replace(/\{\{/,'<nowiki>{{').replace(/\}\}/,'}}</nowiki>');
if(!((cscontent.match("[Bb]locked"))||(cscontent.match(/封禁([1-3][0-9][0-9]|[1-9][0-9]||[0-9]|([三六九][十])|[一二兩三六七九])(天|日|[个個]月|小[时時]|年|[週周])/)))){
timeselect='<label for="timest">Section Day(s) of be blocked:</label> ' +'<select id="timest" style="padding:1px;vertical-align:baseline;">'+
'<option value="12小時">12小時'+
'<option value="1天">1天'+
'<option value="1天7小時">1天7小時'+
'<option value="2天">2天'+
'<option value="3天">3天'+
'<option value="7天">7天'+
'<option value="14天">14天'+
'<option value="30天">30天'+
'<option value="60天">60天'+
'<option value="90天">90天'+
'<option value="180天">180天'+
'<option value="1年">1年'+
'<option value="2年">2年'+
'<option value="3年">3年'+
'<option value="永久">永久'+
'</select>';
cseditbtn='<input id="wpcsblockEdit" value="Edit" title="Edit this page" type="button"/>';
}else{
timeselect='<label>This block of checking has done.</label>';
}
document.getElementById("checkblockcheckshow").innerHTML=
'<label>IP address or user name:'+csusername+'</label><br> ' +
'<label>Be blocked by admin:'+beblockedbyadmin+'</label></br>' +
'<label>Start Time of be blocked:'+beblockedtimestamp+'</label> <br>' +
'<label>End Time of be blocked:'+beblockedexpiry+'</label> <br/>' +
'<label>Reason of be blocked:'+beblockedreason+'</label> <br>'+timeselect+'</br>' +cseditbtn;
$('#wpcsblockEdit').click(checkblockcheckdone);
});//2nd api get end
});//1st api get end
}
function checkblockcheckdone(){
event.preventDefault();
if(cscontent.match("处理:")){
cscontentR=cscontent.replace(/处理:/,'处理:{{Blocked|'+$('#timest').val()+'||'+beblockedbyadmin+'}}。--~~'+'~~');
checkblockresult( wgPageName,wgPageName,$('#csidst').val(),cscontentR,'新增已被封禁處理的結果。',mw.util.getUrl(wgPageName));
}
$('<div id="checkblockdone" title="OK">' +
'<label>編輯成功。</label> ' +
'</div>'
).dialog({
modal: false,
autoOpen: true,
width: 500,
});
}
function checkblockresult( tracePage,destinationPage,EditSection,edittext,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' :edittext,
'section':EditSection,
'summary' :editsummary,
'token' : page.edittoken
} ).done( function () {
window.location.href = linkTo;
} );
} );
}