Home  

Random  

Nearby  



Log in  



Settings  



Donate  



About Wikipedia  

Disclaimers  



Wikipedia





Module:Reply to





Module  

Talk  



Language  

Watch  

View source  





This module is used by {{Reply to}} to trigger a notification to one or several registered user(s) you are replying to in a discussion.

Usage from wikitext

This module cannot be used directly from wikitext. Please use the {{Reply to}} template instead.

Usage within templates

{{#invoke:Reply to|replyto|<noinclude>example=example name</noinclude>|max=maximum number of names}}

local p = {}

local function makeError(msg)
 msg ='Error in [[Template:Reply to]]: ' .. msg
 return mw.text.tag('strong', {['class']='error'}, msg)
end

function p.replyto(frame)
 local origArgs = frame:getParent().args
 local args = {}
 local maxArg = 1
 local usernames = 0
 for k, v in pairs(origArgs) do
  if type(k) == 'number' then
   if mw.ustring.match(v,'%S') then
    if k > maxArg then maxArg = k end
    usernames = usernames + 1
    local title = mw.title.new(v)
    if not title then return makeError('Input contains forbidden characters.') end
    args[k] = title.rootText
   end
  elseif v == '' and k:sub(0,5) == 'label' then
   args[k] = '&#x200B;'
  else
   args[k] = v
  end
 end

 if usernames > (tonumber(frame.args.max) or 50) then
  return makeError(string.format(
   'More than %s names specified.',
   tostring(frame.args.max or 50)
  ))
 else
  if usernames < 1 then
   if frame.args.example then args[1] = frame.args.example else return makeError('Username not given.') end
  end
  args['label1'] = args['label1'] or args['label']
  local isfirst = true
  local outStr = args['prefix'] or '@'
  for i = 1, maxArg do
   if args[i] then
    if isfirst then
     isfirst = false
    else
     if ( (usernames > 2) or ((usernames == 2) and (args['c'] == '')) ) then outStr = outStr..', ' end
     if i == maxArg then outStr = outStr..' '..(args['c'] or 'and') .. ' ' end
    end
    outStr = string.format(
     '%s[[User:%s|%s]]',
     outStr,
     args[i],
     args['label'..tostring(i)] or args[i]
    )
   end
  end
  outStr = outStr..(args['p'] or ':')
  return mw.text.tag('span', {['class']='template-ping'}, outStr)
 end
end

return p

Retrieved from "https://en.wikipedia.org/w/index.php?title=Module:Reply_to&oldid=848748219"
 



Last edited on 4 July 2018, at 01:38  


Languages

 


Afrikaans
Алтай тил
Аԥсшәа
العربية
Avañe'
Azərbaycanca
تۆرکجه
Basa Bali

Banjar
Беларуская (тарашкевіца)

Bosanski
Brezhoneg
Cebuano
Dagbanli
Dansk
الدارجة
Davvisámegiella
فارسی
Français
Frysk
Galego
ГӀалгӀай
گیلکی


Hausa
Հայերեն
ि
Ilokano
Bahasa Indonesia
Íslenska
Jawa
Ikirundi
Kiswahili
Lietuvių
Li Niha

مصرى

Bahasa Melayu
Мокшень

Na Vosa Vakaviti


Norfuk / Pitkern
ି
Oʻzbekcha / ўзбекча

Pangcah

Português
Qaraqalpaqsha
Runa Simi
Русский
Scots
Shqip
Simple English
سنڌي
Slovenščina
کوردی
Српски / srpski
Sunda
ி
 
Tetun

Türkçe
Türkmençe
Українська
اردو
Vèneto
Tiếng Vit

Winaray

Betawi
 

Wikipedia


This page was last edited on 4 July 2018, at 01:38 (UTC).

Content is available under CC BY-SA 4.0 unless otherwise noted.



Privacy policy

About Wikipedia

Disclaimers

Contact Wikipedia

Code of Conduct

Developers

Statistics

Cookie statement

Terms of Use

Desktop