<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kodi.wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AReply_to</id>
	<title>Module:Reply to - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://kodi.wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AReply_to"/>
	<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Module:Reply_to&amp;action=history"/>
	<updated>2026-06-13T16:04:03Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://kodi.wiki/index.php?title=Module:Reply_to&amp;diff=236417&amp;oldid=prev</id>
		<title>RogueScholar: Copy Lua source of Wikimedia module of the same name for use by a new &#039;Reply to&#039; template on Kodi Wiki</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Module:Reply_to&amp;diff=236417&amp;oldid=prev"/>
		<updated>2021-10-17T09:07:41Z</updated>

		<summary type="html">&lt;p&gt;Copy Lua source of Wikimedia module of the same name for use by a new &amp;#039;Reply to&amp;#039; template on Kodi Wiki&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local function makeError(msg)&lt;br /&gt;
  msg =&amp;#039;Error in [[Template:Reply to]]: &amp;#039; .. msg&lt;br /&gt;
  return mw.text.tag(&amp;#039;strong&amp;#039;, {[&amp;#039;class&amp;#039;]=&amp;#039;error&amp;#039;}, msg)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.replyto(frame)&lt;br /&gt;
  local origArgs = frame:getParent().args&lt;br /&gt;
  local args = {}&lt;br /&gt;
  local maxArg = 1&lt;br /&gt;
  local usernames = 0&lt;br /&gt;
  for k, v in pairs(origArgs) do&lt;br /&gt;
    if type(k) == &amp;#039;number&amp;#039; then&lt;br /&gt;
      if mw.ustring.match(v,&amp;#039;%S&amp;#039;) then&lt;br /&gt;
        if k &amp;gt; maxArg then maxArg = k end&lt;br /&gt;
        usernames = usernames + 1&lt;br /&gt;
        local title = mw.title.new(v)&lt;br /&gt;
        if not title then return makeError(&amp;#039;Input contains forbidden characters.&amp;#039;) end&lt;br /&gt;
        args[k] = title.rootText&lt;br /&gt;
      end&lt;br /&gt;
    elseif v == &amp;#039;&amp;#039; and k:sub(0,5) == &amp;#039;label&amp;#039; then&lt;br /&gt;
      args[k] = &amp;#039;&amp;amp;#x200B;&amp;#039;&lt;br /&gt;
    else&lt;br /&gt;
      args[k] = v&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  if usernames &amp;gt; (tonumber(frame.args.max) or 50) then&lt;br /&gt;
    return makeError(string.format(&lt;br /&gt;
      &amp;#039;More than %s names specified.&amp;#039;,&lt;br /&gt;
      tostring(frame.args.max or 50)&lt;br /&gt;
    ))&lt;br /&gt;
  else&lt;br /&gt;
    if usernames &amp;lt; 1 then&lt;br /&gt;
      if frame.args.example then args[1] = frame.args.example else return makeError(&amp;#039;Username not given.&amp;#039;) end&lt;br /&gt;
    end&lt;br /&gt;
    args[&amp;#039;label1&amp;#039;] = args[&amp;#039;label1&amp;#039;] or args[&amp;#039;label&amp;#039;]&lt;br /&gt;
    local isfirst = true&lt;br /&gt;
    local outStr = args[&amp;#039;prefix&amp;#039;] or &amp;#039;@&amp;#039;&lt;br /&gt;
    for i = 1, maxArg do&lt;br /&gt;
      if args[i] then&lt;br /&gt;
        if isfirst then&lt;br /&gt;
          isfirst = false&lt;br /&gt;
        else&lt;br /&gt;
          if ( (usernames &amp;gt; 2) or ((usernames == 2) and (args[&amp;#039;c&amp;#039;] == &amp;#039;&amp;#039;)) ) then outStr = outStr..&amp;#039;, &amp;#039; end&lt;br /&gt;
          if i == maxArg then outStr = outStr..&amp;#039; &amp;#039;..(args[&amp;#039;c&amp;#039;] or &amp;#039;and&amp;#039;) .. &amp;#039; &amp;#039; end&lt;br /&gt;
        end&lt;br /&gt;
        outStr = string.format(&lt;br /&gt;
          &amp;#039;%s[[User:%s|%s]]&amp;#039;,&lt;br /&gt;
          outStr,&lt;br /&gt;
          args[i],&lt;br /&gt;
          args[&amp;#039;label&amp;#039;..tostring(i)] or args[i]&lt;br /&gt;
        )&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
    outStr = outStr..(args[&amp;#039;p&amp;#039;] or &amp;#039;:&amp;#039;)&lt;br /&gt;
    return mw.text.tag(&amp;#039;span&amp;#039;, {[&amp;#039;class&amp;#039;]=&amp;#039;template-ping&amp;#039;}, outStr)&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>RogueScholar</name></author>
	</entry>
</feed>