<?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%3AProtected_edit_request%2Fsandbox</id>
	<title>Module:Protected edit request/sandbox - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3AProtected_edit_request%2Fsandbox"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Protected_edit_request/sandbox&amp;action=history"/>
	<updated>2026-04-20T03:29:06Z</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:Protected_edit_request/sandbox&amp;diff=144530&amp;oldid=prev</id>
		<title>imported&gt;WOSlinker: use require(&#039;strict&#039;) instead of require(&#039;Module:No globals&#039;)</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Protected_edit_request/sandbox&amp;diff=144530&amp;oldid=prev"/>
		<updated>2022-10-21T09:57:27Z</updated>

		<summary type="html">&lt;p&gt;use require(&amp;#039;strict&amp;#039;) instead of require(&amp;#039;Module:No globals&amp;#039;)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;require(&amp;#039;strict&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
local makeMessageBox = require(&amp;#039;Module:Message box&amp;#039;).main&lt;br /&gt;
local getArgs&lt;br /&gt;
&lt;br /&gt;
local activeBox -- lazily initialized if we get an active request&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------&lt;br /&gt;
-- Box class definition&lt;br /&gt;
----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local box = {}&lt;br /&gt;
box.__index = box&lt;br /&gt;
&lt;br /&gt;
function box.new(protectionType, args)&lt;br /&gt;
	local obj = {}&lt;br /&gt;
	obj.args = args&lt;br /&gt;
	setmetatable(obj, box)&lt;br /&gt;
	obj.tmboxArgs = {} -- Used to store arguments to be passed to tmbox by the box:export method.&lt;br /&gt;
	-- Set data fields.&lt;br /&gt;
	obj.tmboxArgs.attrs = { [&amp;#039;data-origlevel&amp;#039;] = protectionType }&lt;br /&gt;
	return obj&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function box:setArg(key, value)&lt;br /&gt;
	-- This sets a value to be passed to tmbox.&lt;br /&gt;
	if key then&lt;br /&gt;
		self.tmboxArgs[key] = value&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function box:export()&lt;br /&gt;
	local title = mw.title.getCurrentTitle()&lt;br /&gt;
	local skipCheck = yesno(self.args.demo) or yesno(self.args.skiptalk)&lt;br /&gt;
	if not title.isTalkPage and not skipCheck then&lt;br /&gt;
		return &amp;#039;&amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;Error: Protected edit requests can only be made on the talk page.&amp;lt;/span&amp;gt;[[Category:Non-talk pages with an edit request template]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- String together page names provided&lt;br /&gt;
	local titles = {}&lt;br /&gt;
	for k, v in pairs(self.args) do&lt;br /&gt;
		if type(k) == &amp;#039;number&amp;#039; then&lt;br /&gt;
			table.insert(titles, self.args[k])&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local pagesText&lt;br /&gt;
	if #titles == 0 then&lt;br /&gt;
		pagesText = &amp;#039;&amp;#039;&lt;br /&gt;
	elseif #titles == 1 and mw.title.getCurrentTitle().subjectPageTitle.fullText == titles[1] then&lt;br /&gt;
		pagesText = &amp;#039;&amp;#039;&lt;br /&gt;
	else &lt;br /&gt;
		for i, v in pairs(titles) do&lt;br /&gt;
		    if i == 1 then&lt;br /&gt;
		        pagesText = &amp;#039; to [[:&amp;#039; .. v .. &amp;#039;]]&amp;#039;&lt;br /&gt;
		    elseif i == #titles then&lt;br /&gt;
		        pagesText = pagesText .. &amp;#039; and [[:&amp;#039; .. v .. &amp;#039;]]&amp;#039;&lt;br /&gt;
		    else&lt;br /&gt;
		        pagesText = pagesText .. &amp;#039;, [[:&amp;#039; .. v .. &amp;#039;]]&amp;#039;&lt;br /&gt;
		    end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	self:setArg(&amp;#039;smalltext&amp;#039;, &amp;quot;This [[Wikipedia:Edit requests|edit request]]&amp;quot; .. pagesText ..&lt;br /&gt;
		&amp;quot; has been answered. Set the &amp;lt;code style=\&amp;quot;white-space: nowrap;\&amp;quot;&amp;gt;&amp;amp;#124;answered&amp;amp;#61;&amp;lt;/code&amp;gt; or &amp;lt;code style=\&amp;quot;white-space: nowrap;\&amp;quot;&amp;gt;&amp;amp;#124;ans&amp;amp;#61;&amp;lt;/code&amp;gt; parameter to &amp;#039;&amp;#039;&amp;#039;no&amp;#039;&amp;#039;&amp;#039; to reactivate your request.&amp;quot;)&lt;br /&gt;
	self:setArg(&amp;#039;small&amp;#039;, true)&lt;br /&gt;
	self:setArg(&amp;#039;class&amp;#039;, &amp;#039;editrequest&amp;#039;)&lt;br /&gt;
	return makeMessageBox(&amp;#039;tmbox&amp;#039;, self.tmboxArgs)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------&lt;br /&gt;
-- Process arguments and initialise objects&lt;br /&gt;
----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p._main(protectionType, args)&lt;br /&gt;
	local boxType = box&lt;br /&gt;
	if not yesno(args.answered or args.ans, true) then&lt;br /&gt;
		if not activeBox then&lt;br /&gt;
			activeBox = require(&amp;#039;Module:Protected edit request/active&amp;#039;)(box, yesno, makeMessageBox)&lt;br /&gt;
		end&lt;br /&gt;
		boxType = activeBox&lt;br /&gt;
	end&lt;br /&gt;
	local requestBox = boxType.new(protectionType, args)&lt;br /&gt;
	return requestBox:export()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local mt = {}&lt;br /&gt;
&lt;br /&gt;
function mt.__index(t, k)&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 function (frame)&lt;br /&gt;
		return t._main(k, getArgs(frame, {wrappers = {&amp;#039;Template:Edit fully-protected&amp;#039;, &amp;#039;Template:Edit semi-protected&amp;#039;, &amp;#039;Template:Edit template-protected&amp;#039;, &amp;#039;Template:Edit extended-protected&amp;#039;, &amp;#039;Template:Edit interface-protected&amp;#039;}}))&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return setmetatable(p, mt)&lt;/div&gt;</summary>
		<author><name>imported&gt;WOSlinker</name></author>
	</entry>
</feed>