Content deleted Content added
SilverLocust (talk | contribs) Keep the error message for invalid titles like [[Wikipedia:]] (rather than having those cause a nil-index error). |
m simplify some code (should be a no-op; if there are any errors no discussion is needed before reverting (WP:TPEDISPUTE)) |
||
(One intermediate revision by one other user not shown) | |||
Line 91:
if not validTitle then
-- If invalid, the second parameter is the error message.
end
return 'yes'
Line 193 ⟶ 192:
-- multiple nomination.
local argsByNumCount = #argsByNum
local multi = (argsByNumCount >= 2)
else▼
end▼
--[[
-- Validate new params.
Line 220 ⟶ 214:
end
----------------------------------------------------------------------------▼
-- Check for page protection▼
----------------------------------------------------------------------------▼
local highestProtection = ''▼
local protectedTitle = ''▼
-- Checking page protection requires use of .protectionLevels(), one of the ▼
-- "expensive" parser functions, which stop working after 500 uses total.▼
-- Without some limit set, this starts breaking near 250 distinct titles.▼
local titleLimit = 80▼
local titlesChecked = 0▼
local titles = {}▼
-- Consolidate duplicate titles (i.e., when moving A to B and B to C)▼
for i = 1,argsByNumCount do▼
titles[mw.title.new(argsByNum[i]['current']) or ''] = true▼
titles[mw.title.new(argsByNum[i]['new']) or ''] = true▼
end▼
-- Check each title t, while ignoring the "true" value▼
for t, _ in pairs(titles) do▼
if titlesChecked < titleLimit then▼
local levels = t.protectionLevels▼
titlesChecked = titlesChecked + 1▼
local levelMove = levels['move'] and levels['move'][1]▼
local levelEdit = levels['edit'] and levels['edit'][1]▼
local levelCreate = levels['create'] and levels['create'][1]▼
if levelMove == 'sysop' ▼
or levelEdit == 'sysop' ▼
or levelEdit == 'editprotected' ▼
or levelCreate == 'sysop' then▼
highestProtection = 'sysop'▼
protectedTitle = tostring(t)▼
break▼
elseif levelMove == 'templateeditor' ▼
or levelEdit == 'templateeditor' ▼
or levelCreate == 'templateeditor' then▼
highestProtection = 'templateeditor'▼
protectedTitle = tostring(t)▼
end▼
-- End the "for" loop if the titleLimit is reached▼
break▼
end▼
----------------------------------------------------------------------------
-- Error checks
Line 404 ⟶ 353:
newDupes[newPrefixedText] = true
end
▲ end
▲ end
▲ ----------------------------------------------------------------------------
▲ -- Check for page protection
▲ ----------------------------------------------------------------------------
▲ local highestProtection = ''
▲ local protectedTitle = ''
▲ -- Checking page protection requires use of .protectionLevels(), one of the
▲ -- "expensive" parser functions, which stop working after 500 uses total.
▲ -- Without some limit set, this starts breaking near 250 distinct titles.
▲ local titleLimit = 80
▲ local titlesChecked = 0
▲ local titles = {}
▲ -- Consolidate duplicate titles (i.e., when moving A to B and B to C)
▲ for i = 1,argsByNumCount do
▲ end
▲ -- Check each title t, while ignoring the "true" value
▲ for t, _ in pairs(titles) do
▲ if titlesChecked < titleLimit then
▲ local levels = t.protectionLevels
▲ titlesChecked = titlesChecked + 1
▲ local levelMove = levels['move'] and levels['move'][1]
▲ local levelEdit = levels['edit'] and levels['edit'][1]
▲ local levelCreate = levels['create'] and levels['create'][1]
▲ if levelMove == 'sysop'
▲ or levelEdit == 'sysop'
▲ or levelEdit == 'editprotected'
▲ or levelCreate == 'sysop' then
▲ highestProtection = 'sysop'
▲ protectedTitle = tostring(t)
▲ break
▲ elseif levelMove == 'templateeditor'
▲ or levelEdit == 'templateeditor'
▲ or levelCreate == 'templateeditor' then
▲ highestProtection = 'templateeditor'
▲ protectedTitle = tostring(t)
▲ end
▲ -- End the "for" loop if the titleLimit is reached
▲ break
end
end
Line 514 ⟶ 508:
-- Talk blurb
local talk = ''
if yesno(args.talk, true) then
talk = frame:expandTemplate{title = 'Requested move/talk'}
end
|