사용자: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.query.categorymembers.cm
  titlelist = data["query"]["categorymembers"];
   });
   });
   return;
   return;
}
}
 
/**
* Phase 2: AuthorProtect with titlelist
*/
/*
/*
protect.js
protect.js
31번째 줄: 37번째 줄:
MIT License
MIT License
*/
*/
var titlelist = [];
var timer_request = undefined;
function SendAuthorProtect(categorystr) {
function SendAuthorProtect(categorystr) {
   for (var title of titlelist) {
   var counter = 0;
  timer_request = setTimerout(function () {
     var params = {
     var params = {
action: 'protect',
action: 'protect',
title: 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);
}