User:Nexovia

From TestWiki
Revision as of 14:24, 23 November 2023 by Nexovia (talk | contribs)

-- This module implements Lua error in package.lua at line 80: module 'Module:Clickable button 2' not found..

local CONFIG_MODULE = 'Module:Submit an edit request/config'

-- Load necessary modules local mRedirect = require('Module:Redirect') local cfg = mw.loadData(CONFIG_MODULE) local effectiveProtectionLevel = require('Module:Effective protection level')._main local escape = require("Module:String")._escapePattern local lang = mw.language.getContentLanguage()

local p = {}

local validLevels = { semi = 'semi', extended = 'extended', template = 'template', full = 'full', interface = 'interface', manual = 'manual' }

local function message(key, ...) local params = {...} local msg = cfg[key] if #params < 1 then return msg else return mw.message.newRawMessage(msg):params(params):plain() end end

local function validateLevel(level) return level and validLevels[level] or 'full' end

local function getLevelInfo(level, field) return cfg.protectionLevels[level][field] end

local function resolveRedirect(page) return mRedirect.luaMain(page) end

local function isProtected(page) local action = mw.title.new(page).exists and 'edit' or 'create' return effectiveProtectionLevel(action, page) ~= '*' end

function p.makeRequestUrl(level, titleObj) titleObj = titleObj or mw.title.getCurrentTitle() local basePage = titleObj.basePageTitle.fullText if cfg['main-page-content'][basePage] then return tostring(mw.uri.fullUrl(message('main-page-request-page'))) end

local talkPageName = titleObj.talkPageTitle if talkPageName == nil then return tostring(mw.uri.fullUrl(message('protected-talk-page-request-page'))) end talkPageName = resolveRedirect(talkPageName.prefixedText) if isProtected(talkPageName) then return tostring(mw.uri.fullUrl(message('protected-talk-page-request-page'))) end level = validateLevel(level) if level == 'manual' then return tostring(mw.uri.fullUrl(talkPageName, { action = 'edit', section = 'new' })) end local sectionname = message( 'preload-title-text', getLevelInfo(level, 'levelText'), lang:formatDate(message('preload-title-date-format')) ) local content = mw.title.new(talkPageName):getContent() if content and content:find("== *" .. escape(sectionname) .. " *==") then local dedup = 2 while true do local newname = message("preload-title-dedup-suffix", sectionname, dedup) if not content:find("== *" .. escape(newname) .. " *==") then sectionname = newname break end dedup = dedup + 1 end end local url = mw.uri.fullUrl(talkPageName, { action = 'edit', editintro = getLevelInfo(level, 'editintro'), preload = message('preload-template'), preloadtitle = sectionname, section = 'new' }) url = tostring(url)

-- Add the preload parameters. @TODO: merge this into the mw.uri.fullUrl -- query table once phab:T93059 is fixed. local function encodeParam(key, val) return string.format('&%s=%s', mw.uri.encode(key), mw.uri.encode(val)) end url = url .. encodeParam('preloadparams[]', getLevelInfo(level, 'requestTemplate')) url = url .. encodeParam('preloadparams[]', titleObj.prefixedText)

return url end

function p._link(args) return string.format( '[%s %s]', p.makeRequestUrl(args.type), args.display or message('default-display-value') ) end

function p._button(args) return require('Module:Clickable button 2').luaMain{ [1] = args.display or message('default-display-value'), url = p.makeRequestUrl(args.type), class = 'mw-ui-progressive' } end

local function makeInvokeFunc(func, wrapper) return function (frame) local args = require('Module:Arguments').getArgs(frame, { wrappers = {wrapper} }) return func(args) end end

p.link = makeInvokeFunc(p._link, message('link-wrapper-template')) p.button = makeInvokeFunc(p._button, message('button-wrapper-template'))

return p

Babel user information
ne-N यो प्रयोगकर्तासँग नेपाली पैदायसी ज्ञान छ ।
en-4 This user has near native speaker knowledge of English.
Users by language
Userboxes
This user is an administrator on the TestWiki. (verify)
This user is an bureaucrat on the TestWiki. (verify)
This user is male.
13-17This user is a teen.
This user likes to use the thank button.
UTC+5This user's time zone is UTC+5.

I'm active on The Test Wiki, Fandom Wiki