「モジュール:Maintenance/isShow」の版間の差分

提供:AcPubWiki
編集の要約なし
編集の要約なし
26行目: 26行目:
if endtime ~= 0 then
if endtime ~= 0 then
if ( os.difftime(os.time(), endtime) ) > 0 then  
if ( os.difftime(os.time(), endtime) ) > 0 then  
rtn[1] = "true"
return "true"
else
else
rtn[1] = "false"
return "false"
end
end
elseif start ~= 0 then
elseif start ~= 0 then
if ( os.difftime(os.time()+86400, starttime) ) > 0 then  
if ( os.difftime(os.time()+86400, starttime) ) > 0 then  
rtn[1] = "true"
return "true"
end
end
else
else
rtn[1] = "false"
return "false"
end
end
end
end


return p
return p

2023年4月22日 (土) 14:05時点における版

このモジュールについての説明文ページを モジュール:Maintenance/isShow/doc に作成できます

local p = {}
function p.main()
	-- メンテナンス予定jsonファイル読み込み
	maintenancedata = mw.loadJsonData("利用者:龍太郎/sandbox/テンプレート:メンテナンス/data.json")
	
	-- 開始時間について定義
	if maintenancedata.maintenance[1].start == "near" then
		start = "0"
	else
		start = os.date("!%Y-%m-%d %T",maintenancedata.maintenance[1].start)
	end
	
	-- 終了時間について定義
	if maintenancedata.maintenance[1].time == "few" then
		endtime = "0"
	elseif maintenancedata.maintenance[1].time == "intermittent" then
		endtime = "0"
	elseif maintenancedata.maintenance[1].time == "observation" then
		endtime = "0"
	else
		endtime = maintenancedata.maintenance[1].time
	end
	
	
	--メンテナンスが終わってるか判定
	if endtime ~= 0 then
		if ( os.difftime(os.time(), endtime) ) > 0 then 
			return "true"
		else
			return "false"
		end
	elseif start ~= 0 then
		if ( os.difftime(os.time()+86400, starttime) ) > 0 then 
			return "true"
		end
	else
		return "false"
	end
end

return p