|
|
| Line 1: |
Line 1: |
| {{High-use}}
| | - |
| {{Module rating|protected}}
| |
| {{Lua|Module:Protection banner/config|Module:File link|Module:Effective protection level|Module:Effective protection expiry|Module:Yesno|Module:Arguments|Module:Message box|Module:Submit an edit request}}
| |
| This module creates protection banners and padlock icons that are placed at the top of [[Wikipedia:Protection policy|protected pages]]. Most users will not need to use this module directly.
| |
| | |
| == Usage ==
| |
| | |
| For adding protection templates to pages you can use the {{tl|pp}} template, or you may find it more convenient to use one of the more specific protection templates in the table below.
| |
| | |
| {{protection templates}}
| |
| | |
| === From wikitext ===
| |
| | |
| {{#invoke:Protection banner|main
| |
| | 1 = ''reason''
| |
| | small = ''yes/no''
| |
| | action = ''action''
| |
| | date = ''protection date''
| |
| | user = ''username''
| |
| | section = ''talk page section name''
| |
| | category = ''yes''
| |
| }}
| |
| | |
| The #invoke syntax can be used for creating protection templates more specific than {{tl|pp}}. For example, it is possible to create a protection template which always shows a padlock icon by using the code <code><nowiki>{{#invoke:Protection banner|main|small=yes}}</nowiki></code>. Pages which call this template will still be able to use other arguments, like ''action''. However, this only works one level deep; a page calling a template which calls another template containing the above code will not automatically be able to use parameters like ''action''.
| |
| | |
| '''''Note:''' You should no longer specify the expiry, as it is automatically retrieved in all cases.''
| |
| | |
| === From Lua ===
| |
| | |
| First, load the module.
| |
| | |
| <syntaxhighlight lang="lua">
| |
| local mProtectionBanner = require('Module:Protection banner')
| |
| </syntaxhighlight>
| |
| | |
| Then you can make protection banners by using the _main function.
| |
| | |
| <syntaxhighlight lang="lua">
| |
| mProtectionBanner._main(args, cfg, titleObj)
| |
| </syntaxhighlight>
| |
| | |
| <var>args</var> is a table of arguments to pass to the module. For possible keys and values for this table, see the [[#Parameters|parameters section]]. The <var>cfg</var> and <var>titleObj</var> variables are intended only for testing; <var>cfg</var> specifies a customised config table to use instead of [[Module:Protection banner/config]], and <var>titleObj</var> specifies a mw.title object to use instead of the current title. <var>args</var>, <var>cfg</var> and <var>titleObj</var> are all optional.
| |
| | |
| == Parameters ==
| |
| | |
| All parameters are optional.
| |
| | |
| * '''1''' – the reason that the page was protected. If set, this must be one of the values listed in the [[#Reasons|reasons table]].
| |
| * '''small''' – if set to "yes", "y", "1", or "true", a padlock icon is generated instead of a full protection banner.
| |
| * '''action''' – the protection action. Must be one of "edit" (for normal protection), "move" (for move-protection) or "autoreview" (for pending changes). The default value is "edit".
| |
| * '''date''' – the protection date. This must be valid input to the second parameter of the [[mw:Help:Extension:ParserFunctions##time|#time parser function]]. This argument has an effect for reasons that use the PROTECTIONDATE parameter in their configuration. As of July 2014, those were the "office" and "reset" reasons.
| |
| * '''user''' – the username of the user to generate links for. As of July 2014, this only has an effect when the "usertalk" reason is specified.
| |
| * '''section''' – the section name of the protected page's talk page where discussion is taking place. This works for most, but not all, values of ''reason''.
| |
| * '''category''' – categories are suppressed if this is set to "no", "n", "0", or "false".
| |
| * '''catonly''' – if set to "yes", "y", "1", or "true", will only return the protection categories, and not return the banner or padlock. This has no visible output.
| |
| | |
| == Reasons ==
| |
| | |
| The following table contains the available reasons, plus the actions for which they are available.
| |
| | |
| {{#invoke:Protection banner/documentation|reasonTable}}
| |
| | |
| == Errors ==
| |
| | |
| Below is a list of some of the common errors that this module can produce, and how to fix them.
| |
| | |
| === Invalid protection date ===
| |
| | |
| {{error|Error: invalid protection date ("abc")}}
| |
| | |
| This error is produced if you supply a {{para|date}} parameter value that is not recognised as a valid date by the #time parser function. If in doubt, you can just use a date in the format "dd Month YYYY", e.g. "{{#time:j F Y|+ 1 week}}". To see a full range of valid inputs, see the [[mw:Help:Extension:ParserFunctions##time|#time documentation]] (only the first parameter, the ''format string'', may be specified).
| |
| | |
| === Invalid action ===
| |
| | |
| {{error|Error: invalid action ("abc")}}
| |
| | |
| This error is produced if you specify an invalid protection action. There are only three valid actions: <code>edit</code> (the default, for normal protection), <code>move</code> (for move-protection), and <code>autoreview</code> (for [[WP:PC|pending changes]]). This should only be possible if you are using a template that supports manually specifying the protection action, such as {{tl|pp}}, or if you are using #invoke directly. If this is not the case, please leave a message on [[Module talk:Protection banner]].
| |
| | |
| === Reasons cannot contain the pipe character ===
| |
| | |
| {{error|Error: reasons cannot contain the pipe character ("|")}}
| |
| | |
| This error is produced if you specify a reason using the {{para|1}} parameter that includes a pipe character ("|"). Please check that you are not entering the {{tl|!}} template into this parameter by mistake. The pipe character is disallowed as the module uses it internally. A list of valid reasons can be seen in the [[#Reasons|reasons section]].
| |
| | |
| === Other errors ===
| |
| | |
| If you see an error other than the ones above, it is likely to either be a bug in the module or mistake in the configuration. Please post a message about it at [[Module talk:Protection banner]].
| |
| | |
| == Technical details ==
| |
| | |
| This module uses configuration data from [[Module:Protection banner/config]]. Most of the module's behaviour can be configured there, making it easily portable across different wikis and different languages.
| |
| | |
| General test cases for the module can be found at [[w:en:Module:Protection banner/testcases|Module:Protection banner/testcases]], and test cases specific to enwiki's config can be found at [[w:en:Module:Protection banner/config/testcases|Module:Protection banner/config/testcases]].
| |
| | |
| Bug reports and feature requests should be made on [[w:en:Module talk:Protection banner|the module's talk page]].
| |
| <includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox||
| |
| <!-- Categories go here and interwikis go in Wikidata. -->
| |
| }}</includeonly>
| |