|
|
| Строка 1: |
Строка 1: |
| local p = {} | | 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.addSubdivision(frame) | | -- Функция для добавления категории в зависимости от названия подразделения |
| | function p.addCategory(frame) |
| -- Получаем параметр 'subdivision' из шаблона | | -- Получаем параметр 'subdivision' из шаблона |
| local subdivision = frame.args['subdivision'] or '' | | local subdivision = frame.args['subdivision'] or '' |
| Строка 20: |
Строка 8: |
| -- Таблица с соответствиями подразделений и категорий | | -- Таблица с соответствиями подразделений и категорий |
| local categories = { | | local categories = { |
| ["Редакция"] = "Категория:Редакция", | | ["Отдел A"] = "Категория:Отдел A", |
| ["Отдел B"] = "Категория:Отдел B", | | ["Отдел B"] = "Категория:Отдел B", |
| ["Отдел C"] = "Категория:Отдел C" | | ["Отдел C"] = "Категория:Отдел C" |
| Строка 34: |
Строка 22: |
| 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
| |
| end
| |
| if categories == "" then categories = categories.. "[[Категория:Доступ к вики]]" end
| |
| if roles == "none" or roles == "None" then return ""
| |
| else return frame:preprocess(categories) end
| |
| end
| |
| return p | | return p |