-- vim:set ft=lua: dofile(mg.script_name:gsub('[^\\/]*$','')..'util.lua') ct=CreateContentBuilder(GZIP_THRESHOLD_BYTE) ct:Append([=[

# メニュー

]=]) if INDEX_ENABLE_SUSPEND then ct:Append([=[
]=]..(INDEX_SUSPEND_USE_HIBERNATE and [=[
]=] or [=[
]=])..[=[
]=]) end ct:Append([=[
]=]) post=AssertPost() edcbnosuspend=EdcbModulePath()..'\\Tools\\edcbnosuspend.exe' if edcb.FindFile(edcbnosuspend,1) then onstat=post and mg.get_var(post,'nosuspend') if not onstat then onstat,stat,code=edcb.os.execute('wmic process where "name=\'edcbnosuspend.exe\'" get processid 2>nul | findstr /b [1-9]') onstat=onstat and stat=='exit' and code==0 and 'y' end ct:Append([=[
]=]) end if post then if mg.get_var(post,'suspend') or mg.get_var(post,'hibernate') then if INDEX_ENABLE_SUSPEND then for i=1,100 do f=edcb.io.open('\\\\.\\pipe\\EpgTimerSrvNoWaitPipe','r+b') if f then --CMD_EPG_SRV_SUSPEND(=1051)を送る f:write(string.char(1051%256,math.floor(1051/256),0,0)) f:write(string.char(2,0,0,0,(mg.get_var(post,'hibernate') and 2 or 1),255)) f:flush() --CMD_SUCCESS(=1)を確認 ok=(f:read(4) or '')=='\1\0\0\0' f:close() break end edcb.Sleep(10) end end ct:Append('
スタンバイに移行'..(ok and 'します' or 'できません (もうすぐ予約が始まるなど)')..'
\n') elseif mg.get_var(post,'epgcap') then ct:Append('
EPG取得を開始'..(edcb.EpgCapNow() and 'しました' or 'できませんでした')..'
\n') elseif mg.get_var(post,'epgreload') then ct:Append('
EPG再読み込みを開始'..(edcb.ReloadEpg() and 'しました' or 'できませんでした')..'
\n') elseif mg.get_var(post,'nosuspend')=='y' then edcb.os.execute('start "" /b "'..edcbnosuspend..'" -') ct:Append('
edcbnosuspend.exeを起動しました
\n') elseif mg.get_var(post,'nosuspend')=='n' then edcb.os.execute('wmic process where "name=\'edcbnosuspend.exe\'" call terminate >nul') ct:Append('
edcbnosuspend.exeを停止しました
\n') end end ct:Append([=[
]=]) ct:Finish() mg.write(ct:Pop(Response(200,'text/html','utf-8',ct.len)..(ct.gzip and 'Content-Encoding: gzip\r\n' or '')..'\r\n'))