模組:Protection banner/doc
此頁面為 Module:Protection banner 的說明文件
此模組文件被引用於約4,800個頁面。 為了避免造成大規模的影響,所有對此模組文件的編輯應先於沙盒或測試樣例上測試。 測試後無誤的版本可以一次性地加入此模組文件中,但是修改前請務必於討論頁發起討論。 模板引用數量會自動更新。 |
此模組文件已被保護。此為高度可見模組文件,其已用於大量條目或被頻繁替換引用。由於破壞或失誤會影響諸多頁面,即便細小的改動也可能導致大量伺服器負載,因此已被保護,不可編輯。 |
This module creates protection banners and padlock icons that are placed at the top of protected pages.
Usage
[編輯]Most users will not need to use this module directly. For adding protection templates to pages you can use the {{pp}} template, or you may find it more convenient to use one of the more specific protection templates in the table below.
{{pp-meta}}
|
全保護 | 延伸確認保護 | 半保護 | 移動保護 | |
---|---|---|---|---|---|
爭議: | {{pp-dispute}} |
{{pp-move-dispute}}
| |||
破壞: | {{pp-vandalism}} |
{{pp-move-vandalism}}
| |||
高風險模板: | {{pp-template}} |
不適用 | {{pp-template}} |
不適用 | |
高風險模組: | {{pp-module}} |
不適用 | {{pp-module}} |
不適用 | |
用戶討論頁: | {{pp-usertalk}} |
不適用 | {{pp-semi-usertalk}} |
不適用 | |
傀儡: | 不適用 | {{pp-ecp-sock}} |
{{pp-semi-sock}} |
不適用 | |
生者傳記: | 不適用 | 不適用 | {{pp-semi-blp}} |
不適用 | |
長期: | 不適用 | 不適用 | {{pp-semi-indef}} |
{{pp-move-indef}}
| |
通用: | {{pp}} |
{{pp-move}}
| |||
基金會行動: | {{pp-office}} |
不適用 | {{pp-reset}} |
不適用 | |
討論頁資訊: | {{Permanently protected}} |
不適用 | {{Temporarily protected}} |
不適用 | |
白紙保護: | {{pp-create}} |
不適用 |
From wikitext
[編輯]{{#invoke:Protection banner|main | 1 = reason | small = yes/no | action = action | date = protection date | user = username | section = talk page section name | category = no }}
The #invoke syntax can be used for creating protection templates more specific than {{pp}}. For example, it is possible to create a protection template which always shows a padlock icon by using the code {{#invoke:Protection banner|main|small=yes}}
. 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.
local mProtectionBanner = require('Module:Protection banner')
Then you can make protection banners by using the _main function.
mProtectionBanner._main(args, cfg, titleObj)
args is a table of arguments to pass to the module. For possible keys and values for this table, see the parameters section. The cfg and titleObj variables are intended only for testing; cfg specifies a customised config table to use instead of Module:Protection banner/config, and titleObj specifies a mw.title object to use instead of the current title. args, cfg and titleObj 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 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 #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".
Reasons
[編輯]The following table contains the available reasons, plus the actions for which they are available.
原因 | 操作 | 描述 |
---|---|---|
blp | edit | 為了遵守 生者傳記方針而保護的頁面 |
dispute | edit | 由於編輯爭議而被保護的頁面 |
dmca | edit | 因數字千年版權法移除通知而被維基媒體基金會保護的頁面 |
mainpage | edit | 由於在Wikipedia:首頁展示而被保護的頁面 |
office | edit | 被維基媒體基金會保護的頁面 |
reset | edit | 被維基媒體基金會保護,並將其「重置」為純粹版本的頁面 |
sock | edit | 由於濫用傀儡而被保護的頁面。 |
template | edit | 高風險模板和Lua模塊 |
usertalk | edit | 由於特定用戶破壞而被保護的頁面 |
vandalism | edit | 由於破壞而被保護的頁面 |
dispute | move | 由於標題爭議而被移動保護的頁面 |
vandalism | move | 由於移動破壞而被保護的頁面 |
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: invalid protection date ("abc")
This error is produced if you supply an |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. "2 1月 2025". To see a full range of valid inputs, see the #time documentation (only the first parameter, the format string, may be specified).
Invalid action
[編輯]Error: invalid action ("abc")
This error is produced if you specify an invalid protection action. There are only three valid actions: edit
(the default, for normal protection), move
(for move-protection), and autoreview
(for pending changes). This should only be possible if you are using a template that supports manually specifying the protection action, such as {{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: reasons cannot contain the pipe character ("|")
This error is produced if you specify a reason using the |1=
parameter that includes a pipe character ("|"). Please check that you are not entering the {{!}} 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 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 Module:Protection banner/testcases, and test cases specific to enwiki's config can be found at Module:Protection banner/config/testcases.
Bug reports and feature requests should be made on the module's talk page.