<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mbwiki.stairwaygames.work/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AAutochangecat</id>
	<title>Module:Autochangecat - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mbwiki.stairwaygames.work/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AAutochangecat"/>
	<link rel="alternate" type="text/html" href="https://mbwiki.stairwaygames.work/w/index.php?title=Module:Autochangecat&amp;action=history"/>
	<updated>2026-04-07T18:20:04Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://mbwiki.stairwaygames.work/w/index.php?title=Module:Autochangecat&amp;diff=5675&amp;oldid=prev</id>
		<title>Admin coral island: Created page with &quot;--&lt;pre&gt;Automatically changes categories/templates after xx days  -- based on the last date the page was saved/edited -- use in template or directly -- Syntax = {{#invoke:Autochangecat|main|days=2|category1=Dev|category2=Developers|template=true}} -- Syntax = {{#invoke:Autochangecat|main|date=2015-05-06|category1=Dev|category2=Developers|template=true}} local p = {} local u = require(&quot;Dev:Utility&quot;)  local function preprocess(sText) 	if mw.getCurrentFrame() then 		sText =...&quot;</title>
		<link rel="alternate" type="text/html" href="https://mbwiki.stairwaygames.work/w/index.php?title=Module:Autochangecat&amp;diff=5675&amp;oldid=prev"/>
		<updated>2023-08-03T16:58:00Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;--&amp;lt;pre&amp;gt;Automatically changes categories/templates after xx days  -- based on the last date the page was saved/edited -- use in template or directly -- Syntax = {{#invoke:Autochangecat|main|days=2|category1=Dev|category2=Developers|template=true}} -- Syntax = {{#invoke:Autochangecat|main|date=2015-05-06|category1=Dev|category2=Developers|template=true}} local p = {} local u = require(&amp;quot;Dev:Utility&amp;quot;)  local function preprocess(sText) 	if mw.getCurrentFrame() then 		sText =...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--&amp;lt;pre&amp;gt;Automatically changes categories/templates after xx days &lt;br /&gt;
-- based on the last date the page was saved/edited&lt;br /&gt;
-- use in template or directly&lt;br /&gt;
-- Syntax = {{#invoke:Autochangecat|main|days=2|category1=Dev|category2=Developers|template=true}}&lt;br /&gt;
-- Syntax = {{#invoke:Autochangecat|main|date=2015-05-06|category1=Dev|category2=Developers|template=true}}&lt;br /&gt;
local p = {}&lt;br /&gt;
local u = require(&amp;quot;Dev:Utility&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
local function preprocess(sText)&lt;br /&gt;
	if mw.getCurrentFrame() then&lt;br /&gt;
		sText = mw.getCurrentFrame():preprocess(sText)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return sText&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local oArgTable, oChildArgs = u.getArgs(frame, &amp;quot;both&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	local function getParams(argName)&lt;br /&gt;
		if oChildArgs and oChildArgs[argName] then&lt;br /&gt;
			return oChildArgs[argName]&lt;br /&gt;
		elseif oArgTable and oArgTable[argName] then&lt;br /&gt;
			return oArgTable[argName]&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if oChildArgs or oArgTable then&lt;br /&gt;
		local iDays = getParams(&amp;quot;days&amp;quot;)&lt;br /&gt;
		local endDate = getParams(&amp;quot;date&amp;quot;)&lt;br /&gt;
		local sArg1 = getParams(1) or getParams(&amp;quot;page1&amp;quot;) &lt;br /&gt;
		local sArg2 = getParams(2) or getParams(&amp;quot;page2&amp;quot;)&lt;br /&gt;
		local bTemplate = getParams(&amp;quot;template&amp;quot;)&lt;br /&gt;
		return p.changeCategory(iDays, sArg1, sArg2, bTemplate, endDate)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.changeCategory(iDays, sArg1, sArg2, bChangeTemplate, endDate)&lt;br /&gt;
	local sCat = &amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	if (iDays or endDate) and sArg1 and sArg2 then&lt;br /&gt;
		local revDate = preprocess(&amp;quot;{{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}&amp;quot;)&lt;br /&gt;
		local iFutureDate = u.addDays (revDate, iDays)&lt;br /&gt;
		local todayDate = os.date(&amp;quot;%Y-%m-%d&amp;quot;)&lt;br /&gt;
		local iDaysLeft = u.datediff(iFutureDate, todayDate)&lt;br /&gt;
		local sPrefix = &amp;quot;[[&amp;quot; .. &amp;quot;Category:&amp;quot;&lt;br /&gt;
		local sSuffix = &amp;quot;]]&amp;quot;&lt;br /&gt;
		local isValidDate = u.checkdate(endDate)&lt;br /&gt;
		&lt;br /&gt;
		if isValidDate then&lt;br /&gt;
			iDaysLeft = u.datediff(endDate, os.date(&amp;quot;%Y-%m-%d&amp;quot;))&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if bChangeTemplate == &amp;quot;true&amp;quot; then&lt;br /&gt;
			sPrefix = &amp;quot;{{&amp;quot;&lt;br /&gt;
			sSuffix = &amp;quot;}}&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if iDaysLeft then&lt;br /&gt;
			if iDaysLeft &amp;lt; 1 then&lt;br /&gt;
				sCat = preprocess(sPrefix .. sArg2 .. sSuffix)&lt;br /&gt;
			else&lt;br /&gt;
				sCat = preprocess(sPrefix .. sArg1 .. sSuffix)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return sCat&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
--[[Category:Lua modules]]&lt;/div&gt;</summary>
		<author><name>Admin coral island</name></author>
	</entry>
</feed>