Difference between revisions of "Module:Error"
Jump to navigation
Jump to search
blackwiki>Mr. Stradivarius m (Protected Module:Error: Highly visible template or Lua module ([Edit=Block all non-admin users] (indefinite) [Move=Block all non-admin users] (indefinite))) |
blackwiki>Mr. Stradivarius m (Changed protection level of Module:Error: High-risk Lua module: allow template editors ([Edit=Allow only template editors and admins] (indefinite) [Move=Allow only template editors and admins] (indefinite))) |
(No difference)
| |
Revision as of 00:23, 29 October 2013
| This Lua module is used on approximately 453,000 pages. To avoid major disruption and server load, any changes should be tested in the module's /sandbox or /testcases subpages. The tested changes can be added to this page in a single edit. Consider discussing changes on the talk page before implementing them. Transclusion count updated automatically (see documentation). |
| This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
This module creates an html message with class "error". It is a replacement for {{error}} - please see the documentation page there for usage instructions.
-- This module implements {{error}}.
local p = {}
local HtmlBuilder = require('Module:HtmlBuilder')
local function _error(args)
local message = args.message or args[1] or error('no message specified', 2)
message = tostring(message)
local tag = mw.ustring.lower(tostring(args.tag))
-- Work out what html tag we should use.
if not (tag == 'p' or tag == 'span' or tag == 'div') then
tag = 'strong'
end
-- Generate the html.
local root = HtmlBuilder.create(tag)
root
.addClass('error')
.wikitext(message)
return tostring(root)
end
function p.error(frame)
local args
if frame == mw.getCurrentFrame() then
-- We're being called via #invoke. The args are passed through to the module
-- from the template page, so use the args that were passed into the template.
args = frame.args
else
-- We're being called from another module or from the debug console, so assume
-- the args are passed in directly.
args = frame
end
-- if the message parameter is present but blank, change it to nil so that Lua will
-- consider it false.
if args.message == "" then
args.message = nil
end
return _error(args)
end
return p