Модуль:UserInfo
Материал из SS14 Backmen
Для документации этого модуля может быть создана страница Модуль: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.getSubdivisionsInfo(frame) local r subdivisions = frame.args[1] --Делим строку на составляющие. Разделитель: ", " t = {} for str in string.gmatch(subdivisions, "([^, ]+)") do table.insert(t, str) end --Убирает ", ", если они были для последующем проверки (чтобы она не нашла запятых) subdivisions = subdivisions:gsub(', ', 'Cool meme here') --вторая проверка, на случай, если пробелы не ставились for str in string.gmatch(subdivisions, "([^,]+)") do table.insert(t, str) end local categories = "" for i in pairs(t) do if 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 if t[i] == "Скрин" or t[i] == "скрин" then categories = categories.. "[[Категория:Скрин]]" end end if categories == "" then categories = categories.. "[[Категория:Без подразделения]]" end if subdivisions == "none" or subdivisions == "None" then return "" else return frame:preprocess(categories) end 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] == "оперативник" then categories = categories.. "[[Категория:МОГ 'Набег']]" end if 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 if 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 if 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 if categories == "" then categories = categories.. "[[Категория:Доступ к вики]]" end if roles == "none" or roles == "None" then return "" else return frame:preprocess(categories) end end return p