Jump to content
Panguna nga menu
Panguna nga menu
move to sidebar
tagoa
Tabok-tabok
Unang Panid
Tubaan
Mga bag-ong giusab
Bisan unsang panid
Tabang
Pangita
Pangitaa
Appearance
Mga donasyon
Paghimo og akawnt
Sulod
Personal nga galamiton
Mga donasyon
Contribute
Paghimo og akawnt
Sulod
Pages for logged out editors
learn more
Panghisgot-hisgot alang niining IP
Nagausab sa
Module:Service award progress
Idugang ang mga pinulongan
Module
Panaghisgot-hisgot
English
Basaha
Usba ang wikitext
Tan-awa ang kaagi
Mga galamiton
Mga galamiton
move to sidebar
tagoa
Actions
Basaha
Usba ang wikitext
Tan-awa ang kaagi
Heneral
Unsay mga misumpay dinhi
Mga may kalabotang kausaban
Pagsumiter og payl
Impormasyon kabahin sa panid
Pagkuha og pinamubo nga URL
Download QR code
Appearance
move to sidebar
tagoa
Pahimangno:
Wala ka mailhi sa balayan. Ang imong
IP adress
makita sa publiko kon mohimo ka og mga pag-usab. Kon
mo-
log in
ka o
mohimo og akawnt
, ang imong mga pag-usab ingalan sa imong
username
, lakip na ang uban pang kaayohan.
Pagkontra sa
spam
.
Ayaw</stong> ni sudli!
local navbar = require('Module:Navbar')._navbar local mm = require('Module:Math') local p = {} local function stripToNil(text) -- If text is a string, return its trimmed content, or nil if empty. -- Otherwise return text (which may, for example, be nil). if type(text) == 'string' then text = text:match('(%S.-)%s*$') end return text end local function progressBar(current, total) local percentDone = mm._round(current / total * 100, 1) local leftBar = '' local rightBar = '' if percentDone >= 100 then leftBar = 100 rightBar = 0 else leftBar = current / total * 100 rightBar = (100-current) / total * 100 end local progBarText = '<div style="width:75%; margin:auto; text-align:center;">' .. '<p><span style="font-size: 120%;"><b>' .. percentDone .. '%</b></span> completed</p>' .. '<p style="border:1px solid #c8ccd1; padding:1px; overflow:hidden;">' .. '<span style="width: ' .. leftBar .. '%; height: 2px; background:#00af32; float:left;"> </span>' .. '<span style="width: ' .. rightBar .. '%; height: 2px; background:#eaecf0; float:left;"> </span>' .. '</p></div>' return progBarText end local levelNames = { '[[Wikipedia:Service awards#Sagacious Editor (or Ephoros of the Encyclopedia)|Sagacious Editor]]', '[[Wikipedia:Service awards#Ultimate Vanguard Editor (or Cardinal Gom, the August Togneme of the Encyclopedia)|Ultimate Vanguard Editor]]', '[[Wikipedia:Service awards#Senior Vanguard Editor (or Supreme Gom, the Most Exalted Togneme of the Encyclopedia)|Senior Vanguard Editor]]', '[[Wikipedia:Service awards#Vanguard Editor (or Lord Gom, the Highest Togneme of the Encyclopedia)|Vanguard Editor]]', '[[Wikipedia:Service awards#Grandmaster Editor First-Class (or Lord High Togneme Laureate)|Grandmaster Editor First-Class]]', '[[Wikipedia:Service awards#Grandmaster Editor (or Lord High Togneme Vicarus)|Grandmaster Editor]]', '[[Wikipedia:Service awards#Master Editor IV (or Looshpah Laureate of the Encyclopedia)|Master Editor IV]]', '[[Wikipedia:Service awards#Master Editor III (or Most Plusquamperfect Looshpah Laureate)|Master Editor III]]', '[[Wikipedia:Service awards#Master Editor II (or Auspicious Looshpah)|Master Editor II]]', '[[Wikipedia:Service awards#Master Editor (or Illustrious Looshpah)|Master Editor]]', '[[Wikipedia:Service awards#Senior Editor III (or Labutnum of the Encyclopedia)|Senior Editor III]]', '[[Wikipedia:Service awards#Senior Editor II (or Most Pluperfect Labutnum)|Senior Editor II]]', '[[Wikipedia:Service awards#Senior Editor (or Labutnum)|Senior Editor]]', '[[Wikipedia:Service awards#Veteran Editor IV (or Tutnum of the Encyclopedia)|Veteran Editor IV]]', '[[Wikipedia:Service awards#Veteran Editor III (or Most Perfect Tutnum)|Veteran Editor III]]', '[[Wikipedia:Service awards#Veteran Editor II (or Grand Tutnum)|Veteran Editor II]]', '[[Wikipedia:Service awards#Veteran Editor (or Tutnum)|Veteran Editor]]', '[[Wikipedia:Service awards#Experienced Editor (or Grognard Mirabilaire)|Experienced Editor]]', '[[Wikipedia:Service awards#Yeoman Editor (or Grognard Extraordinaire)|Yeoman Editor, level 4]]', '[[Wikipedia:Service awards#Yeoman Editor (or Grognard Extraordinaire)|Yeoman Editor, level 3]]', '[[Wikipedia:Service awards#Yeoman Editor (or Grognard Extraordinaire)|Yeoman Editor, level 2]]', '[[Wikipedia:Service awards#Yeoman Editor (or Grognard Extraordinaire)|Yeoman Editor]]', '[[Wikipedia:Service awards#Journeyman Editor (or Grognard)|Journeyman Editor, level 4]]', '[[Wikipedia:Service awards#Journeyman Editor (or Grognard)|Journeyman Editor, level 3]]', '[[Wikipedia:Service awards#Journeyman Editor (or Grognard)|Journeyman Editor, level 2]]', '[[Wikipedia:Service awards#Journeyman Editor (or Grognard)|Journeyman Editor]]', '[[Wikipedia:Service awards#Apprentice Editor (or Novato)|Apprentice Editor, level 4]]', '[[Wikipedia:Service awards#Apprentice Editor (or Novato)|Apprentice Editor, level 3]]', '[[Wikipedia:Service awards#Apprentice Editor (or Novato)|Apprentice Editor, level 2]]', '[[Wikipedia:Service awards#Apprentice Editor (or Novato)|Apprentice Editor]]', '[[Wikipedia:Service awards#Novice Editor (or Burba)|Novice Editor, level 4]]', '[[Wikipedia:Service awards#Novice Editor (or Burba)|Novice Editor, level 3]]', '[[Wikipedia:Service awards#Novice Editor (or Burba)|Novice Editor, level 2]]', '[[Wikipedia:Service awards#Novice Editor (or Burba)|Novice Editor]]', '[[Wikipedia:Service awards#Registered Editor (or Signator)|Registered Editor, level 4]]', '[[Wikipedia:Service awards#Registered Editor (or Signator)|Registered Editor, level 3]]', '[[Wikipedia:Service awards#Registered Editor (or Signator)|Registered Editor, level 2]]', '[[Wikipedia:Service awards#Registered Editor (or Signator)|Registered Editor]]', 'Wikipedian', } local levelTime = { 8035.5, 7305, 6574.5, 5844, 5113.5, 4383, 3652.4, 2922, 2556.7, 2191.5, 1826.2, 1643.6, 1461, 1278.4, 1095.7, 913.1, 730.5, 547.9, 501.75, 456.25, 410.75, 365.25, 319.1, 273.6, 228.1, 182.6, 160.3, 137.3, 114.3, 91.3, 75.5, 60.5, 45.5, 30.5, 24, 16, 8, 1, 0, } local levelEdits = { 205000, 175000, 150000, 132000, 114000, 96000, 78000, 60000, 51000, 42000, 33000, 28500, 24000, 20000, 16000, 12000, 8000, 6000, 5500, 5000, 4500, 4000, 3500, 3000, 2500, 2000, 1750, 1500, 1250, 1000, 800, 600, 400, 200, 150, 100, 50, 1, 0, } function p.serviceLevel(args) --Inputs local editorTime = tonumber(stripToNil(args.editorTime)) local edits = tonumber(stripToNil(args.edits)) local styleoverride = stripToNil(args.styleoverride) local genderoverride = stripToNil(args.genderoverride) local url = stripToNil(args.url) -- Other Variables local timeLevel = '' -- Level associated with time local editLevel = '' -- Level associated with edits local userLevel = '' -- Full name of current user level local lowEdits = '' -- Minimum number of edits for current user level local lowTime = '' -- Minimum amount of time for current user level local highEdits = '' -- Max number of edits for current user level local highTime = '' -- Max amount of time for current user level local nextLevel = '' -- Full name of next user level local fullMessage = '<div style="' -- Output seed local topLevel = false local needsEdits = false local needsTime = false local needsBoth = false local displayall = false if stripToNil(args.displayall) == 'yes' then displayall = true end -- Find "level" of editor based on time for x = 1, 39, 1 do if editorTime >= levelTime[x] then timeLevel = x break end end -- Fine "level" of editor based on edits for y = 1, 39, 1 do if edits >= levelEdits[y] then editLevel = y break end end -- Set user level and the next level up if timeLevel == editLevel then if timeLevel == 1 then userLevel = levelNames[1] topLevel = true else userLevel = levelNames[editLevel] nextLevel = levelNames[editLevel-1] lowEdits = levelEdits[editLevel] highEdits = levelEdits[editLevel-1] lowTime = levelTime[editLevel] highTime = levelTime[editLevel-1] needsBoth = true end elseif timeLevel < editLevel then userLevel = levelNames[editLevel] nextLevel = levelNames[editLevel-1] lowEdits = levelEdits[editLevel] highEdits = levelEdits[editLevel-1] lowTime = levelTime[editLevel] highTime = levelTime[editLevel-1] needsEdits = true else userLevel = levelNames[timeLevel] nextLevel = levelNames[timeLevel-1] lowEdits = levelEdits[timeLevel] highEdits = levelEdits[timeLevel-1] lowTime = levelTime[timeLevel] highTime = levelTime[timeLevel-1] needsTime = true end -- Build notice -- First paragraph fullMessage = fullMessage .. styleoverride .. '">' .. navbar({"Template:Service award progress",style="float:right",mini=1}) .. 'Currently, this editor has earned the <b>' .. userLevel .. '</b> service award.<br><br>' if topLevel then fullMessage = fullMessage .. '<div>This is the highest level achievable by an editor!</div>' else fullMessage = fullMessage .. '<div>To get to the next level, ' .. nextLevel .. ', ' .. genderoverride .. ' to meet the ' if needsBoth then fullMessage = fullMessage .. '<b>editing</b> and the <b>time</b> requirement.</div>' elseif needsEdits then fullMessage = fullMessage .. '<b>editing</b> requirement.</div>' else fullMessage = fullMessage .. '<b>time</b> requirement.</div>' end -- Second paragra / progress bars if displayall or needsBoth or needsEdits then fullMessage = fullMessage .. 'Progress towards the next level (by edits): [ ' .. '<span class="plainlinks">[' .. url .. ' ' .. (edits - lowEdits) .. ']</span> / ' .. (highEdits - lowEdits) .. ' ]' fullMessage = fullMessage .. progressBar(edits - lowEdits, highEdits - lowEdits) end if displayall or needsBoth or needsTime then fullMessage = fullMessage .. 'Progress towards the next level (by time): [ ' .. (editorTime - lowTime) .. ' days / ' .. (highTime - lowTime) .. ' days ]' fullMessage = fullMessage .. progressBar(editorTime - lowTime, highTime - lowTime) end fullMessage = fullMessage .. '</div>' end return fullMessage end function p.main(frame) return p.serviceLevel(frame.args) end return p
Mubong sugid
Pinaagi sa pagtipig sa mga pagbag-o, miuyon ka sa
Terms of Use
, ug dili mabakwi nga miuyon ka nga ipagawas ang imong kontribusyon ubos sa
org/licenses/by-sa/4.0/ CC BY-SA 4.0 License
ug ang
GFDL
. Miuyon ka nga usa ka hyperlink o Ang URL igo nga pagpaila ubos sa lisensya sa Creative Commons.
I-way bili
Tabang sa pag-usab
(maabli sa laing window)
Preview page with this template
Wikidata entities used in this page
Module:Service award progress
: Sitelink, Description: en
Ang plantilya nga gigagamit niining panid:
Module:Service award progress/doc
(
usba
)
Pangita
Pangitaa
Nagausab sa
Module:Service award progress
Idugang ang mga pinulongan
Pagdugang og topiko