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

提供:AcPubWiki
(ページの作成:「-- メンテナンス予定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 maintenan…」)
 
(判定が誤っていた物を修正)
 
(同じ利用者による、間の13版が非表示)
1行目: 1行目:
-- メンテナンス予定jsonファイル読み込み
local p = {}
maintenancedata = mw.loadJsonData("利用者:龍太郎/sandbox/テンプレート:メンテナンス/data.json")
function p.main()
 
-- メンテナンス予定jsonファイル読み込み
-- 開始時間について定義
maintenancedata = mw.loadJsonData("module:Maintenance/data.json")
if maintenancedata.maintenance[1].start == "near" then
start = "0"
--forで最後の要素までカウントする
else
for index,item in ipairs(maintenancedata.maintenance) do
start = os.date("!%Y-%m-%d %T",maintenancedata.maintenance[1].start)
c = index
end
end
 
-- 開始時間について定義
-- 終了時間について定義
if maintenancedata.maintenance[c].start == "near" then
if maintenancedata.maintenance[1].time == "few" then
start = "-1"
endtime = "0"
else
elseif maintenancedata.maintenance[1].time == "intermittent" then
start = os.date("!%Y-%m-%d %T",maintenancedata.maintenance[c].start)
endtime = "0"
end
elseif maintenancedata.maintenance[1].time == "observation" then
endtime = "0"
-- 終了時間について定義
else
if maintenancedata.maintenance[c].time == "few" then
endtime = maintenancedata.maintenance[1].time
endtime = "0"
end
elseif maintenancedata.maintenance[c].time == "intermittent" then
 
endtime = "0"
 
elseif maintenancedata.maintenance[c].time == "observation" then
--メンテナンスが終わってるか判定
endtime = "0"
if endtime ~= 0 then
if ( os.difftime(os.time(), endtime) ) > 0 then
return true
else
else
return false
endtime = maintenancedata.maintenance[c].time
end
end
elseif start ~= 0 then
if ( os.difftime(os.time()+86400, starttime) ) > 0 then  
return true
--メンテナンスが終わってるか判定
if endtime ~= 0 then
if ( os.difftime(endtime, os.time()) > 0 ) then
return "true"
else
return "false"
end
elseif start ~= 0 then
if start == "-1"  then
elseif ( os.difftime(os.time()+86400, starttime) > 0 ) then  
return "true"
end
else
return "false"
end
end
else
return false
end
end
return p

2023年7月12日 (水) 17:00時点における最新版

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

local p = {}
function p.main()
	-- メンテナンス予定jsonファイル読み込み
	maintenancedata = mw.loadJsonData("module:Maintenance/data.json")
	
	--forで最後の要素までカウントする
	for index,item in ipairs(maintenancedata.maintenance) do
		c = index
	end
	-- 開始時間について定義
	if maintenancedata.maintenance[c].start == "near" then
		start = "-1"
	else
		start = os.date("!%Y-%m-%d %T",maintenancedata.maintenance[c].start)
	end
	
	-- 終了時間について定義
	if maintenancedata.maintenance[c].time == "few" then
		endtime = "0"
	elseif maintenancedata.maintenance[c].time == "intermittent" then
		endtime = "0"
	elseif maintenancedata.maintenance[c].time == "observation" then
		endtime = "0"
	else
		endtime = maintenancedata.maintenance[c].time
	end
	
	
	--メンテナンスが終わってるか判定
	if endtime ~= 0 then
		if ( os.difftime(endtime, os.time()) > 0 ) then 
			return "true"
		else
			return "false"
		end
	elseif start ~= 0 then
		if start == "-1"  then 
		elseif ( os.difftime(os.time()+86400, starttime) > 0 ) then 
			return "true"
		end
	else
		return "false"
	end
end

return p