모듈:보호된 편집 요청/활성

Module

요구하다('''비공식''')  현지의 예 아니오, 메시지 상자 만들기 모듈에서 전달됨:보호된 편집 요청 현지의 도구 모음 만들기 = 요구하다('모듈:도구 모음')._본 현지의 페이지 유형 가져오기 = 요구하다('모듈:페이지 유형')._본 현지의 유효 보호 수준 = 요구하다('모듈:효과적인 보호 수준')._본  ---------------------------------------------------------------------- 도우미 기능 ----------------------------------------------------------------------  현지의 기능. Wikilink(페이지입니다., 과시하는)  한다면 과시하는 그리고나서   돌아가다 mw.ustring.서식을('[%s %s]', 페이지입니다., 과시하는)  또 다른   돌아가다 mw.ustring.서식을('[%s]', 페이지입니다.)  끝. 끝.  ---------------------------------------------------------------------- 타이틀 클래스 ----------------------------------------------------------------------  이것은 기본적으로 추가 사항이 포함된 mw.title 클래스입니다.  현지의 제목 = {} 제목.__index = 제목  기능. 제목.보호 가져오기수준 텍스트(보호 수준)  앵커 및 urn 링크에 사용할 텍스트를 가져옵니다.  현지의 수준 = {무방비의 = '보호되지 않은 상태로 편집, 자동 확인된 = '반보호 편집', 확증된 = '확장 보호됨 편집', 템플릿 편집기 = '템플릿 보호 편집', 시솝 = '보호된 편집', 인터페이스 관리자 = '인터페이스 보호 편집'}  돌아가다 수준[보호 수준] 끝.  기능. 제목.신규(...)  현지의 성공., obj = pcall(mw.제목.신규, ...)  한다면 것은 아니다. (성공. 그리고. obj) 그리고나서 돌아가다 끝.  제목.안에(obj)  돌아가다 obj 끝.  기능. 제목.안에(obj)  보호 추가수평 특성.  obj.보호 수준 = 유효 보호 수준(obj.존재한다 그리고. '편집' 또는 '만들기', obj)  한다면 obj.보호 수준 == '*' 그리고나서   보호되지 않는 페이지를 "보호되지 않음"으로 반환합니다.   obj.보호 수준 = '보호되지 않음'  그렇지 않으면 obj.보호 수준 == '사용자' 그리고나서   만약 우리가 등록만 하면 된다면, 우리가 가진 것 중 가장 가까운 것이기 때문에 자동 확인이 필요한 것으로 간주하십시오.   obj.보호 수준 = '자동 확인됨'  끝.   페이지 유형 속성을 추가합니다.  obj.페이지 유형 = 페이지 유형 가져오기{페이지입니다. = obj.접두사 텍스트, defaultns = '모두'}    링크 작성 방법을 추가합니다.  기능. obj:makeUrlLink(문의, 과시하는)   돌아가다 mw.ustring.서식을('[%s %s]', 자신:전체 URL(문의), 과시하는)  끝.   기능. obj:makeViewLink(과시하는)   돌아가다 자신:makeUrlLink({리다이렉트 = '아니오'}, 과시하는)  끝.   기능. obj:makeEditLink(과시하는)   돌아가다 자신:makeUrlLink({액션. = '편집'}, 과시하는)  끝.   기능. obj:make HistoryLink(과시하는)   돌아가다 자신:makeUrlLink({액션. = '역사'}, 과시하는)  끝.   기능. obj:마지막 편집 링크 만들기(과시하는)   돌아가다 자신:makeUrlLink({차이가 있는 = '커', 늙은이 = '''비공식'''}, 과시하는)  끝.   기능. obj:여기에 연결 항목링크 만들기(과시하는)   돌아가다 Wikilink('특수:링크 내용/' .. 자신.접두사 텍스트, 과시하는)  끝.   기능. obj:비교 링크 만들기(기타 제목, 과시하는)   과시하는 = 과시하는 또는 'diff'   현지의 페이지 비교제목 = 제목.신규('특수:페이지 비교')   돌아가다 페이지 비교제목:makeUrlLink({1 페이지 = 자신.접두사 텍스트, 2 페이지 = 기타 제목.접두사 텍스트}, 과시하는)  끝.   기능. obj:makeLogLink(logType, 과시하는)   현지의 logTitle = 제목.신규('특수:로그')   돌아가다 logTitle:makeUrlLink({유형 = logType, 페이지입니다. = 자신.접두사 텍스트}, 과시하는)  끝.   기능. obj:urlEncode()   돌아가다 mw.uri.부호화(자신.접두사 텍스트, 'WIKI')  끝.   기능. obj:makeUrnLink(상자 보호 수준)   항아리 링크를 출력합니다.보호 수준은 페이지 자체에서 탐지되는 것이 아니라 템플릿에서 가져옵니다.   2013년 11월 기준으로 캐스케이드로 보호되는 페이지와 제목 블랙리스트에 있는 페이지의 경우 탐지가 부정확할 수 있습니다.   현지의 protectionLinkText = 제목.보호 가져오기수준 텍스트(상자 보호 수준)   돌아가다 mw.ustring.서식을('[urn:x-wp-%s:%s <span></span>', protectionLinkText, 자신:urlEncode())  끝.   하위 페이지 제목 개체를 가져오지만 보호되지 않는 mw.title:subPageTitle을 사용하는 대신 pcall을 수행합니다.  기능. obj:하위 페이지 가져오기제목(하위 페이지)   돌아가다 제목.신규(자신.접두사 텍스트 .. '/' .. 하위 페이지)  끝.   기능. obj:샌드박스 제목 가져오기()   한다면 자신.isSubpage 그리고. 자신.내용 모델 == '비활성화된' 그리고나서    현지의 성공2, obj2 = pcall(mw.제목.makeTitle, 자신.네임스페이스, 자신.기본 텍스트 .. '/https/' .. 자신.하위 페이지텍스트)    한다면 성공2 그리고. obj2 그리고나서     제목.안에(obj2)     돌아가다 obj2    끝.   끝.   돌아가다 자신:하위 페이지 가져오기제목('''비공식''')  끝. 끝.  ---------------------------------------------------------------------- 제목 테이블 클래스 ----------------------------------------------------------------------  현지의 표제 = {} 표제.__index = 표제  기능. 표제.신규(논병아리)  숫자 인수를 가져오고 각 인수에 대한 제목 개체를 만듭니다.  현지의 숫자들 = {}  위해서 k, v  쌍들(논병아리) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다   한다면 유형(k) == '숫자' 그리고나서    표.삽입(숫자들, k)   끝.  끝.  테이블. 테이블.(숫자들)  현지의 직함들 = {}  위해서 _, 번호  짝을 짓다(숫자들) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다   현지의 제목 = 제목.신규(논병아리[번호])   표.삽입(직함들, 제목)  끝.  현재 제목을 가져오고 제목이 지정되지 않은 경우 제목을 가져옵니다.  직함들.현재 제목 = mw.제목.현재 제목 가져오기()  한다면 #직함들 < 1 그리고나서   현지의 제목 Ns. = 직함들.현재 제목.subjectNsText   한다면 제목 Ns. ~= '' 그리고나서    제목 Ns. = 제목 Ns. .. ':'   끝.   표.삽입(직함들, 제목.신규(제목 Ns. .. 직함들.현재 제목.본문))  끝.  메타테이블을 설정합니다.  상을 차리다(직함들, 표제)  돌아가다 직함들 끝.  기능. 표제:메모를 하다(memoField, 펑크, ...)  한다면 자신[memoField] ~= 영의 그리고나서   돌아가다 자신[memoField]  또 다른   자신[memoField] = 펑크(...)   돌아가다 자신[memoField]  끝. 끝.  기능. 표제:제목 반복기()  현지의 i = 0  현지의 n = #자신  돌아가다 기능.()   i = i + 1   한다면 i <= n 그리고나서    돌아가다 자신[i]   끝.  끝. 끝.  기능. 표제:동일한 속성 있음(memoField, 속성 함수 가져오기)  제목 테이블에 제목이 둘 이상 있는 경우, 동일한 속성이 있는지 확인합니다.  getPropertyFunc 함수를 사용하여 속성을 찾습니다. getPropertyFunc 함수는 제목 개체를 단일 인수로 사용합니다.    현지의 기능. 동일한 속성 있음(속성 함수 가져오기)   현지의 소유물   위해서 i, obj  짝을 짓다(자신) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다    한다면 i == 1 그리고나서     소유물 = 속성 함수 가져오기(obj)    그렇지 않으면 속성 함수 가져오기(obj) ~= 소유물 그리고나서     돌아가다 거짓의    끝.   끝.   돌아가다 진실의  끝.   돌아가다 자신:메모를 하다(memoField, 동일한 속성 있음, 속성 함수 가져오기) 끝.   기능. 표제:동일한 존재 상태 있음()  모든 제목이 있거나 모두 없는 경우 true를 반환합니다.존재 상태가 혼합된 경우 false를 반환합니다.  돌아가다 자신:동일한 속성 있음('동일 존재 상태', 기능. (제목) 돌아가다 제목.존재한다 끝.) 끝.  기능. 표제:보호 상태가 동일함()  모든 제목의 보호 상태가 동일한지 확인합니다(작성 보호 또는 편집 보호). 둘은 혼합되지 않습니다.  현지의 동일한 존재 상태 = 자신:동일한 존재 상태 있음()  한다면 동일한 존재 상태 그리고나서   돌아가다 자신:동일한 속성 있음('동일한 보호 상태', 기능. (제목) 돌아가다 제목.보호 수준 끝.)  또 다른   돌아가다 동일한 존재 상태  끝. 끝.  기능. 표제:페이지 유형이 동일합니다.()  모든 제목의 페이지 유형이 동일한지 확인합니다.  돌아가다 자신:동일한 속성 있음('동일 페이지 유형', 기능. (제목) 돌아가다 제목.페이지 유형 끝.) 끝.  기능. 표제:속성 있음(memoField, 속성 함수 가져오기)  특정 속성을 가진 제목이 있는지 확인합니다.  속성은 제목 개체를 단일 인수로 사용하는 getPropertyFunc 함수를 사용하여 찾습니다.  부울 값을 반환해야 합니다.  현지의 기능. 속성 있음(속성 함수 가져오기)   위해서 제목 Obj  자신:제목 반복기() 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다    한다면 속성 함수 가져오기(제목 Obj) 그리고나서     돌아가다 진실의    끝.   끝.   돌아가다 거짓의  끝.  돌아가다 자신:메모를 하다(memoField, 속성 있음, 속성 함수 가져오기) 끝.  기능. 표제:인터페이스 페이지 없음()  돌아가다 자신:속성 있음('비인터페이스 페이지', 기능. (제목 Obj) 돌아가다 제목 Obj.네임스페이스 ~= 8 끝.) 끝.  기능. 표제:hasTemplateOrModule()  돌아가다 자신:속성 있음('템플릿 또는 모듈', 기능. (제목 Obj) 돌아가다 제목 Obj.네임스페이스 == 10 또는 제목 Obj.네임스페이스 == 828 끝.) 끝.  기능. 표제:템플릿 또는 모듈 없음()  돌아가다 자신:속성 있음('비템플릿 또는 모듈', 기능. (titleobj) 돌아가다 titleobj.네임스페이스 ~= 10 그리고. titleobj.네임스페이스 ~= 828 끝.) 끝.  기능. 표제:다른 보호 수준 있음(수평의)  위해서 제목 Obj  자신:제목 반복기() 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다   한다면 제목 Obj.보호 수준 ~= 수평의 그리고나서    돌아가다 진실의   끝.  끝.  돌아가다 거짓의 끝.  기능. 표제:보호 가져오기레벨()  현지의 기능. 보호 가져오기레벨()   현지의 수준 = {}   위해서 제목 Obj  자신:제목 반복기() 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다    현지의 수평의 = 제목 Obj.보호 수준    수준[수평의] = 진실의   끝.   돌아가다 수준  끝.  돌아가다 자신:메모를 하다('보호'레벨', 보호 가져오기레벨) 끝.  ---------------------------------------------------------------------- Blurb 클래스 정의 ----------------------------------------------------------------------  현지의 흐느적거리다 = {} 흐느적거리다.__index = 흐느적거리다  기능. 흐느적거리다.신규(표제, 상자 보호 수준)  현지의 obj = {}  obj.직함들 = 표제  obj.상자 보호 수준 = 상자 보호 수준  obj.링크 개수 = 0 개체의 링크 목록에 있는 총 항목 수를 나타내는 카운터입니다.  상을 차리다(obj, 흐느적거리다)  돌아가다 obj 끝.  정적 메서드 --  기능. 흐느적거리다.구문 분석 텍스트 만들기(이름., )  현지의 피리를 = mw.본문.노비키(' ')  현지의 동등한 = mw.본문.노비키('=')   =  그리고. ("''" ..  .. "''") 또는 ''  돌아가다 mw.ustring.서식을('<code style="white-space: nowrap;">%s%s%s</code>', 피리를, 이름., 동등한, ) 끝.  기능. 흐느적거리다.makeTemplateLink(s)  돌아가다 mw.ustring.서식을('%s[[템플릿:%s %s]%s', mw.본문.노비키('{{'), s, s, mw.본문.노비키('}}')) 끝.  기능. 흐느적거리다:보호 텍스트 만들기()  현지의 상자 보호 수준 = 자신.상자 보호 수준  현지의 수준 = {['*'] = '보호되지 않음', 자동 확인된 = '안전하게 보호됨', 확증된 = '하이브리드 보호', 템플릿 편집기 = '안전하게 보호됨', 시솝 = '완전한 보호', 인터페이스 관리자 = '인터페이스로 보호됨'}  위해서 수평의, 보호 텍스트  쌍들(수준) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다   한다면 수평의 == 상자 보호 수준 그리고나서    돌아가다 mw.ustring.서식을('[도움말:보호 %s]]', 보호 텍스트)   끝.  끝.  오류('알 수 없는 보호 수준' .. 상자 보호 수준) 끝.  기능. 흐느적거리다.페이지 유형 복수 가져오기(제목)  현지의 페이지 유형 = 제목.페이지 유형  한다면 페이지 유형 == '''비공식''' 그리고나서   돌아가다 '카테고리'  또 다른   돌아가다 페이지 유형 .. 's'  끝. 끝.  일반적인 방법 --  기능. 흐느적거리다:링크 목록 만들기(제목)  현지의 티바그 = {} 모듈에 전달할 인수 목록:도구 모음  티바그.스타일. = '크기: 더 작음;'  티바그.구분자 = '점  페이지 링크.  표.삽입(티바그, 제목:makeEditLink('편집'))  표.삽입(티바그, 제목:make HistoryLink('역사'))  표.삽입(티바그, 제목:마지막 편집 링크 만들기('마지막'))  표.삽입(티바그, 제목:여기에 연결 항목링크 만들기('''비공식'''))  샌드박스 링크.  현지의 샌드박스 제목 = 제목:샌드박스 제목 가져오기()  한다면 샌드박스 제목 그리고. 샌드박스 제목.존재한다 그리고나서   표.삽입(티바그, 샌드박스 제목:makeViewLink('''비공식'''))   표.삽입(티바그, 샌드박스 제목:makeEditLink('샌드박스 편집'))   표.삽입(티바그, 샌드박스 제목:make HistoryLink('기록 삭제'))   표.삽입(티바그, 샌드박스 제목:마지막 편집 링크 만들기('마지막 편집 시작'))   표.삽입(티바그, 제목:비교 링크 만들기(샌드박스 제목, 'diff diff'))  끝.  테스트 사례 링크.  현지의 테스트 케이스제목 = 제목:하위 페이지 가져오기제목('테스트 케이스')  한다면 테스트 케이스제목 그리고. 테스트 케이스제목.존재한다 그리고나서   표.삽입(티바그, 테스트 케이스제목:makeViewLink('테스트 사례'))  끝.  차단 횟수 링크.  한다면 제목.네임스페이스 == 10 또는 제목.네임스페이스 == 828 그리고나서 템플릿 및 모듈에 대한 차단 개수 링크만 추가합니다.   현지의 똑딱똑딱 = mw.uri.신규{    주인 = 'templatecount.toolforge.org ',    경로. = '/index.dll',    문의 = {     랑그 = en,     이름. = 제목.본문,     네임스페이스 = 제목.네임스페이스,    },    단편적인 = '하단'   }   똑딱똑딱 = string.형식('[%s 차단 횟수]', 끈으로 묶는(똑딱똑딱))   표.삽입(티바그, 똑딱똑딱)  끝.  보호 로그 링크.  한다면 제목.네임스페이스 ~= 8 그리고나서 미디어위키 페이지에 보호 로그 항목이 없습니다.   표.삽입(티바그, 제목:makeLogLink('보호', '보호 로그'))  끝.  자신.링크 개수 = 자신.링크 개수 + #티바그 개체에 의해 생성된 총 링크 수를 추적합니다.  돌아가다 도구 모음 만들기(티바그) 끝.  기능. 흐느적거리다:링크 목록 만들기()  현지의 직함들 = 자신.직함들  한다면 #직함들 == 1 그리고나서   돌아가다 자신:링크 목록 만들기(직함들[1])  또 다른   현지의 리트 = {}   표.삽입(리트, '<ul>')   위해서 i, 제목 Obj  짝을 짓다(직함들) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다    표.삽입(리트, mw.ustring.서식을('<li>%s %s </li>', 제목 Obj:makeViewLink(제목 Obj.접두사 텍스트), 자신:링크 목록 만들기(제목 Obj)))   끝.   표.삽입(리트, '/ul')   돌아가다 테이블.콘캣(리트)  끝. 끝.  기능. 흐느적거리다:소개합니다.()  현지의 직함들 = 자신.직함들  현지의 요청된 = '위키피디아입니다.요청 편집 요청]입니다.  현지의 보호 텍스트  한다면 직함들:인터페이스 페이지 없음() 그리고나서   보호 텍스트 = ' ' .. 자신:보호 텍스트 만들기()  또 다른   보호 텍스트 = '' 인터페이스 페이지는 보호 해제할 수 없으므로 보호된다고 명시적으로 말할 필요가 없습니다.  끝.  우리가 여러 개의 타이틀을 부여받은 경우를 처리합니다.  한다면 #직함들 > 1 그리고나서   현지의 페이지 유형   한다면 직함들:페이지 유형이 동일합니다.() 그리고나서    페이지 유형 = 흐느적거리다.페이지 유형 복수 가져오기(직함들[1])   또 다른    페이지 유형 = '페이지'   끝.   돌아가다 mw.ustring.서식을("'%s 편집이 다음 %s %s'에 수행됩니다.", 요청된, 보호 텍스트, 페이지 유형)  끝.  우리가 단 하나의 타이틀만 통과되는 경우를 처리합니다.  현지의 제목 = 직함들[1]  현지의 형식으로 문자열  한다면 제목.존재한다 그리고나서   형식으로 문자열 = '%s에서 %s %s을(를) 편집합니다.'  또 다른   형식으로 문자열 = '%s %s %s이(가) %s에 생성됩니다.'  끝.  형식으로 문자열 = "'''" .. 형식으로 문자열 .. "'''"  돌아가다 mw.ustring.서식을(형식으로 문자열, 요청된, 보호 텍스트, 제목.페이지 유형, 제목:makeViewLink(제목.접두사 텍스트)) 끝.  기능. 흐느적거리다:몸 만들기()  현지의 직함들 = 자신.직함들  현지의 보호.레벨 = 직함들:보호 가져오기레벨()  현지의 상자 보호 수준 = 자신.상자 보호 수준  현지의 인터페이스 페이지 없음 = 직함들:인터페이스 페이지 없음()  현지의 복수형 = 거짓의  한다면 #직함들 > 1 그리고나서   복수형 = 진실의  끝.   현지의 설명텍스트 = "이 템플릿 뒤에는 요청에 대한 '완전하고 구체적인 설명'이 와야 합니다."  한다면 상자 보호 수준 == '스톱' 또는 상자 보호 수준 == '편집자 권한 없음' 그리고나서   현지의 텍스트 편집 = '편집'   한다면 복수형 그리고나서    텍스트 편집 = 텍스트 편집 .. 's'   끝.   현지의 설명전체 텍스트 = mw.ustring.서식을('주제에 익숙하지 않은 편집자가 요청한 %s을 즉시 완료할 수 있도록', 텍스트 편집)   설명텍스트 = 설명텍스트 .. 설명전체 텍스트  또 다른   설명텍스트 = 설명텍스트 .. '즉, 삭제할 텍스트와 이를 대체할 텍스트의 동사본을 지정합니다.'    .. ["X"를 변경하십시오."는 "수용할 수 없습니다."이므로 거부됩니다. 요청 ""must"는 "X"를 "Y"로 변경하십시오." ]  끝.   현지의 작은 텍스트 = ''  한다면 상자 보호 수준 == '스톱' 또는 상자 보호 수준 == '편집자 권한 없음' 그리고나서   현지의 템플릿전체 텍스트   한다면 상자 보호 수준 == '스톱' 그리고나서    템플릿전체 텍스트 = '완전한 보호'   그렇지 않으면 상자 보호 수준 == '편집자 권한 없음' 그리고나서    템플릿전체 텍스트 = '안전하게 보호됨'   끝.   작은 텍스트 = '요청 편집 대상' .. 템플릿전체 텍스트 .. 페이지는 '논쟁의 여지가 없는' 편집이나 위키백과에서 지원하는 편집에만 사용해야 합니다.공감대 형성]"    .. 제안된 편집이 논란이 될 수 있는 경우, 이 템플릿을 사용하여 보호 페이지의 '이전' 대화 페이지에서 토론하십시오."  또 다른   현지의 사용자 텍스트   현지의 응답 템플릿   한다면 상자 보호 수준 == '확인되지 않음' 그리고나서    사용자 텍스트 = '[[위키백과:사용자 액세스 수준#확장된 확인된 사용자 확장된 확인]] 사용자'    응답 템플릿 = 흐느적거리다.makeTemplateLink('EEP')   그렇지 않으면 상자 보호 수준 == '자동 확인됨' 그리고나서    사용자 텍스트 = '[[위키백과:사용자 액세스 수준#자동 확인 자동 확인]] 사용자'    응답 템플릿 = 흐느적거리다.makeTemplateLink('ESP')   그렇지 않으면 상자 보호 수준 == '인터페이스 관리자' 그리고나서    사용자 텍스트 = '[[위키백과:사용자 액세스 수준#인터페이스 관리자 인터페이스 관리자]]'    응답 템플릿 = 흐느적거리다.makeTemplateLink('EEP')   또 다른    사용자 텍스트 = '사용자'    응답 템플릿 = 흐느적거리다.makeTemplateLink('ESP')   끝.   현지의 파라가 대답했습니다. = 흐느적거리다.구문 분석 텍스트 만들기('응답됨', '아니오')   현지의 형식으로 문자열 = '%s에 의해 편집될 수 있습니다.'    .. [요청이 수락, 거부 또는 사용자 입력 대기 중인 보류 중인 경우 %s 매개 변수를 "'예'"로 변경해야 합니다.]    .. "비활성 또는 완료된 요청이 편집 요청 범주를 불필요하게 채우지 않도록 하기 위한 것입니다."    .. '응답에 %s 템플릿을 사용할 수도 있습니다.'   작은 텍스트 = mw.ustring.서식을(형식으로 문자열, 사용자 텍스트, 파라가 대답했습니다., 응답 템플릿)  끝.   한다면 것은 아니다. 복수형 그리고나서   현지의 제목 = 직함들[1]   한다면 제목.네임스페이스 == 10 또는 제목.네임스페이스 == 828 그리고나서    현지의 샌드박스 제목 = 제목:하위 페이지 가져오기제목('''비공식''')    한다면 샌드박스 제목 그리고. 샌드박스 제목.존재한다 그리고나서     작은 텍스트 = 작은 텍스트 .. 먼저 '을(를) 변경하는 것을 고려합니다.      .. 샌드박스 제목:makeViewLink(제목.페이지 유형 .. "의 샌드박스")     현지의 테스트 케이스제목 = 제목:하위 페이지 가져오기제목('테스트 케이스')     한다면 테스트 케이스제목 그리고. 테스트 케이스제목.존재한다 그리고나서      작은 텍스트 = 작은 텍스트 .. 및 ' .. 테스트 케이스제목:makeViewLink('여기서 그들을 철저히 테스트합니다.)     끝.     작은 텍스트 = 작은 텍스트 .. 편집 요청을 제출하기 전에.'    끝.   끝.  끝.  한다면 인터페이스 페이지 없음 그리고나서   작은 텍스트 = 작은 텍스트 .. 페이지 보호 또는 보호 해제를 요청하려면 [Wikipedia:페이지 보호 요청]]'.'  끝.  한다면 상자 보호 수준 == '스톱' 또는 상자 보호 수준 == '편집자 권한 없음' 또는 상자 보호 수준 == '인터페이스 관리자' 그리고나서   작은 텍스트 = 작은 텍스트 .. 요청이 완료되거나 거부되면 '을(를) 추가하십시오. .. 흐느적거리다.구문 분석 텍스트 만들기('응답됨', '예') .. 템플릿을 비활성화하는 매개 변수입니다.'  끝.  돌아가다 mw.ustring.서식을('%s\n<p style="filename-size:filename; 줄 높이:1.3em;">\n%s\n'/p', 설명텍스트, 작은 텍스트) 끝.  기능. 흐느적거리다:수출의()  현지의 도입부 = 자신:소개합니다.()  현지의 linkLists = 자신:링크 목록 만들기()  현지의  = 자신:몸 만들기()  긴 링크 목록을 새 줄에서 시작합니다.  현지의 linkListSep = ' '  한다면 자신.링크 개수 > 5 그리고나서   linkListSep = '<br />'  끝.  돌아가다 mw.ustring.서식을('%s%s%s\n\n%s', 도입부, linkListSep, linkLists, ) 끝.  ---------------------------------------------------------------------- 모듈의 하위 클래스:활성 상자에 대한 보호된 편집 요청의 상자 클래스 ----------------------------------------------------------------------  현지의 박스 = {} 박스.__index = 박스  기능. 박스.신규(보호.유형, 논병아리)  여기서 사용되는 상속 시스템에서 개체의 메타테이블은 클래스이고 클래스의 메타테이블은 슈퍼클래스입니다.  현지의 obj = 배불리 먹다(박스).신규(보호.유형, 논병아리)  상을 차리다(obj, 박스)  현지의 상자 보호레벨 = {반의 = '자동 확인됨', 확장된 = '확인되지 않음', 템플릿 = '편집자 권한 없음', 만차 = '스톱', 인터페이스 = '인터페이스 관리자'}  obj.상자 보호 수준 = 상자 보호레벨[보호.유형]  obj.데모 = 예 아니오(논병아리.데모)  종속 개체를 설정합니다.  obj.직함들 = 표제.신규(논병아리)  한다면 것은 아니다. 예 아니오(논병아리.힘.) 그리고. obj.직함들:동일한 속성 있음('동일한 보호 상태', 기능. (제목) 돌아가다 제목.보호 수준 끝.) 그리고. obj.직함들[1].보호 수준 ~= '보호되지 않음' 그리고나서   obj.상자 보호 수준 = obj.직함들[1].보호 수준  끝.  obj.흐느적거리다 = 흐느적거리다.신규(obj.직함들, obj.상자 보호 수준)  돌아가다 obj 끝.  기능. 박스:세트 이미지()  현지의 직함들 = 자신.직함들  현지의 상자 보호 수준 = 자신.상자 보호 수준  현지의 자물쇠  한다면 상자 보호 수준 == '스톱' 그리고나서   자물쇠 = '완전 보호-섀클.svg'  그렇지 않으면 상자 보호 수준 == '인터페이스 관리자' 그리고나서   자물쇠 = 'Interface-protection-shackle.svg'  그렇지 않으면 상자 보호 수준 == '편집자 권한 없음' 그리고나서   자물쇠 = 'Template-protection-shackle.svg'  그렇지 않으면 상자 보호 수준 == '자동 확인됨' 그리고나서   자물쇠 = 'Semi-protection-shackle.svg'  그렇지 않으면 상자 보호 수준 == '확인되지 않음' 그리고나서   자물쇠 = 'extended-protection-shackle.svg'  또 다른   자물쇠 = 'Padlock-bronze-open.svg'  끝.  현지의 형식으로 문자열 = '[파일:%s %dpx alt= link=]'  현지의 작은 자물쇠 = mw.ustring.서식을(형식으로 문자열, 자물쇠, 25)  현지의 대형 자물쇠 = mw.ustring.서식을(형식으로 문자열, 자물쇠, 60)  자신:집합 Arg('작은 이미지', 작은 자물쇠)  자신:집합 Arg('이미지', 대형 자물쇠) 끝.  기능. 박스:UrnLinks 구축()  현지의 리트 = {}  현지의 상자 보호 수준 = 자신.상자 보호 수준  위해서 제목 Obj  자신.직함들:제목 반복기() 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다   표.삽입(리트, 제목 Obj:makeUrnLink(상자 보호 수준))  끝.  돌아가다 mw.ustring.서식을('<span class="displaylinks" style="display:display">%s</span>', 테이블.콘캣(리트)) 끝.  기능. 박스:setBurb 텍스트()  자신:집합 Arg('텍스트', 자신.흐느적거리다:수출의() .. 자신:UrnLinks 구축()) 끝.  기능. 박스:내보내기RequestTmbox()  자신:세트 이미지()  자신:setBurb 텍스트()  자신:집합 Arg('''클래스'', '편집 요청')  자신:집합 Arg('id', 제목.보호 가져오기수준 텍스트(자신.상자 보호 수준)) 닻을 내리고예, 이것은 동일한 ID를 가진 여러 요소로 이어집니다. 우리는 아마도 어느 시점에서 이것을 고쳐야 할 것입니다.  돌아가다 메시지 상자 만들기('tmbox', 자신.tmboxArgs) 끝.  기능. 박스:내보내기 요청 카테고리()  현지의 고양이들 = {}  현지의 상자 보호 수준 = 자신.상자 보호 수준  현지의 기능. 고양이 추가(고양이)   표.삽입(고양이들, mw.ustring.서식을('[범주:%s]', 고양이))  끝.  현지의 보호Cats = {   자동 확인된 = '위키피디아 반보호 편집 요청',   확증된 = 'Wikipedia 확장된 확인된 보호된 편집 요청',   템플릿 편집기 = 'Wikipedia 템플릿으로 보호된 편집 요청',   시솝 = 'Wikipedia에서 완전히 보호된 편집 요청',   인터페이스 관리자 = 'Wikipedia 인터페이스로 보호된 편집 요청  }  고양이 추가(보호Cats[상자 보호 수준])  한다면 자신.직함들:다른 보호 수준 있음(상자 보호 수준) 그리고나서   고양이 추가('Wikipedia 편집 요청이 잘못된 템플릿을 사용하고 있을 수 있습니다.')  끝.  돌아가다 테이블.콘캣(고양이들) 끝.  기능. 박스:수출의()  현지의 제목 = 자신.직함들.현재 제목  한다면 것은 아니다. 제목.isTalk페이지 그리고. 것은 아니다. 자신.데모 그리고. 것은 아니다. 예 아니오(자신.논병아리.말을 생략함) 그리고나서   돌아가다 '<span class="error"> 오류: 보호된 편집 요청은 대화 페이지에서만 할 수 있습니다.</span>[범주:편집 요청 템플릿이 있는 대화하지 않는 페이지]]'  끝.  현지의 리트 = {}  표.삽입(리트, 자신:내보내기RequestTmbox())  한다면 것은 아니다. 자신.데모 그리고나서   표.삽입(리트, 자신:내보내기 요청 카테고리())  끝.  돌아가다 테이블.콘캣(리트) 끝.  ---------------------------------------------------------------------- 모듈로 내보낸 함수:보호된 편집 요청 ----------------------------------------------------------------------  돌아가다 기능.(초급의, yn의, mb)  예 아니오 = yn의  메시지 상자 만들기 = mb  돌아가다 상을 차리다(박스, 초급의) 끝.