<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://the.satanic.wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AVideo_game_reviews</id>
	<title>Module:Video game reviews - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://the.satanic.wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AVideo_game_reviews"/>
	<link rel="alternate" type="text/html" href="https://the.satanic.wiki/index.php?title=Module:Video_game_reviews&amp;action=history"/>
	<updated>2026-04-20T10:12:09Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://the.satanic.wiki/index.php?title=Module:Video_game_reviews&amp;diff=12457&amp;oldid=prev</id>
		<title>imported&gt;Ferret: Send table count, not the table.</title>
		<link rel="alternate" type="text/html" href="https://the.satanic.wiki/index.php?title=Module:Video_game_reviews&amp;diff=12457&amp;oldid=prev"/>
		<updated>2021-04-01T12:32:17Z</updated>

		<summary type="html">&lt;p&gt;Send table count, not the table.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;require(&amp;#039;Module:No globals&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
local data = require(&amp;#039;Module:Video game reviews/data&amp;#039;)&lt;br /&gt;
local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
local vgwd = require(&amp;#039;Module:Video game wikidata&amp;#039;)&lt;br /&gt;
local getArgs&lt;br /&gt;
&lt;br /&gt;
local function getActiveSystems(args)&lt;br /&gt;
	local activeSystems = {}&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		if data.systems[k] and yesno(v) then&lt;br /&gt;
			table.insert(activeSystems, k)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(activeSystems, function(a, b)&lt;br /&gt;
		return data.systems[a].sortkey &amp;lt; data.systems[b].sortkey&lt;br /&gt;
	end)&lt;br /&gt;
	return activeSystems&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getArgKeyTables(args)&lt;br /&gt;
	local reviewers, aggregators, awards = {}, {}, {}&lt;br /&gt;
	for k in pairs(args) do&lt;br /&gt;
		if string.match(k, data.i18n.pattern.reviewer) then&lt;br /&gt;
			table.insert(reviewers, k)&lt;br /&gt;
		elseif string.match(k, data.i18n.pattern.aggregator) then&lt;br /&gt;
			table.insert(aggregators, k)&lt;br /&gt;
		elseif string.match(k, data.i18n.pattern.award) then&lt;br /&gt;
			table.insert(awards, k)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local function comparator(a, b)&lt;br /&gt;
		return tonumber(a:match(&amp;#039;%d+&amp;#039;)) &amp;lt; tonumber(b:match(&amp;#039;%d+&amp;#039;))&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(reviewers, comparator)&lt;br /&gt;
	table.sort(aggregators, comparator)&lt;br /&gt;
	table.sort(awards, comparator)&lt;br /&gt;
	return reviewers, aggregators, awards&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getProvidedReviewersAndAggregators(args, usePlatforms)&lt;br /&gt;
	local providedReviewers, providedAggregators = {}, {}&lt;br /&gt;
	if usePlatforms then&lt;br /&gt;
		local seen = {}&lt;br /&gt;
		for k in pairs(args) do&lt;br /&gt;
			local splitPos = string.find(k, &amp;#039;_&amp;#039;)&lt;br /&gt;
			if splitPos then&lt;br /&gt;
				local halfarg = string.sub(k, 1, splitPos - 1)&lt;br /&gt;
				if not seen[halfarg] then&lt;br /&gt;
					seen[halfarg] = true&lt;br /&gt;
					if data.reviewers[halfarg] then&lt;br /&gt;
						table.insert(providedReviewers, halfarg)&lt;br /&gt;
					elseif data.aggregators[halfarg] then&lt;br /&gt;
						table.insert(providedAggregators, halfarg)&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		for k in pairs(args) do&lt;br /&gt;
			if not string.find(k, &amp;#039;_&amp;#039;) then&lt;br /&gt;
				if data.reviewers[k] then&lt;br /&gt;
					table.insert(providedReviewers, k)&lt;br /&gt;
				elseif data.aggregators[k] then&lt;br /&gt;
					table.insert(providedAggregators, k)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(providedReviewers, function(a, b)&lt;br /&gt;
		return data.reviewers[a].sortkey &amp;lt; data.reviewers[b].sortkey&lt;br /&gt;
	end)&lt;br /&gt;
	table.sort(providedAggregators, function(a, b)&lt;br /&gt;
		return data.aggregators[a].sortkey &amp;lt; data.aggregators[b].sortkey&lt;br /&gt;
	end)&lt;br /&gt;
	return providedReviewers, providedAggregators&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderHeadingRowWithSystems(builder, activeSystems, headingText)&lt;br /&gt;
	builder:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		:addClass(data.i18n.class.headerrow)&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;scope&amp;#039;, &amp;#039;col&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;rowspan&amp;#039;, &amp;#039;2&amp;#039;)&lt;br /&gt;
			:wikitext(headingText)&lt;br /&gt;
			:done()&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;scope&amp;#039;, &amp;#039;colgroup&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;colspan&amp;#039;, #activeSystems)&lt;br /&gt;
			:wikitext(data.i18n.display.score)&lt;br /&gt;
			:done()&lt;br /&gt;
	builder = builder:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
	for _, v in ipairs(activeSystems) do&lt;br /&gt;
		builder:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:wikitext(data.systems[v].name)&lt;br /&gt;
			:attr(&amp;#039;scope&amp;#039;, &amp;#039;col&amp;#039;)&lt;br /&gt;
			:done()&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderHeadingRow(builder, nameHeading)&lt;br /&gt;
	builder:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		:addClass(data.i18n.class.headerrow)&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;scope&amp;#039;, &amp;#039;col&amp;#039;)&lt;br /&gt;
			:wikitext(nameHeading)&lt;br /&gt;
			:done()&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;scope&amp;#039;, &amp;#039;col&amp;#039;)&lt;br /&gt;
			:wikitext(data.i18n.display.score)&lt;br /&gt;
			:done()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderRatingsBySystem(builder, code, name, activeSystems, args, na)&lt;br /&gt;
	builder = builder:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
	builder:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
		:wikitext(name)&lt;br /&gt;
&lt;br /&gt;
	for _, v in ipairs(activeSystems) do&lt;br /&gt;
		local combinedCode = code .. &amp;#039;_&amp;#039; .. v&lt;br /&gt;
		local cell = builder:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
		if args[combinedCode] then&lt;br /&gt;
			cell&lt;br /&gt;
				:wikitext(args[combinedCode])&lt;br /&gt;
				:done()&lt;br /&gt;
		elseif na then&lt;br /&gt;
			cell&lt;br /&gt;
				:addClass(data.i18n.class.na)&lt;br /&gt;
				:wikitext(data.i18n.display.na)&lt;br /&gt;
				:done()&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderRating(builder, name, rating)&lt;br /&gt;
	builder:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
			:addClass(data.i18n.class.centeredpub)&lt;br /&gt;
			:wikitext(name)&lt;br /&gt;
			:done()&lt;br /&gt;
		:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
			:wikitext(rating)&lt;br /&gt;
			:done()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderAggregators(builder, providedAggregators, activeSystems, customAggregatorKeys, args)&lt;br /&gt;
	&lt;br /&gt;
	local aggregatorCount = #providedAggregators + #customAggregatorKeys&lt;br /&gt;
	if aggregatorCount == 0 then return end&lt;br /&gt;
	&lt;br /&gt;
	builder = builder:tag(&amp;#039;table&amp;#039;)&lt;br /&gt;
		:addClass(data.i18n.class.aggregators)&lt;br /&gt;
		:addClass(data.i18n.class.wikitable)&lt;br /&gt;
		:addClass(args.state and &amp;#039;mw-collapsible-content&amp;#039; or nil)&lt;br /&gt;
		:tag(&amp;#039;caption&amp;#039;)&lt;br /&gt;
			:wikitext(data.i18n.display[aggregatorCount == 1 and &amp;#039;aggregateScore&amp;#039; or &amp;#039;aggregateScores&amp;#039;])&lt;br /&gt;
			:done()&lt;br /&gt;
&lt;br /&gt;
	if #activeSystems ~= 0 then&lt;br /&gt;
		local na = yesno(args.na)&lt;br /&gt;
		local showplatforms = #activeSystems ~= 1 or yesno(args.showplatforms)&lt;br /&gt;
		if showplatforms then&lt;br /&gt;
			renderHeadingRowWithSystems(builder, activeSystems, data.i18n.display.aggregator)&lt;br /&gt;
		else&lt;br /&gt;
			renderHeadingRow(builder, data.i18n.display.aggregator)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		for _, v in ipairs(providedAggregators) do&lt;br /&gt;
			renderRatingsBySystem(builder, v, data.aggregators[v].name, activeSystems, args, na)&lt;br /&gt;
		end&lt;br /&gt;
		for _, v in ipairs(customAggregatorKeys) do&lt;br /&gt;
			renderRatingsBySystem(builder, v, args[v], activeSystems, args, na)&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		renderHeadingRow(builder, data.i18n.display.aggregator)&lt;br /&gt;
		for _, v in ipairs(providedAggregators) do&lt;br /&gt;
			renderRating(builder, data.aggregators[v].name, args[v])&lt;br /&gt;
		end&lt;br /&gt;
		for _, v in ipairs(customAggregatorKeys) do&lt;br /&gt;
			renderRating(builder, args[v], args[v .. &amp;#039;Score&amp;#039;])&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderReviews(builder, providedReviewers, activeSystems,&lt;br /&gt;
	customReviewerKeys, args, reviewerCount, priorReviewCount)&lt;br /&gt;
	&lt;br /&gt;
	if reviewerCount == 0 then return end&lt;br /&gt;
	&lt;br /&gt;
	builder = builder:tag(&amp;#039;table&amp;#039;)&lt;br /&gt;
		:addClass(data.i18n.class.reviews)&lt;br /&gt;
		:addClass(data.i18n.class.wikitable)&lt;br /&gt;
		:addClass(args.state and &amp;#039;mw-collapsible-content&amp;#039; or nil)&lt;br /&gt;
		:tag(&amp;#039;caption&amp;#039;)&lt;br /&gt;
			:wikitext(data.i18n.display[reviewerCount == 1 and &amp;#039;reviewScore&amp;#039; or &amp;#039;reviewScores&amp;#039;])&lt;br /&gt;
			:addClass(priorReviewCount &amp;gt; 0 and data.i18n.class.stacked or nil)&lt;br /&gt;
			:done()&lt;br /&gt;
	&lt;br /&gt;
	if #activeSystems ~= 0 then&lt;br /&gt;
		local na = yesno(args.na)&lt;br /&gt;
		local showplatforms = #activeSystems ~= 1 or yesno(args.showplatforms)&lt;br /&gt;
		if showplatforms then&lt;br /&gt;
			renderHeadingRowWithSystems(builder, activeSystems, data.i18n.display.publication)&lt;br /&gt;
		else&lt;br /&gt;
			renderHeadingRow(builder, data.i18n.display.publication)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		for _, v in ipairs(providedReviewers) do&lt;br /&gt;
			renderRatingsBySystem(builder, v, data.reviewers[v].name, activeSystems, args, na)&lt;br /&gt;
		end&lt;br /&gt;
		for _, v in ipairs(customReviewerKeys) do&lt;br /&gt;
			renderRatingsBySystem(builder, v, args[v], activeSystems, args, na)&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		renderHeadingRow(builder, data.i18n.display.publication)&lt;br /&gt;
		for _, v in ipairs(providedReviewers) do&lt;br /&gt;
			renderRating(builder, data.reviewers[v].name, args[v])&lt;br /&gt;
		end&lt;br /&gt;
		for _, v in ipairs(customReviewerKeys) do&lt;br /&gt;
			renderRating(builder, args[v], args[v .. &amp;#039;Score&amp;#039;])&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderAwards(builder, args, awardKeys, priorReviewCount)&lt;br /&gt;
	if #awardKeys == 0 then return end&lt;br /&gt;
	&lt;br /&gt;
	builder = builder:tag(&amp;#039;table&amp;#039;)&lt;br /&gt;
		:addClass(data.i18n.class.awards)&lt;br /&gt;
		:addClass(data.i18n.class.wikitable)&lt;br /&gt;
		:addClass(args.state and &amp;#039;mw-collapsible-content&amp;#039; or nil)&lt;br /&gt;
		:tag(&amp;#039;caption&amp;#039;)&lt;br /&gt;
			:wikitext(data.i18n.display[#awardKeys == 1 and &amp;#039;award&amp;#039; or &amp;#039;awards&amp;#039;])&lt;br /&gt;
			:addClass(priorReviewCount &amp;gt; 0 and data.i18n.class.stacked or nil)&lt;br /&gt;
			:done()&lt;br /&gt;
		:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
			:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
				:attr(&amp;#039;scope&amp;#039;, &amp;#039;col&amp;#039;)&lt;br /&gt;
				:wikitext(data.i18n.display.publication)&lt;br /&gt;
				:done()&lt;br /&gt;
			:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
				:attr(&amp;#039;scope&amp;#039;, &amp;#039;col&amp;#039;)&lt;br /&gt;
				:wikitext(data.i18n.display.award)&lt;br /&gt;
				:done()&lt;br /&gt;
&lt;br /&gt;
	for _, v in ipairs(awardKeys) do&lt;br /&gt;
		builder:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:wikitext(args[v .. &amp;#039;Pub&amp;#039;])&lt;br /&gt;
				:done()&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:wikitext(args[v])&lt;br /&gt;
				:done()&lt;br /&gt;
	end&lt;br /&gt;
	builder:done()&lt;br /&gt;
	builder:done()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderEditOnWikidata(builder, wikidata, state)&lt;br /&gt;
	if not wikidata then return end&lt;br /&gt;
	&lt;br /&gt;
	builder:tag(&amp;#039;div&amp;#039;)&lt;br /&gt;
		:addClass(data.i18n.class.wikidata)&lt;br /&gt;
		:addClass(state and &amp;#039;mw-collapsible-content&amp;#039; or nil)&lt;br /&gt;
		:wikitext(vgwd.getUpdateLink())&lt;br /&gt;
		:done()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function categorizePlatformCount(builder, platformCount)&lt;br /&gt;
	if platformCount ~= 0 then&lt;br /&gt;
		builder:wikitext(data.i18n.category.multiplatform)&lt;br /&gt;
	else&lt;br /&gt;
		builder:wikitext(data.i18n.category.singleplatform)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderTitles(builder, title, subtitle)&lt;br /&gt;
	builder:tag(&amp;#039;div&amp;#039;)&lt;br /&gt;
		:addClass(data.i18n.class.title)&lt;br /&gt;
		:wikitext(title or data.i18n.display.reception)&lt;br /&gt;
		:done()&lt;br /&gt;
&lt;br /&gt;
	if subtitle then&lt;br /&gt;
		builder:tag(&amp;#039;div&amp;#039;)&lt;br /&gt;
			:addClass(data.i18n.class.subtitle)&lt;br /&gt;
			 -- The only reason to use the subtitle is collapsible content&lt;br /&gt;
			 -- So always add the related class.&lt;br /&gt;
			:addClass(&amp;#039;mw-collapsible-content&amp;#039;)&lt;br /&gt;
			:wikitext(subtitle)&lt;br /&gt;
			:done()&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function render(providedReviewers, providedAggregators, awardKeys,&lt;br /&gt;
	activeSystems, customAggregatorKeys, customReviewerKeys, args, wikidata)&lt;br /&gt;
	local is_collapsible = args.title and args.state and&lt;br /&gt;
		(args.state == data.i18n.state.autocollapse or&lt;br /&gt;
			args.state == data.i18n.state.collapsed or&lt;br /&gt;
			args.state == data.i18n.state.expanded&lt;br /&gt;
		)&lt;br /&gt;
	local div = mw.html.create(&amp;#039;div&amp;#039;)&lt;br /&gt;
		:attr(&amp;#039;role&amp;#039;, &amp;#039;complementary&amp;#039;)&lt;br /&gt;
		:addClass(data.i18n.class.container)&lt;br /&gt;
		:addClass(#activeSystems == 0 and data.i18n.class.containersingle or nil)&lt;br /&gt;
		:addClass(args.align == data.i18n.align.left and data.i18n.class.containerleft or nil)&lt;br /&gt;
		:addClass(args.align == data.i18n.align.none and data.i18n.class.containernone or nil)&lt;br /&gt;
		:addClass(is_collapsible and &amp;#039;mw-collapsible&amp;#039; or nil)&lt;br /&gt;
		:addClass(is_collapsible and args.state == data.i18n.state.collapsed and &amp;#039;mw-collapsed&amp;#039; or nil)&lt;br /&gt;
		:addClass(is_collapsible and args.state == data.i18n.state.autocollapse and args.state or nil)&lt;br /&gt;
&lt;br /&gt;
	renderTitles(div, args.title, args.subtitle)&lt;br /&gt;
&lt;br /&gt;
	local aggregatorCount = #providedAggregators + #customAggregatorKeys&lt;br /&gt;
	renderAggregators(&lt;br /&gt;
		div,&lt;br /&gt;
		providedAggregators,&lt;br /&gt;
		activeSystems,&lt;br /&gt;
		customAggregatorKeys,&lt;br /&gt;
		args,&lt;br /&gt;
		aggregatorCount&lt;br /&gt;
	)&lt;br /&gt;
	local reviewerCount = #customReviewerKeys + #providedReviewers&lt;br /&gt;
	renderReviews(&lt;br /&gt;
		div,&lt;br /&gt;
		providedReviewers,&lt;br /&gt;
		activeSystems,&lt;br /&gt;
		customReviewerKeys,&lt;br /&gt;
		args,&lt;br /&gt;
		reviewerCount,&lt;br /&gt;
		aggregatorCount&lt;br /&gt;
	)&lt;br /&gt;
	renderAwards(&lt;br /&gt;
		div,&lt;br /&gt;
		args,&lt;br /&gt;
		awardKeys,&lt;br /&gt;
		reviewerCount + aggregatorCount&lt;br /&gt;
	)&lt;br /&gt;
	renderEditOnWikidata(div, wikidata, args.state)&lt;br /&gt;
	categorizePlatformCount(div, #activeSystems)&lt;br /&gt;
		&lt;br /&gt;
	return div&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function checkForWikidata(frame, args, activeSystems, providedAggregators)&lt;br /&gt;
	local wikidata = false&lt;br /&gt;
&lt;br /&gt;
	vgwd.setDateFormat(args.df)&lt;br /&gt;
	vgwd.setGame(args.qid)&lt;br /&gt;
	vgwd.setSystem(nil)&lt;br /&gt;
	vgwd.setGenerateReferences(true)&lt;br /&gt;
	vgwd.setShowUpdateLink(false)&lt;br /&gt;
	vgwd.setUpdateLinkStyle(&amp;quot;text and pen&amp;quot;)&lt;br /&gt;
	vgwd.setSystemFormat(args.systemFormat)&lt;br /&gt;
&lt;br /&gt;
	-- Loop through aggregators if we have any.&lt;br /&gt;
	if #providedAggregators ~= 0 then&lt;br /&gt;
		for _, aggr in ipairs(providedAggregators) do&lt;br /&gt;
			-- Check if vgwd knows this aggregator.&lt;br /&gt;
			if vgwd.setReviewer(aggr) == nil then&lt;br /&gt;
				-- Loop through active systems&lt;br /&gt;
				if #activeSystems ~= 0 then&lt;br /&gt;
					for _, sys in ipairs(activeSystems) do&lt;br /&gt;
						local combinedCode = aggr .. &amp;#039;_&amp;#039; .. sys&lt;br /&gt;
						if args[combinedCode] == &amp;#039;wikidata&amp;#039; then&lt;br /&gt;
							vgwd.setSystem(sys)&lt;br /&gt;
							vgwd.setShowSystem(false)&lt;br /&gt;
							local vgwdScore = vgwd.printReviewScores(frame)&lt;br /&gt;
							if vgwdScore then&lt;br /&gt;
								args[combinedCode] = vgwdScore&lt;br /&gt;
							end&lt;br /&gt;
							wikidata = true&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					vgwd.setShowSystem(true)&lt;br /&gt;
					if args[aggr] == &amp;#039;wikidata&amp;#039; then&lt;br /&gt;
						local vgwdScore = vgwd.printReviewScores(frame)&lt;br /&gt;
						if vgwdScore then&lt;br /&gt;
							args[aggr] = vgwdScore&lt;br /&gt;
						end&lt;br /&gt;
						wikidata = true&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return wikidata&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._reviewbox(frame, args)&lt;br /&gt;
	local activeSystems = getActiveSystems(args)&lt;br /&gt;
	local customReviewerKeys, customAggregatorKeys, awardKeys = getArgKeyTables(args)&lt;br /&gt;
	local providedReviewers, providedAggregators = getProvidedReviewersAndAggregators(args, #activeSystems ~= 0)&lt;br /&gt;
	local wikidata = checkForWikidata(frame, args, activeSystems, providedAggregators)&lt;br /&gt;
	if #customAggregatorKeys ~= 0 or #customReviewerKeys ~= 0 or&lt;br /&gt;
		#providedAggregators ~= 0 or #providedReviewers ~= 0 or #awardKeys ~= 0 then&lt;br /&gt;
		return frame:extensionTag{&lt;br /&gt;
			name=&amp;#039;templatestyles&amp;#039;, args = { src = data.i18n.templatestyles }&lt;br /&gt;
		} ..  tostring(render(&lt;br /&gt;
				providedReviewers,&lt;br /&gt;
				providedAggregators,&lt;br /&gt;
				awardKeys,&lt;br /&gt;
				activeSystems,&lt;br /&gt;
				customAggregatorKeys,&lt;br /&gt;
				customReviewerKeys,&lt;br /&gt;
				args,&lt;br /&gt;
				wikidata&lt;br /&gt;
		))&lt;br /&gt;
	elseif mw.title.getCurrentTitle().namespace == 0 then&lt;br /&gt;
		return data.i18n.category.empty&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.reviewbox(frame)&lt;br /&gt;
	if not getArgs then&lt;br /&gt;
		getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
	end&lt;br /&gt;
	return p._reviewbox(frame, getArgs(frame,&lt;br /&gt;
		{ wrappers = data.i18n.wrapper, trim = false, translate = data.argi18n }&lt;br /&gt;
	))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Ferret</name></author>
	</entry>
</feed>