Minecraft Wiki
Advertisement

Этот модуль реализует {{К удалению}}.

В зависимости от пространства имён автоматически используется тело шаблона {{msgbox}} или {{ambox}}. Стили, включая изображение, настраиваются через классы на странице MediaWiki:Common-all.css.

Зависит от[]

См. также


local p = {}
function p.box( f )

	local page = mw.title.getCurrentTitle()
	local namespace = page.nsText

	local getType = function( namespace, page )
		local pageType = 'other'
		if namespace == 'Шаблон' or namespace == 'Template' then
			pageType = 'template'
		elseif namespace == 'Модуль' or namespace == 'Module' then
			pageType = 'module'
		elseif namespace == 'Категория' or namespace == 'Category' then
			pageType = 'category'
		elseif namespace == 'Файл' or namespace == 'File' then
			pageType = 'file'
		elseif namespace == 'Участник' or namespace == 'User' then
			pageType = 'user'
		elseif namespace == '' then
			pageType = 'main'
		end
		
		return pageType
	end

	local pageType = getType( namespace, page )

	local getTypeForms = function( pageType )
		if pageType == 'module' then
			return {gen = 'Этот модуль', acc = 'модуль'}
		elseif pageType == 'template' then
			return {gen = 'Этот шаблон', acc = 'шаблон'}
		elseif pageType == 'main' then
			return {gen = 'Эта статья', acc = 'статью'}
		elseif pageType == 'category' then
			return {gen = 'Эта категория', acc = 'категорию'}
		elseif pageType == 'file' then
			return {gen = 'Этот файл', acc = 'файл'}
		elseif pageType == 'user' then
			return {gen = 'Эта страница участника', acc = 'страницу'}
		else -- type == 'other'
			return {gen = 'Эта страница', acc = 'страницу'}
		end
	end

	local args = require( 'Module:ProcessArgs' ).merge( true )
	local msgbox = {}
	local typeForms = getTypeForms( pageType )
	local talkPage = args["стробс"] or 'Обсуждение Minecraft Wiki:Портал сообщества'
	local talkTheme = args["тема"] or ''
		if talkTheme ~= '' then
			talkTheme = '#' ..talkTheme
		end
	local kbu = args["КБУ"] or ''
	local kbuvar = args["КБУВариант"] or ''
	local kbutext1 = ''
	local text2 = ''
	local resontext = ''
	local talk = ''
	local nocat = args["некат"] or ''
	local cat = ''
		if nocat == '' then
			cat = '[[Категория: Кандидаты на удаление]]'
		end
	local text3 = '<br><div class ="ubox-summary">Пока процесс обсуждения не завершён, ' .. typeForms.acc .. ' можно попытаться улучшить, однако следует воздерживаться от переименований или немотивированного удаления содержания, подробнее см. [[ruwiki:Википедия:Что делать, если ваша статья стала кандидатом на удаление|руководство к дальнейшему действию]].<br>Не снимайте пометку о выставлении на удаление до окончания обсуждения.</div>'
	local spanin = '<span class="delete-reason">'
	local spanout = '</span>'
	local reson = args[1] or ''
		if reson ~= '' then
			resontext = ' <br><i>Причина: ' .. spanin .. reson .. spanout .. '</i>'
		end
		if kbu ~= '' then
			kbutext1 = 'быстрому '
			text2 = 'Критерий для удаления: '
			text3 = spanin .. f:preprocess( '{{КБУ|' .. kbu .. '||' .. kbuvar .. '}}' ) .. spanout
		else
			talk = '<sup>[[' .. talkPage .. talkTheme .. '|Обсуждение]]</sup>'
			text2 = 'Пояснение причин вы можете найти на портале сообщества или на канале в Discord.' .. resontext
		end

	local phrase1 = ' предлагается к ' .. kbutext1 .. 'удалению.'

	table.insert( msgbox, ' {| class="ubox ubox-red subentries-template delete-msgbox" ')
	table.insert( msgbox, '|-\n| class="ubox-img"| <div></div>')
	table.insert( msgbox, '| class="ubox-field "| <span class="ubox-title">' .. typeForms.gen .. phrase1 .. talk .. '</span>\n<div class="ubox-text">' .. text2 .. text3 .. '</div>')
	table.insert( msgbox, '|} ' .. cat)

	msgbox = table.concat( msgbox, '\n' )
	return msgbox
end
return p
Advertisement