विभाग:AfC
हा विभाग (मॉड्यूल) सामान्य वापरास तयार आहे. तो संपृक्त स्थितीत आला आहे व तो विना-गणकदोष आहे असा विचार केल्या गेला आहे. तो जेथे योग्य वाटेल तेथे वापरास तयार आहे. नविन सदस्यांना शिकण्यास पर्याय म्हणून आणि सहाय्य पानांवर व इतर विकिपीडिया स्रोतांवर त्याची नोंद घेण्याइतपत तो तयार झाला आहे.विदागारावर विनाकारण उद्भवणारा ताण व वाईट रितीने बहिर्दाय(आउटपुट) टाळण्यासाठी, त्यावरच्या सुधारणा ह्या, वारंवार 'अन्वीक्षा व प्रमाद' पद्धतीने (ट्रायल अॅंड एरर) करण्याऐवजी, धूळपाटी चाचणी येथे करुन त्याची चाचणी घ्यावयास हवी. |
The AfC module contains code to render rows of Template:AFC statistics.
Usage
संपादन{{#invoke:AfC|row|s=status|t=title|z=size|sr=special user|sd=special time|si=special oldid|mr=modify user|md=modify time|mi=modify oldid|…}}
Parameters
संपादन{{{s}}}
: status (one of p, a, d, r, m){{{t}}}
: full title of page{{{z}}}
: size of page (number of bytes)
{{{mr}}}
: username of last page modifier{{{md}}}
: time page was last modified{{{mi}}}
: oldid at last modification time
{{{sr}}}
: username of page reviewer/submitter (or any special second case){{{sd}}}
: time page was "specialed"{{{si}}}
: oldid at "special" time
{{{n}}}
: whether or not the template should display special notes about this page{{{nc}}}
: (copyvio) submission is a suspected copyright violation{{{nu}}}
: (unsourced) submission lacks references completely{{{ni}}}
: (no-inline) submission has no inline citations{{{ns}}}
: (short) submission is less than a kilobyte in length{{{nr}}}
: (resubmit) submission was resubmitted after a previous decline{{{no}}}
: (old) submission has not been touched in over four days{{{nb}}}
: (blocked) submitter is currently blocked
Examples
संपादन{{#invoke:AfC|row|s=a|t=Walter Erwin Diewert|z=2029|sr=Miniapolis|sd=13:31, 15 Oct 2013|si=577279496|mr=Derek R Bullamore|md=18:52, 15 Oct 2013|mi=577320678}}Walter Erwin Diewert2.0 kBMiniapolis (t)13:31, 15 Oct 2013Derek R Bullamore (t)18:52, 15 Oct 2013
local p = {}
local diffString = '[[Special:Diff/%s|%s]]'
function p.row(frame)
local status = frame.args.s
local title = frame.args.t
local short = p.shorttitle(title, 40)
local size = frame.args.z
local modified_by = frame.args.mr
local modified_at = frame.args.md
local old_id = frame.args.mi
local special_user = frame.args.sr
local special_time = frame.args.sd
local special_id = tonumber(frame.args.si)
local display_notes = tonumber(frame.args.n)
local rowtemplate = "<tr style=\"background-color:%s\">%s</tr>"
local colorthing = p.color(status, false)
local cols = {
string.format('<td>[[:%s|%s]]</td>', title, short),
string.format('<td data-sort-type="number" data-sort-value="%d">%.1f kB</td>', size, size / 1000)
}
local is_userspace = string.sub(frame.args.t, 1, 4) == "User"
if is_userspace or display_notes then
cols[3] = string.format("<td>%s</td>", p.notes(frame))
else
cols[3] = "<td></td>"
end
if special_id then
cols[4] = p.printuser(special_user)
cols[5] = string.format('<td data-sort-value="%s">%s</td>', special_id, string.format(diffString, special_id, special_time))
else
cols[4] = "<td>Unknown</td>"
cols[5] = "<td>Unknown</td>"
end
cols[6] = p.printuser(modified_by)
cols[7] = string.format('<td data-sort-value="%s">%s</td>', old_id, string.format(diffString, old_id, modified_at))
return string.format(rowtemplate, colorthing, table.concat(cols))
end
function p.notes(frame)
local result = ""
local is_suspected_copyvio = tonumber(frame.args.nc)
local is_unsourced = tonumber(frame.args.nu)
local no_inline = tonumber(frame.args.ni)
local is_short = tonumber(frame.args.ns)
local is_resubmit = tonumber(frame.args.nr)
local is_old = tonumber(frame.args.no)
local submitter_is_blocked = tonumber(frame.args.nb)
local is_userspace = string.sub(frame.args.t, 1, 4) == "User"
if is_suspected_copyvio then result = result .. "<abbr title=\"Submission is a suspected copyright violation\">copyvio</abbr>  " end
if is_unsourced then result = result .. "<abbr title=\"Submission lacks references completely\">unsourced</abbr>  " end
if no_inline then result = result .. "<abbr title=\"Submission has no inline citations\">no-inline</abbr>  " end
if is_short then result = result .."<abbr title=\"Submission is less than a kilobyte in length\">short</abbr>  " end
if is_resubmit then result = result .. "<abbr title=\"Submission was resubmitted after a previous decline\">resubmit</abbr>  " end
if is_old then result = result .. "<abbr title=\"Submission has not been touched in over four days\">old</abbr>  " end
if submitter_is_blocked then result = result .. "<abbr title=\"Submitter is currently blocked\">blocked</abbr>  " end
if is_userspace then result = result .. "<abbr title=\"Submission is located in the User or User Talk space\">userspace</abbr>  " end
return result
end
function p.color(status, dark)
local result
local dark_colors = {
p = "#995",
d = "#977",
r = "#789",
a = "#696"
}
local normal_colors = {
p = "#eea",
d = "#fcd",
r = "#ade",
a = "#afa"
}
if dark then
return dark_colors[status] or "#777"
else
return normal_colors[status] or "#ddc"
end
end
function p.printuser(user)
return string.format("<td>[[User:%s|%s]] ([[User talk:%s|t]])</td>", user, user, user)
end
function p.shorttitle(fulltitle, maxlength)
--strip off namespace:basepage/ if it exists and anything is left
--if not, strip off namespace
--truncate to maxlength
local startindex, size, namespace, basetitle, subtitle = mw.ustring.find(fulltitle, "([^:]*):([^\/]*)\/?(.*)")
if subtitle == '' then subtitle = nil end
local effective_title = subtitle or basetitle
if effective_title == nil or effective_title == '' then effective_title = fulltitle end
effective_title = string.gsub(effective_title, "^Submissions/", "")
-- return mw.text.truncate( effective_title, maxlength ) (mw.text is not yet deployed!)
if (mw.ustring.len(effective_title) > maxlength) then
return mw.ustring.sub(effective_title, 1, maxlength - 3) .. "..."
else
return effective_title
end
end
return p