มอดูล:Copied
คู่มือการใช้งานมอดูล[สร้าง]
คุณอาจจะต้องการสร้างคู่มือการใช้งานของมอดูลนี้ ผู้เขียนสามารถทำการทดลองได้ที่กระบะทราย (สร้าง | คัดลอก) และชุดทดสอบ (สร้าง) ของมอดูลนี้ โปรดเพิ่มหมวดหมู่ไปที่หน้าย่อย /doc หน้าย่อยของมอดูลนี้ |
local MessageBox = require('Module:Message box')
local p = {}
local function singleText(args)
local from_oldid = args["from_oldid"] or args["from_oldid1"] or ""
local from = args["from"] or args["from1"] or ""
local to = args["to"] or args["to1"] or ""
local date = args["date"] or args["date1"] or ""
local afd = args["afd"] or args["afd1"] or ""
local merge = args["merge"] or args["merge1"] or ""
local text = "ข้อความและ/หรือเนื้อหาที่ถูกสร้างสรรค์จาก"
if not (from_oldid == "") then
text = string.format("%s [%s รุ่นนี้]ของ", text, tostring(mw.uri.fullUrl(from, {oldid=from_oldid} )))
end
text = string.format("%s [[%s]] ",text,from)
if (merge == "yes") or not (afd == "") then
text = string.format("%sถูกรวมเข้ากับ",text)
else
text = string.format("%sถูกคัดลอกหรือย้ายไปที่",text)
end
if (merge == "yes") and (to == "") then
text = string.format("%s [[%s:%s]] ",text,mw.title.getCurrentTitle().nsText,mw.title.getCurrentTitle().text) --If no merge target given assume current page is the target
else
text = string.format("%s [[%s]] ",text,to)
end
local diff = args["diff"] or args["diff1"]
local to_diff = args["to_diff"] or args["to_diff1"]
local to_oldid = args["to_oldid"] or args["to_oldid1"]
if (diff) then
text = string.format("%sด้วย[%s การแก้ไขนี้] ",text,diff)
elseif (to_oldid or to_diff) then
local to_diff2 = args["to_diff"] or args["to_diff1"] or "prev"
local to_oldid2 = args["to_oldid"] or args["to_oldid1"] or ""
text = string.format("%sด้วย[%s การแก้ไขนี้] ",text,tostring(mw.uri.fullUrl(to, {diff=to_diff or "prev", oldid = to_oldid or ""} )))
end
if not (date == "") then
text = string.format("%sเมื่อ %s ",text,date)
end
text = string.format("%s [%s ประวัติหน้า]ถูกคงไว้สำหรับ[[:en:WP:Copying within Wikipedia|ให้การแสดงแหล่งที่มา]]ในเนื้อหาที่ถูกคัดลอกหรือย้ายไปและต้องไม่ถูกลบตราบเท่าที่ยังมีหน้าปลายทางของเนื้อหาอยู่",text,tostring(mw.uri.fullUrl(from,{action="history"}) or ""))
return text
end
local function row(args, i)
local text = ""
local afd = args["afd" .. i]
if (afd or args["merge" .. i]) then
text = string.format("%s\n*รวมเข้า",text)
else
text = string.format("%s\n*คัดลอก",text)
end
local from = args["from" .. i] or ""
text = string.format("%s [%s %s] (",text,tostring(mw.uri.fullUrl(from, {redirect = "no"} )),from)
local from_oldid = args["from_oldid" .. i]
if (from_oldid) then
text = string.format("%sจาก[%s รหัสรุ่น], ",text,tostring(mw.uri.fullUrl(from, {oldid = from_oldid} )))
end
local to = args["to".. i] or ""
text = string.format("%s[%s ประวัติ]) → [[%s]]",text,tostring(mw.uri.fullUrl(from, {action = "history"} )), to)
local diff = args["diff" .. i]
if (diff) then
text = string.format("%s ([%s ต่าง])",text,diff)
elseif (args["to_oldid" .. i] or args["to_diff".. i]) then
local to_diff = args["to_diff".. i] or "prev"
local to_oldid = args["to_oldid" .. i] or ""
text = string.format("%s ([%s ต่าง])",text,tostring(mw.uri.fullUrl(to, {diff=to_diff, oldid = to_oldid} )))
end
local date = args["date" .. i]
if (date) then
text = string.format("%s เมื่อ %s",text,date)
end
if (not (args["to_oldid" .. i] or args["to_diff".. i])) then
text = string.format("%s[[หมวดหมู่:หน้าวิกิพีเดียที่ใช้แม่แบบ copied โดยไม่ใส่รหัสรุ่น]]",text)
end
return text
end
local function list(args)
local text = ""
local from1 = args["from1"]
if (from1) then --Support from1 and from in case of multiple rows
text = string.format("%s%s",text,row(args, 1))
else
text = string.format("%s%s",text,row(args, ""))
end
local i = 2
while i > 0 do
if (args["from" .. i]) then
text = string.format("%s%s",text,row(args, i))
i = i + 1 --Check if from(i+1) exist
else
i = - 1 --Break if fromi doesn't exist
end
end
return text
end
local function multiText(args)
local pageType
if (mw.title.getCurrentTitle():inNamespace(0)) then
pageType = "บทความ"
else
pageType = "หน้า"
end
local historyList = list(args)
if (args["collapse"] == 'yes') then
local collapsedText = '<table style="width:100%%; background: transparent;" class="collapsible collapsed">\n<tr><th>หน้าถูกคัดลอกมา:</th></tr>\n<tr><td> %s </td></tr></table>'
historyList = string.format(collapsedText, historyList)
end
local text = "ข้อความถูกคัดลอกไปหรือคัดลอกมาจาก%sนี้ ดูรายการด้านล่าง หน้าต้นที่ถูกย้ายถูกเก็บไว้สำหรับ[[:en:WP:Copying within Wikipedia|ให้การแสดงแหล่งที่มา]] และห้ามทำการลบจนกว่าหน้าที่คัดลอกเนื้อหาไปยังคงอยู่ สำหรับการดูผู้สร้างสรรค์หรือแก้ไขก่อนหน้ากรุณากดดูที่ลิงก์ประวัติด้านล่าง %s"
text = string.format(text, pageType, historyList)
return text
end
local function BannerText(args)
--Checks if there are multiple rows
local text
local from2 = args["from2"]
if (from2) then
text = multiText(args)
elseif (not from2) then
text = singleText(args)
end
return text
end
local function renderBanner(args)
return MessageBox.main('tmbox', {
small = args["small"],
image = '[[File:Splitsection.svg|50px|link=|alt=]]',
text = BannerText(args)
})
end
local function categories(args)
local to_oldid = args["to_oldid"] or args["to_diff"] or args["diff"]
local from_oldid = args["from_oldid"]
local text = "[[Category:หน้าวิกิพีเดียที่ใช้แม่แบบ copied]]"
if ((not from_oldid) or (not to_oldid)) then
text = string.format("%s[[หมวดหมู่:หน้าวิกิพีเดียที่ใช้แม่แบบ copied โดยไม่ใส่รหัสรุ่น]]",text)
end
return text
end
function p.main(frame)
local getArgs = require('Module:Arguments').getArgs
local args = getArgs(frame)
return renderBanner(args) .. categories(args)
end
return p