ماژول:Administrators' noticeboard archives
ظاهر
بو ماژول اوچون بلگهلر ماژول:Administrators' noticeboard archives/بلگه صفحهسینده یارادیلا بیلینر
local archiveList = require( 'Module:Archive list' )
-- A table of the archives to display.
local archives = {
an = {
root = "ویکیپدیا:ایدارهچیلر بیلدیری تابلوسو",
prefix = "آرشیو"
},
ani = {
root = "ویکیپدیا:ایدارهچیلر بیلدیری تابلوسو",
prefix = "IncidentArchive"
},
['3rr'] = {
root = "ویکیپدیا:ایدارهچیلر بیلدیری تابلوسو",
prefix = "۳ قایتاریش پوزونتوسو آرشیو"
},
ae = {
root = "Wikipedia:Arbitration/Requests/Enforcement",
prefix = "آرشیو"
},
csn = {
root = "ویکیپدیا:ایدارهچیلر بیلدیری تابلوسو/Community sanction",
prefix = "آرشیو"
}
}
-- Gets wikitable rows filled with archive links, using
-- [[Module:Archive list]].
local function getLinks( funcArgs )
if type( funcArgs ) ~= 'table' then
error( 'Invalid input to getLinks', 2 )
end
funcArgs.sep = '\n| '
funcArgs.linesep = '\n|-\n| '
return mw.ustring.format(
'|-\n| %s',
archiveList.main( funcArgs )
)
end
-- Returns a Lua table with value being a list of archive links
-- for one of the noticeboards listed in the archives table
-- at the top of the module.
local function getLinksTable( all )
local t = {}
for board, archive in pairs( archives ) do
local funcArgs = archive
if not all then
local archiveMax = archiveList.count( funcArgs )
if type( archiveMax ) == 'number' and archiveMax >= 0 then
funcArgs.max = math.floor( archiveMax )
local start = funcArgs.max -19
if start < 1 then
start = 1
end
funcArgs.start = start
end
end
t[board] = getLinks( funcArgs )
end
return t
end
-- Build the wikitable using mw.ustring.format.
local function buildWikitable( args )
local t = getLinksTable( args.all )
local frame = mw.getCurrentFrame()
-- The following are defined here for convenience, as they recur frequently
-- in the wikitable.
local headerStyle = 'style="background-color: #ccf; font-size: 111%; line-height: 1.25em;" colspan="10"'
local openSpan = '<span class="plainlinks" style="font-size: smaller;">'
local closeSpan = '</span>'
local searchLink = "[[Template:Administrators' noticeboard navbox/Search|آختار]]"
-- Community sanction archive links plus header. We define it here as it is optional.
local csn = ''
if args.csn == 'yes' then
csn = '\n|-\n! '
.. headerStyle
.. ' | Community sanction archives '
.. openSpan
.. "([[Template:Administrators' noticeboard navbox/Search|آختار]])"
.. closeSpan
.. '\n'
.. t.csn
end
-- The inputbox plus header. We define it here as it is optional.
local inputbox = ''
if args.search == 'yes' then
inputbox = '\n|-\n! colspan="10" style="white-space: nowrap;" | '
.. frame:preprocess(
[==[
<inputbox>
bgcolor=transparent
type=fulltext
prefix=ویکیپدیا:ایدارهچیلر بیلدیری تابلوسو
break=no
width=32
searchbuttonlabel=آختار
placeholder=بیلدیری تابلولار آرشیولرین آختار
</inputbox>]==]
)
end
local bottom_list = require('Module:List').horizontal({
"[[Wikipedia talk:ویکیپدیا:ایدارهچیلر بیلدیری تابلوسو|دانیش]]",
'[[Wikipedia:Sockpuppet investigations|یدک حساب آراشدیرمالاری]]',
'[[:Category:Administrative backlog|بکلاق]]'
})
return mw.ustring.format(
[==[
<div style="float: left; clear: right; margin: 0 0 1em 1em; text-align: left">
{| class="noprint" style="background-color: #fdfdfd; clear: both; padding: 1px; box-sizing: border-box; border: 1px solid #a2a9b1; font-size:88%%; line-height:1.2em; margin:0; width:auto; text-align:center"
|+ بیلدیری تابلوسو آرشیولری
|-
! %s | [[ویکیپدیا:ایدارهچیلر بیلدیری تابلوسو|ایدارهچیلر]] %s([[ویکیپدیا:ایدارهچیلر بیلدیری تابلوسو/آرشیولر|آرشیولر]], %s)%s
%s
|-
! %s | [[ویکیپدیا:ایدارهچیلر بیلدیری تابلوسو/Incidents|Incidents]] %s([[ویکیپدیا:ایدارهچیلر بیلدیری تابلوسو/IncidentArchives|آرشیولر]], %s)%s
%s
|-
! %s | [[ویکیپدیا:ایدارهچیلر بیلدیری تابلوسو/۳ قایتاریش پوزونتوسو|۳قپ]] %s([[ویکیپدیا:ایدارهچیلر بیلدیری تابلوسو/۳ قایتاریش پوزونتوسو آرشیولر|آرشیولر]], %s)%s
%s
|-
! %s | [[Wikipedia:Arbitration/Requests/Enforcement|Arbitration enforcement]] %s([[Wikipedia:Arbitration/Requests/Enforcement/آرشیولر|آرشیولر]])%s
%s%s
|-
! %s |باشقا لینکلر
|-
|colspan="10" style="text-align: center;"| %s%s
|}
</div>__NOINDEX__]==],
headerStyle, openSpan, searchLink, closeSpan,
t.an,
headerStyle, openSpan, searchLink, closeSpan,
t.ani,
headerStyle, openSpan, searchLink, closeSpan,
t['3rr'],
headerStyle, openSpan, closeSpan,
t.ae, csn,
headerStyle,
bottom_list, inputbox
)
end
function makeWrapper( all )
return function( frame )
-- If we are being called from #invoke, get the args from #invoke
-- if they exist, or else get the arguments passed to the parent
-- frame. Otherwise, assume the arguments are being passed directly
-- in from another module or from the debug console.
local origArgs
if frame == mw.getCurrentFrame() then
origArgs = frame:getParent().args
for k, v in pairs( frame.args ) do
origArgs = frame.args
break
end
else
origArgs = frame
end
-- Ignore blank values for parameters.
local args = {}
for k, v in pairs( origArgs ) do
if v ~= '' then
args[k] = v
end
end
-- Find whether we are getting all the links or just the
-- last 20 links.
args.all = all
return buildWikitable( args )
end
end
return {
compact = makeWrapper(),
all = makeWrapper( true )
}