Modul:Protected edit request
Ta modul/a je trenutno zaščiten/a pred urejanjem. Glej politiko zaščite in dnevnik zaščite za več informacij. O morebitnih spremembah lahko razpravljate na pogovorni strani, oddate zahtevo za urejanje, ali zaprosite administratorja ali urejevalca predlog za dovoljenje za urejanje, če je nekontroverzno in podprto s soglasjem. Zaprosite lahko tudi za odstranjenje zaščite. |
Uporablja Lua: |
Ta modul je ocenjen kot pripravljen za splošno uporabo. Dosegel je zrelo obliko in naj bi bil razmeroma brez napak ter pripravljen za uporabo, kjer je to primerno. Lahko ga omenite na straneh pomoči in v drugih virih o Wikipediji kot možnost za učenje novih uporabnikov. Da bi zmanjšali obremenitev strežnikov in slab izhod, ga je treba izboljšati s testiranjem v peskovniku, namesto ponavljajočega se urejanja poskusov in napak. |
Ta modul je odvisen od zaščite strani. Je zelo viden modul, ki ga uporabljajo številne strani, ali pa je pogosto substituiran. Ker bi vandalizem ali napake vplivale na številne strani in bi lahko celo trivialno urejanje povzročilo veliko obremenitev strežnikov, je zaščiten pred urejanjem. |
Predloga se uporablja na številnih straneh, zato bo vsaka njena sprememba takoj zelo opazna. Prosimo, da vse spremembe, ki jih želite uvesti, pred uvedbo preizkusite na podstraneh predloge (/peskovnik in /testniprimeri) ali na svojih lastnih podstraneh. Pred spreminjanjem te predloge se o želenih spremembah rajši pogovorite na pogovorni strani. |
This module produces a message box used to request edits to protected pages. Edit requests can be made for fully protected, template-protected and semi-protected pages, and it is possible to request edits to multiple pages at once.
This module should be used on the talk page of the page to be edited. If you are not able to place it directly on this talk page, then you can specify the page to be edited with the positional parameters. You can also specify multiple pages to be edited, if this is more convenient than making multiple edit requests in different locations.
Syntax
The module has five functions, one for each available protection level:
Function | Protection level | Template |
---|---|---|
interface |
CSS/JS protection | {{edit interface-protected}} |
full |
Full protection | {{edit fully-protected}} |
template |
Template protection | {{edit template-protected}} |
extended |
Extended confirmed protection | {{edit extended-protected}} |
semi |
Semi-protection | {{edit semi-protected}} |
- Basic usage
{{#invoke:protected edit request|function}}
- Specify pages to be edited
{{#invoke:protected edit request|function|First page to be edited|Second page to be edited|...}}
- Deactivate a request
{{#invoke:protected edit request|function|answered=yes}}
- Force a request's protection level rather than allowing auto-detection
{{#invoke:protected edit request|function|force=yes}}
- All parameters
{{#invoke:protected edit request|function | First page to be edited|Second page to be edited|Third page to be edited|... | answered = | ans = | demo = | force = }}
Categories
The template categorises the page depending on the protection level of the pages to be edited.
The module attempts to detect the protection level of the pages used. If one or more of the pages are unprotected, or multiple pages with different protection levels are specified, the page is categorized in Category:Wikipedia edit requests possibly using incorrect templates. Otherwise, if the force parameter is not set, it is automatically categorized in the correct protection level.
Zgornja dokumentacija je vključena iz Modul:Protected edit request/dok. (uredi | zgodovina) Urejevalci lahko preizkušate ta modul v peskovniku (uredi | primerjava) in testnihprimerih (ustvari). Prosimo, da dodate kategorije v /dok podstran. Podstrani te predloge. |
require('Modul:No globals')
local yesno = require('Modul:Yesno')
local makeMessageBox = require('Modul:Message box').main
local getArgs
local activeBox -- lazily initialized if we get an active request
----------------------------------------------------------------------
-- Box class definition
----------------------------------------------------------------------
local box = {}
box.__index = box
function box.new(protectionType, args)
local obj = {}
obj.args = args
setmetatable(obj, box)
obj.tmboxArgs = {} -- Used to store arguments to be passed to tmbox by the box:export method.
-- Set data fields.
obj.tmboxArgs.attrs = { ['data-origlevel'] = protectionType }
return obj
end
function box:setArg(key, value)
-- This sets a value to be passed to tmbox.
if key then
self.tmboxArgs[key] = value
end
end
function box:export()
local title = mw.title.getCurrentTitle()
local skipCheck = yesno(self.args.demo) or yesno(self.args.skiptalk)
if not title.isTalkPage and not skipCheck then
return '<span class="error">Napaka: Zaščitene zahteve za urejanje lahko objavite samo na pogovorni strani.</span>[[Kategorija:Predlogi za spremembo zaščitenih strani izven pogovornih strani]]'
end
-- String together page names provided
local titles = {}
for k, v in pairs(self.args) do
if type(k) == 'number' then
table.insert(titles, self.args[k])
end
end
local pagesText
if #titles == 0 then
pagesText = ''
elseif #titles == 1 and mw.title.getCurrentTitle().subjectPageTitle.fullText == titles[1] then
pagesText = ''
else
for i, v in pairs(titles) do
if i == 1 then
pagesText = ' to [[:' .. v .. ']]'
elseif i == #titles then
pagesText = pagesText .. ' and [[:' .. v .. ']]'
else
pagesText = pagesText .. ', [[:' .. v .. ']]'
end
end
end
self:setArg('smalltext', "Ta [[Wikipedia:Edit requests|predlog za ureditev]]" .. pagesText ..
" je bil odgovorjen. Postavi parameter <code style=\"white-space: nowrap;\">|odgovor=</code> ali <code style=\"white-space: nowrap;\">|ans=</code> na '''ne''' za reaktivacijo zahteve.")
self:setArg('small', true)
self:setArg('class', 'editrequest')
return makeMessageBox('tmbox', self.tmboxArgs)
end
----------------------------------------------------------------------
-- Process arguments and initialise objects
----------------------------------------------------------------------
local p = {}
function p._main(protectionType, args)
local boxType = box
if not yesno(args.answered or args.ans, true) then
if not activeBox then
activeBox = require('Modul:Protected edit request/active')(box, yesno, makeMessageBox)
end
boxType = activeBox
end
local requestBox = boxType.new(protectionType, args)
return requestBox:export()
end
local mt = {}
function mt.__index(t, k)
if not getArgs then
getArgs = require('Modul:Arguments').getArgs
end
return function (frame)
return t._main(k, getArgs(frame, {wrappers = {'Predloga:Edit fully-protected', 'Predloga:Edit semi-protected', 'Predloga:Edit template-protected', 'Predloga:Edit extended-protected', 'Predloga:Edit interface-protected'}}))
end
end
return setmetatable(p, mt)