Модуль:UserInfo: различия между версиями

Материал из Space Station 14 Вики
м (huh?)
Нет описания правки
 
(не показано 15 промежуточных версий 2 участников)
Строка 3: Строка 3:
local servers = frame.args[1]
local servers = frame.args[1]
local categories = servers
local categories = servers
if servers == "none" or servers == "None" then do return end end
if servers == "none" or servers == "None" or servers == "" then return end
--Дублируется специально, на случай, если кто-то поставит или не поставит побелы
--Дублируется специально, на случай, если кто-то поставит или не поставит побелы
servers = servers:gsub(', ', '}}\n*{{abb|')
servers = servers:gsub(', ', '}}\n:*{{abb|')
servers = servers:gsub(',', '}}\n*{{abb|')
servers = servers:gsub(',', '}}\n:*{{abb|')
categories = categories:gsub(', ', '|short}}]] [[Категория:Редакторы {{abb|')
categories = categories:gsub(', ', '|short}}]] [[Категория:Редакторы {{abb|')
categories = categories:gsub(',', '|short}}]] [[Категория:Редакторы {{abb|')
categories = categories:gsub(',', '|short}}]] [[Категория:Редакторы {{abb|')
   
return frame:preprocess('*{{abb|'.. servers.. '}} '.. '[[Категория:Редакторы {{abb|'.. categories.. '|short}}]]')
return frame:preprocess(':*{{abb|'.. servers.. '}} '.. '[[Категория:Редакторы {{abb|'.. categories.. '|short}}]]') --нужно сделать проверку, что сервер существует
end
end


function p.getRolesInfo(frame)
function p.getRolesInfo(frame)
local roles = frame.args[1]
local roles = frame.args[1]
if roles == "None" or roles == "none" then return end
--Делим строку на составляющие. Разделитель: ", "
--Делим строку на составляющие. Разделитель: ", "
t = {}
t = {}
Строка 32: Строка 32:
local categories = ""
local categories = ""
for i in pairs(t) do
for i in pairs(t) do
if t[i] == "Викидел" or t[i] == "викидел" or t[i] == "Кивикед" or t[i] == "кивикед" then categories = categories.. "[[Категория:Викиделы]]" end
if t[i] == "Викидел" or t[i] == "викидел" or t[i] == "Кивикед" or t[i] == "кивикед" or t[i] == "Редактор вики" or t[i] == "редактор вики" then categories = categories.. "[[Категория:Викиделы]]" end
if t[i] == "лоровед" or t[i] == "Лоровед" or t[i] == "Лороед" or t[i] == "лороед" then categories = categories.. "[[Категория:Лороведы]]" end
if t[i] == "лоровед" or t[i] == "Лоровед" or t[i] == "Лороед" or t[i] == "лороед" then categories = categories.. "[[Категория:Лороведы]]" end
if t[i] == "Куратор вики" or t[i] == "куратор вики" then categories = categories.. "[[Категория:Кураторы разделов]]" end --Потом доделаю  
if t[i] == "Куратор вики" or t[i] == "куратор вики" then categories = categories.. "[[Категория:Кураторы разделов]]" end --Потом доделаю  
end
end
if categories == "" then categories = categories.. "[[Категория:Доступ к вики]]" end  
if categories == "" then categories = categories.. "[[Категория:Доступ к вики]]" end  
return frame:preprocess(categories)
if roles == "none" or roles == "None" then return ""
else return frame:preprocess(categories) end
end
end
return p
return p

Текущая версия от 20:38, 13 сентября 2024

Для документации этого модуля может быть создана страница Модуль:UserInfo/doc

local p = {}
function p.getServersInfo(frame)
	local servers = frame.args[1]
	local categories = servers
	if servers == "none" or servers == "None" or servers == "" then return end
	
	--Дублируется специально, на случай, если кто-то поставит или не поставит побелы
	servers = servers:gsub(', ', '}}\n:*{{abb|')
	servers = servers:gsub(',', '}}\n:*{{abb|')
	categories = categories:gsub(', ', '|short}}]] [[Категория:Редакторы {{abb|')
	categories = categories:gsub(',', '|short}}]] [[Категория:Редакторы {{abb|')
	
	return frame:preprocess(':*{{abb|'.. servers.. '}} '.. '[[Категория:Редакторы {{abb|'.. categories.. '|short}}]]') --нужно сделать проверку, что сервер существует
end

function p.getRolesInfo(frame)
	local roles = frame.args[1]
	
	--Делим строку на составляющие. Разделитель: ", "
	t = {}
	for str in string.gmatch(roles, "([^, ]+)") do
		table.insert(t, str)
	end
	--Убирает ", ", если они были для последующем проверки (чтобы она не нашла запятых)
	roles = roles:gsub(', ', 'Cool meme here')
	
	--вторая проверка, на случай, если пробелы не ставились
	for str in string.gmatch(roles, "([^,]+)") do
		table.insert(t, str)
	end
	
	local categories = ""
	for i in pairs(t) do
		if t[i] == "Викидел" or t[i] == "викидел" or t[i] == "Кивикед" or t[i] == "кивикед" or t[i] == "Редактор вики" or t[i] == "редактор вики" then categories = categories.. "[[Категория:Викиделы]]" end
		if t[i] == "лоровед" or t[i] == "Лоровед" or t[i] == "Лороед" or t[i] == "лороед" then categories = categories.. "[[Категория:Лороведы]]" end
		if t[i] == "Куратор вики" or t[i] == "куратор вики" then categories = categories.. "[[Категория:Кураторы разделов]]" end --Потом доделаю 
	end
	if categories == "" then categories = categories.. "[[Категория:Доступ к вики]]" end 
	if roles == "none" or roles == "None" then return "" 
	else return frame:preprocess(categories) end
end
return p