틀:자동저장/플러그인: 두 판 사이의 차이

리버티게임(개발), 모두가 만들어가는 자유로운 게임
둘러보기로 이동 검색으로 이동
백괴게임>Manymaster
편집 요약 없음
백괴게임>Manymaster
편집 요약 없음
6번째 줄: 6번째 줄:
{{#vardefine:name|autosave}}
{{#vardefine:name|autosave}}
{{#vardefine:creat|Manymaster}}
{{#vardefine:creat|Manymaster}}
{{#vardefine:version|0.0.6}}
{{#vardefine:version|2.-1}}
{{#vardefine:descript|자동저장 시스템을 위한 플러그인}}
{{#vardefine:descript|자동저장 시스템을 위한 플러그인}}
{{#vardefine:local|false}}
{{#vardefine:local|false}}

2018년 3월 4일 (일) 03:35 판

요령 => 아래 변수들의 첫번째 인자들을 내용에 맞게 자르고 붙여넣어주세요

!!!!!!!!!!!!!!!! 플러그인 정보 입력 구간 윗부분은 만지지 마시오 절대로!!!!!!!!!!!!!!!!!






!!!!!!!!!!!!!!!! 플러그인 정보 입력 구간 끝 아래는 만지지 마시오!!!!!!!!!!!!!!!!!

		 
/* 작동 가능한 네임스페이스 */
const safeNameSpace = [""];

/* autosave 편집모드가 아닐 경우 플러그인 종료 */
const searchParams = new URL(location).searchParams;
const isEditMode = searchParams.get("action") === "edit";
const isAutosaveMode = searchParams.get("autosave") === "1";
if(!(isEditMode && isAutosaveMode)) return "";

/* 자동 저장하기에 안전한 네임스페이스가 아닌 경우 플러그인 종료 */
const thisNamespaceNumber = mw.config.get("wgNamespaceNumber");
const nameSpaceIds = mw.config.get("wgNamespaceIds");
const isSafeNameSpace = safeNameSpace
	.map( function(namespace){ return nameSpaceIds[namespace]; })
	.some( function(nsNumber){ return nsNumber == thisNamespaceNumber; });
if(!(isSafeNameSpace)) return "";

/* 자동 인증된 사용자가 아닌 경우 플러그인 종료 */
var userGroups = mw.config.get( 'wgUserGroups' );
var autocheck = 0
if ( userGroups ) {
for ( var i = 0; i < userGroups.length; i++ ) {
if ( userGroups[i] === 'autoconfirmed' ) {
autocheck++;
}
}
}
if(!(autocheck == 1 )) return "";

/* 지정된 단락에서 불러오기 */
const savetempDom = $(".game-autosave");
if($(".game-autosave").length === 0) 
    throw new Error("autosave => game-autosave를 클래스명으로 가진 돔을 찾을 수 없습니다.");
var savetemp = $(".game-autosave").html();

/* 문제가 되는 문자열 치환 */
savetemp = savetemp.replace(/(<([^>]+)>)/ig,"");
savetemp = savetemp.replace(/\n+/gi, "\n");
savetemp = savetemp.replace("\n", "");
savetemp = savetemp.replace(/</gi, "<");
savetemp = savetemp.replace(/>/gi, ">");

/* 기록, 저장하고 빠져나오기 */
$("#wpTextbox1").val(savetemp);
$("#wpSave").click();
return;
		
}
$( plugin_autosavetest );