요구하다('''비공식''') 현지의 예 아니오, 메시지 상자 만들기 모듈에서 전달됨:보호된 편집 요청 현지의 도구 모음 만들기 = 요구하다('모듈:도구 모음')._본 현지의 페이지 유형 가져오기 = 요구하다('모듈:페이지 유형')._본 현지의 유효 보호 수준 = 요구하다('모듈:효과적인 보호 수준')._본 ---------------------------------------------------------------------- 도우미 기능 ---------------------------------------------------------------------- 현지의 기능. 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 돌아가다 상을 차리다(박스, 초급의) 끝.