<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FXinbenlv%2FWikiLoop</id>
	<title>Module:Sandbox/Xinbenlv/WikiLoop - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FXinbenlv%2FWikiLoop"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Xinbenlv/WikiLoop&amp;action=history"/>
	<updated>2026-05-25T10:19:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:Sandbox/Xinbenlv/WikiLoop&amp;diff=146440&amp;oldid=prev</id>
		<title>imported&gt;Xinbenlv: // Edit via Wikiplus</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Xinbenlv/WikiLoop&amp;diff=146440&amp;oldid=prev"/>
		<updated>2019-03-24T23:10:38Z</updated>

		<summary type="html">&lt;p&gt;// Edit via Wikiplus&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;---------- Module:WikiLoop ----------------&lt;br /&gt;
local p = {}&lt;br /&gt;
local supported_languages = {&amp;#039;ru&amp;#039;, &amp;#039;fr&amp;#039;, &amp;#039;en&amp;#039;}&lt;br /&gt;
&lt;br /&gt;
-- Returns the conflict table&lt;br /&gt;
local function parseConflictValueObject(frame)&lt;br /&gt;
    local qid = frame.args.qid  -- Qnum id&lt;br /&gt;
    local conflict_value_object = {}&lt;br /&gt;
    -- out = &amp;#039;&amp;#039;&lt;br /&gt;
    for i, lang in ipairs(supported_languages) do&lt;br /&gt;
        local prefix = &amp;quot;lang_&amp;quot; .. lang&lt;br /&gt;
        if frame.args[&amp;quot;lang_&amp;quot; .. lang] ~= nil then&lt;br /&gt;
            local site_link = mw.wikibase.getSitelink(qid, lang..&amp;quot;wiki&amp;quot;)&lt;br /&gt;
            local value = frame.args[prefix]&lt;br /&gt;
            conflict_value_object[lang] = {&lt;br /&gt;
                [&amp;quot;value&amp;quot;] = value,&lt;br /&gt;
                [&amp;quot;site_link&amp;quot;] = site_link&lt;br /&gt;
            }&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return conflict_value_object&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function conflictValueObjectToTableData(conflict_value_object)&lt;br /&gt;
    local headers = {&amp;quot;language&amp;quot;, &amp;quot;title&amp;quot;, &amp;quot;value&amp;quot;}&lt;br /&gt;
    local rows = {}&lt;br /&gt;
    for lang, value_pair in pairs(conflict_value_object) do&lt;br /&gt;
        table.insert(rows ,{&lt;br /&gt;
            lang, -- language&lt;br /&gt;
            &amp;quot;[[:&amp;quot;..lang..&amp;quot;:&amp;quot;..value_pair.site_link..&amp;quot;]]&amp;quot;, -- link to value&lt;br /&gt;
            value_pair.value&lt;br /&gt;
        })&lt;br /&gt;
    end&lt;br /&gt;
    return {headers, rows}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function printTableHtml(table_data)&lt;br /&gt;
    local column_headers = table_data[1]&lt;br /&gt;
    local rows = table_data[2]&lt;br /&gt;
&lt;br /&gt;
    local output = &amp;quot;&amp;lt;table class=\&amp;quot;wikitable\&amp;quot;&amp;gt;\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    output = output .. &amp;quot;  &amp;lt;tr&amp;gt;\n&amp;quot;&lt;br /&gt;
    for i, th in ipairs(column_headers) do&lt;br /&gt;
        output = output .. &amp;quot;  &amp;lt;th&amp;gt;&amp;quot; .. th .. &amp;quot;&amp;lt;/th&amp;gt;\n&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    output = output .. &amp;quot;  &amp;lt;/tr&amp;gt;\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    for row_i, row in ipairs(rows) do&lt;br /&gt;
        output = output .. &amp;quot;  &amp;lt;tr&amp;gt;\n&amp;quot;&lt;br /&gt;
        for col_i, col in ipairs(row) do&lt;br /&gt;
            output = output .. &amp;quot;  &amp;lt;td&amp;gt;&amp;quot; .. col .. &amp;quot;&amp;lt;/td&amp;gt;\n&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
        output = output .. &amp;quot;  &amp;lt;/tr&amp;gt;\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
    output = output .. &amp;quot;&amp;lt;/table&amp;gt;\n&amp;quot;&lt;br /&gt;
    return output&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.PrintConflictTable(frame)&lt;br /&gt;
    conflict_value_object = parseConflictValueObject(frame)&lt;br /&gt;
    table_data = conflictValueObjectToTableData(conflict_value_object)&lt;br /&gt;
    return printTableHtml(table_data)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Xinbenlv</name></author>
	</entry>
</feed>