Постоянно защищенный модуль
Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Документация по модулю [ просмотреть ] [ изменить ] [ историю ] [ очистить ]

Этот модуль создает окно сообщения, используемое для запроса изменений на защищенных страницах. Запросы на редактирование могут быть сделаны для полностью защищенных, защищенных шаблонами и полузащищенных страниц, а также можно запросить редактирование сразу для нескольких страниц.

Этот модуль следует использовать на странице обсуждения редактируемой страницы. Если вы не можете разместить его прямо на этой странице обсуждения, вы можете указать страницу для редактирования с позиционными параметрами. Вы также можете указать несколько страниц для редактирования, если это удобнее, чем создание нескольких запросов на редактирование в разных местах.

Синтаксис

Модуль имеет пять функций, по одной для каждого доступного уровня защиты:

Основное использование
{{#invoke: защищенный запрос на редактирование | функция }}
Укажите страницы для редактирования
{{#invoke: защищенный запрос на редактирование | функция | Первая страница для редактирования | Вторая страница для редактирования | ...}}
Деактивировать запрос
{{#invoke: защищенный запрос на редактирование | функция | ответила = да }}
Принудительно установить уровень защиты запроса, а не разрешать автоматическое обнаружение
{{#invoke: защищенный запрос на редактирование | функция | force = yes }}
Все параметры
{{#invoke: защищенный запрос на редактирование | функция
| Первая страница для редактирования | Вторая страница для редактирования | Третья страница на редактировании | ...| ответил =| ans =| демо =| сила =}}

Категории

Шаблон классифицирует страницу в зависимости от уровня защиты редактируемых страниц.

Модуль пытается определить уровень защиты используемых страниц. Если одна или несколько страниц не защищены или указано несколько страниц с разными уровнями защиты, страница попадает в категорию « Категория: запросы на редактирование Википедии, возможно, с использованием неправильных шаблонов» . В противном случае, если параметр force не установлен, ему автоматически присваивается правильный уровень защиты.

require ( 'Модуль: без глобальных переменных' )local  yesno  =  require ( 'Модуль: Да нет' )local  makeMessageBox  =  require ( 'Модуль: окно сообщения' ). основнойлокальный  getArgslocal  activeBox  - лениво инициализируется, если мы получаем активный запрос-------------------------------------------------- --------------------- Определение класса коробки-------------------------------------------------- --------------------локальный  ящик  =  {}коробка . __index  =  коробкафункциональная  коробка . новый ( ProtectionType ,  args )local  obj  =  {}OBJ . args  =  argssetmetatable ( объект ,  поле )OBJ . tmboxArgs  =  {}  - используется для хранения аргументов, передаваемых tmbox методом box: export.- Установить поля данных.OBJ . tmboxArgs . attrs  =  {  [ 'data-origlevel' ]  =  protectionType  }вернуть  объектконецфункциональное  окно : setArg ( ключ ,  значение )- Устанавливает значение, которое будет передано tmbox.если  ключ,  тоя . tmboxArgs [ ключ ]  =  значениеконецконецфункциональное  окно : экспорт ()если  не  мв . название . getCurrentTitle (). isTalkPage,  а  не  себя . аргументы . демо  тогдаreturn  '<span class = "error"> Ошибка: защищенные запросы на редактирование можно делать только на странице обсуждения. </span> [[Категория: страницы без обсуждения с шаблоном запроса на редактирование]]'конец- Строка вместе предоставленных названий страницместные  названия  =  {}для  k ,  v  в  парах ( self . args )  делаемесли  type ( k )  ==  'number',  тоtable.insert ( заголовки ,  self . args [ k ])конецконецлокальные  страницы Текстесли  # заголовков  ==  0,  тоpagesText  =  ''ELSEIF  # названия  ==  1  и  MW . название . getCurrentTitle (). subjectPageTitle . Полный текст  ==  названия [ 1 ]  тогдаpagesText  =  ''еще для  i ,  v  в  парах ( названиях )  делаем если  я  ==  1,  то pagesText  =  'к [[:'  ..  v  ..  ']]' elseif  i  ==  # заголовков,  тогда pagesText  =  pagesText  ..  'и [[:'  ..  v  ..  ']]' еще pagesText  =  pagesText  ..  ', [[:'  ..  v  ..  ']]' конецконецконецself : setArg ( 'smalltext' ,  "Это [[Википедия: запросы на редактирование | запрос на редактирование]]"  ..  pagesText  .."получен ответ. Установите <code style = \" white-space: nowrap; \ " > & # 124; ответил & # 61; </code> или <code style = \" white-space: nowrap; \ " > & # 124; ans & # 61; </code> в '' 'no' '', чтобы повторно активировать ваш запрос." )self : setArg ( 'маленький' ,  правда )сам : setArg ( 'класс' ,  'editrequest' )вернуть  makeMessageBox ( 'tmbox' ,  self . tmboxArgs )конец-------------------------------------------------- --------------------- Обрабатывать аргументы и инициализировать объекты-------------------------------------------------- --------------------местный  p  =  {}функция  p . _main ( тип защиты ,  аргументы )local  boxType  =  коробкаесли  не  YesNo ( Args . отвеченные вопросы  или  Args . анс ,  правда ) ,  тоесли  не  activeBox,  тоactiveBox  =  require ( 'Модуль: защищенный запрос на редактирование / активный' ) ( box ,  yesno ,  makeMessageBox )конецboxType  =  activeBoxконецлокальная  requestBox  =  boxType . новый ( ProtectionType ,  args )вернуть  requestBox : export ()конецместный  mt  =  {}функция  mt . __index ( t ,  k )если  не  getArgs,  тоgetArgs  =  require ( 'Модуль: аргументы' ). getArgsконец функция  возврата ( фрейм )возврат  т . _main ( k ,  getArgs ( frame ,  { wrappers  =  { 'Шаблон: Редактировать полностью защищенный' ,  'Шаблон: Редактировать полузащищенный' ,  'Шаблон: Редактировать защищенный шаблон' ,  'Шаблон: Редактировать расширенный-защищенный » ,  ' Шаблон : Редактировать interface-protected ' }}))конецконецвернуть  setmetatable ( p ,  mt )