<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="vi">
	<id>https://wikibeta.org/index.php?action=history&amp;feed=atom&amp;title=M%C3%B4_%C4%91un%3ACurrentCandidateList</id>
	<title>Mô đun:CurrentCandidateList - Lịch sử thay đổi</title>
	<link rel="self" type="application/atom+xml" href="https://wikibeta.org/index.php?action=history&amp;feed=atom&amp;title=M%C3%B4_%C4%91un%3ACurrentCandidateList"/>
	<link rel="alternate" type="text/html" href="https://wikibeta.org/index.php?title=M%C3%B4_%C4%91un:CurrentCandidateList&amp;action=history"/>
	<updated>2026-08-11T14:47:36Z</updated>
	<subtitle>Lịch sử thay đổi trang này trên wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://wikibeta.org/index.php?title=M%C3%B4_%C4%91un:CurrentCandidateList&amp;diff=7615512&amp;oldid=prev</id>
		<title>imported&gt;NgocAnMaster: FfD không dùng đúng cấu trúc</title>
		<link rel="alternate" type="text/html" href="https://wikibeta.org/index.php?title=M%C3%B4_%C4%91un:CurrentCandidateList&amp;diff=7615512&amp;oldid=prev"/>
		<updated>2023-05-02T19:18:12Z</updated>

		<summary type="html">&lt;p&gt;FfD không dùng đúng cấu trúc&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Trang mới&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local titles = {&lt;br /&gt;
	FA = &amp;quot;Wikipedia:Ứng cử viên bài viết chọn lọc&amp;quot;,&lt;br /&gt;
	FL = &amp;quot;Wikipedia:Ứng cử viên danh sách chọn lọc&amp;quot;,&lt;br /&gt;
	FT = &amp;quot;Wikipedia:Ứng cử viên chủ điểm chọn lọc&amp;quot;,&lt;br /&gt;
	GA = &amp;quot;Wikipedia:Ứng cử viên bài viết tốt&amp;quot;,&lt;br /&gt;
	GT = &amp;quot;Wikipedia:Ứng cử viên chủ điểm tốt&amp;quot;,&lt;br /&gt;
	FAR = &amp;quot;Wikipedia:Đề nghị rút sao bài viết chọn lọc&amp;quot;,&lt;br /&gt;
	FLR = &amp;quot;Wikipedia:Đề nghị rút sao danh sách chọn lọc&amp;quot;,&lt;br /&gt;
	FAR2 = &amp;quot;Wikipedia:Đề nghị giáng sao bài viết chọn lọc&amp;quot;,&lt;br /&gt;
	GAR = &amp;quot;Wikipedia:Đề nghị rút sao bài viết tốt&amp;quot;,&lt;br /&gt;
	AfD = &amp;quot;Wikipedia:Biểu quyết xoá bài&amp;quot;,&lt;br /&gt;
	MfD = &amp;quot;Wikipedia:Biểu quyết xóa trang (khác)&amp;quot;,&lt;br /&gt;
	AfUD = &amp;quot;Wikipedia:Biểu quyết phục hồi trang&amp;quot;,&lt;br /&gt;
	RfE = &amp;quot;Wikipedia:Biểu quyết chọn điều phối viên&amp;quot;,&lt;br /&gt;
	RfA = &amp;quot;Wikipedia:Biểu quyết chọn bảo quản viên&amp;quot;, &lt;br /&gt;
	RfB = &amp;quot;Wikipedia:Biểu quyết chọn hành chính viên&amp;quot;,&lt;br /&gt;
	RfCU = &amp;quot;Wikipedia:Biểu quyết chọn kiểm định viên&amp;quot;,&lt;br /&gt;
	RfDE = &amp;quot;Wikipedia:Biểu quyết bất tín nhiệm điều phối viên&amp;quot;,&lt;br /&gt;
	RfDA = &amp;quot;Wikipedia:Biểu quyết bất tín nhiệm bảo quản viên&amp;quot;,&lt;br /&gt;
	RfDB = &amp;quot;Wikipedia:Biểu quyết bất tín nhiệm hành chính viên&amp;quot;,&lt;br /&gt;
	RfDCU = &amp;quot;Wikipedia:Biểu quyết bất tín nhiệm kiểm định viên&amp;quot;,&lt;br /&gt;
	BTN = &amp;quot;Wikipedia:Biểu quyết bất tín nhiệm nhiều vị trí&amp;quot;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local alts = {&lt;br /&gt;
	FA = &amp;quot;Bài viết chọn lọc&amp;quot;,&lt;br /&gt;
	FL = &amp;quot;Danh sách chọn lọc&amp;quot;,&lt;br /&gt;
	FT = &amp;quot;Chủ điểm chọn lọc&amp;quot;,&lt;br /&gt;
	GA = &amp;quot;Bài viết tốt&amp;quot;,&lt;br /&gt;
	GT = &amp;quot;Chủ điểm tốt&amp;quot;,&lt;br /&gt;
	FAR = &amp;quot;Rút sao&amp;quot;,&lt;br /&gt;
	FLR = &amp;quot;Rút sao danh sách chọn lọc&amp;quot;,&lt;br /&gt;
	FAR2 = &amp;quot;Giáng sao&amp;quot;,&lt;br /&gt;
	GAR = &amp;quot;Rút sao&amp;quot;,&lt;br /&gt;
	AfD = &amp;quot;Xóa bài&amp;quot;,&lt;br /&gt;
	MfD = &amp;quot;Xóa trang thuộc không gian tên khác&amp;quot;,&lt;br /&gt;
	AfUD = &amp;quot;Phục hồi bài&amp;quot;,&lt;br /&gt;
	RfE = &amp;quot;Chọn điều phối viên&amp;quot;,&lt;br /&gt;
	RfA = &amp;quot;Chọn bảo quản viên&amp;quot;, &lt;br /&gt;
	RfB = &amp;quot;Chọn hành chính viên&amp;quot;,&lt;br /&gt;
	RfCU = &amp;quot;Chọn kiểm định viên&amp;quot;,&lt;br /&gt;
	RfDE = &amp;quot;Bất tín nhiệm điều phối viên&amp;quot;,&lt;br /&gt;
	RfDA = &amp;quot;Bất tín nhiệm bảo quản viên&amp;quot;,&lt;br /&gt;
	RfDB = &amp;quot;Bất tín nhiệm hành chính viên&amp;quot;,&lt;br /&gt;
	RfDCU = &amp;quot;Bất tín nhiệm kiểm định viên&amp;quot;,&lt;br /&gt;
	BTN = &amp;quot;Bất tín nhiệm nhiều vị trí&amp;quot;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- @type table&lt;br /&gt;
function p.list(title)&lt;br /&gt;
	local content = mw.title.new(title):getContent()&lt;br /&gt;
	local list = {}&lt;br /&gt;
	&lt;br /&gt;
	for token in string.gmatch(content, &amp;quot;{{/(.-)}}&amp;quot;) do&lt;br /&gt;
		if token ~= &amp;quot;Quy trình&amp;quot; and token ~= &amp;quot;Gợi ý&amp;quot; then&lt;br /&gt;
			table.insert(list, token)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if #list &amp;gt; 10 then&lt;br /&gt;
		local tempList = {}&lt;br /&gt;
		local listShuffled = FYShuffle(list)&lt;br /&gt;
		for i = 1, 10, 1 do&lt;br /&gt;
			table.insert(tempList, listShuffled[i])&lt;br /&gt;
		end&lt;br /&gt;
		list = tempList&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return list&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- @type string&lt;br /&gt;
function p.num(frame)&lt;br /&gt;
	local title = titles[frame.args[1]]&lt;br /&gt;
	return p._num(title)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- @type string&lt;br /&gt;
function p._num(title)&lt;br /&gt;
	return #p.list(title)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- @type string&lt;br /&gt;
function p.str(frame)&lt;br /&gt;
	local title = titles[frame.args[1]]&lt;br /&gt;
	local sep = &amp;quot; • &amp;quot;&lt;br /&gt;
	return p._str(title, sep)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- @type string&lt;br /&gt;
function p._str(title, sep)&lt;br /&gt;
	local str = {}&lt;br /&gt;
	&lt;br /&gt;
	for _, candidate in ipairs(p.list(title)) do&lt;br /&gt;
		table.insert(str, anchor(title, candidate))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return table.concat(str, sep)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- @type string&lt;br /&gt;
function p.group(frame)&lt;br /&gt;
	local pages = frame.args&lt;br /&gt;
	local sep = &amp;quot; • &amp;quot;&lt;br /&gt;
	return p._group(pages, sep)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- @type string&lt;br /&gt;
function p._group(pages, sep)&lt;br /&gt;
	local group = {}&lt;br /&gt;
	&lt;br /&gt;
	for _, page in ipairs(pages) do&lt;br /&gt;
		local title = titles[page]&lt;br /&gt;
		local alt = alts[page]&lt;br /&gt;
		local list = p.list(title)&lt;br /&gt;
		if (#list ~= 0) then&lt;br /&gt;
			table.insert(group, prefix(title, alt) .. p._str(title, sep))&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return table.concat(group, sep)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- @type string&lt;br /&gt;
function anchor(title, candidate)&lt;br /&gt;
	return &amp;quot;[[&amp;quot; .. title .. &amp;quot;/&amp;quot; .. candidate .. &amp;quot;|&amp;quot; .. candidate .. &amp;quot;]]&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- @type string&lt;br /&gt;
function prefix(title, alt)&lt;br /&gt;
	return &amp;quot;&amp;#039;&amp;#039;&amp;#039;[[&amp;quot; .. title .. &amp;quot;|&amp;quot; .. alt .. &amp;quot;]]&amp;#039;&amp;#039;&amp;#039;: &amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Source: https://stackoverflow.com/questions/35572435/how-do-you-do-the-fisher-yates-shuffle-in-lua&lt;br /&gt;
function FYShuffle(tInput)&lt;br /&gt;
    math.randomseed(os.time())&lt;br /&gt;
    local tReturn = {}&lt;br /&gt;
    for i = #tInput, 1, -1 do&lt;br /&gt;
        local j = math.random(i)&lt;br /&gt;
        tInput[i], tInput[j] = tInput[j], tInput[i]&lt;br /&gt;
        table.insert(tReturn, tInput[i])&lt;br /&gt;
    end&lt;br /&gt;
    return tReturn&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;NgocAnMaster</name></author>
	</entry>
</feed>