사용자:Senouis/관리용: 두 판 사이의 차이
둘러보기로 이동
검색으로 이동
>Bureaucrat 잔글 (→게임 대문 저자 보호 처리) |
>Bureaucrat 잔글 (→게임 대문 저자 보호 처리) |
||
5번째 줄: | 5번째 줄: | ||
== 게임 대문 저자 보호 처리 == | == 게임 대문 저자 보호 처리 == | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
/** | |||
* Phase 1 - get category members | |||
*/ | |||
var titlelist = []; | |||
function getTitleList(categorystr){ | function getTitleList(categorystr){ | ||
api = new mw.Api(); | api = new mw.Api(); | ||
16번째 줄: | 20번째 줄: | ||
}; | }; | ||
api.postWithToken( 'csrf', params ).done( function ( data ) { | api.postWithToken( 'csrf', params ).done( function ( data ) { | ||
titlelist = data | titlelist = data["query"]["categorymembers"]; | ||
}); | }); | ||
return; | return; | ||
} | } | ||
/** | |||
* Phase 2: AuthorProtect with titlelist | |||
*/ | |||
/* | /* | ||
protect.js | protect.js | ||
31번째 줄: | 37번째 줄: | ||
MIT License | MIT License | ||
*/ | */ | ||
var | var timer_request = undefined; | ||
function SendAuthorProtect(categorystr) { | function SendAuthorProtect(categorystr) { | ||
var counter = 0; | |||
timer_request = setTimerout(function () { | |||
var params = { | var params = { | ||
action: 'protect', | action: 'protect', | ||
title: title[" | title: title["title"], | ||
protections: 'edit=author|move=author', | protections: 'edit=author|move=author', | ||
expiry: 'infinite', | expiry: 'infinite', | ||
46번째 줄: | 53번째 줄: | ||
console.log( data ); | console.log( data ); | ||
}); | }); | ||
} | if (counter < titlelist.length) counter++; | ||
else clearTimeout(timer_request); | |||
}, 500); | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> |
2024년 3월 4일 (월) 02:22 판
베타 서버 사무관
현재 사용자:Senouis와 동일인입니다.
게임 대문 저자 보호 처리
/**
* Phase 1 - get category members
*/
var titlelist = [];
function getTitleList(categorystr){
api = new mw.Api();
var params = {
action: 'query',
list: 'categorymembers',
cmtitle: 'Category:'+categorystr,
cmlimit: 500,
cmdir: 'asc',
format: 'json'
};
api.postWithToken( 'csrf', params ).done( function ( data ) {
titlelist = data["query"]["categorymembers"];
});
return;
}
/**
* Phase 2: AuthorProtect with titlelist
*/
/*
protect.js
MediaWiki API Demos
Demo of `Protect` module: Demo to change the edit protection
level of a given page.
forked from [[mw:API:Protect]]
MIT License
*/
var timer_request = undefined;
function SendAuthorProtect(categorystr) {
var counter = 0;
timer_request = setTimerout(function () {
var params = {
action: 'protect',
title: title["title"],
protections: 'edit=author|move=author',
expiry: 'infinite',
format: 'json'
},
api = new mw.Api();
api.postWithToken( 'csrf', params ).done( function ( data ) {
console.log( data );
});
if (counter < titlelist.length) counter++;
else clearTimeout(timer_request);
}, 500);
}