-- vim:set ft=lua: dofile(mg.script_name:gsub('[^\\/]*$','')..'util.lua') oneseg=tonumber(edcb.GetPrivateProfile('GUIDE','oneseg',false,ini))~=0 webPanel=mg.get_var(mg.request_info.query_string,'webpanel') ct={ title='放送中', video='live', js='
\n', progres=true, macro=sidePanel, menu='
- 強制停止
' ..'
- 字幕の読み込み
' ..'
- ポップアップ
\n' ..'
- アプリで開く
\n' ..'
\n' ..'
- サブチャンネル
\n' } if webPanel then ct.css='
' end rt={} for i,v in ipairs(edcb.GetReserveData()) do rt[v.onid..'-'..v.tsid..'-'..v.sid..'-'..v.eid]=v.reserveID end ct.main='
\n' ..'
\n' ..(USE_LIVEJK and '
\n' or '') ..(sidePanel and sidePanelTemplate() or '') ..'
\n' edcb.htmlEscape=15 NetworkList={} for i,v in ipairs(NetworkIndex()) do NetworkList[i]={} end utc9Now=os.time()+9*3600 function Logo(onid,sid) ddid=tonumber(edcb.GetPrivateProfile('LogoIDMap',('%04X%04X'):format(onid,sid),'','Setting\\LogoData.ini')) if ddid then dir=EdcbSettingPath()..'\\LogoData\\' ff=edcb.FindFile(dir..('%04X_%03X_*'):format(onid,ddid),6) or {} -- ファイル名の末尾2桁はロゴタイプ(STD-B21) for i,v in ipairs({'05%.png','02%.png','04%.png','01%.png','03%.png','00%.png'}) do for j,w in ipairs(ff) do if w.name:lower():find(v..'$') then return true end end end end if LOGO_DIR then fname=nil f=edcb.io.open(LOGO_INI,'rb') if f then -- ロゴ識別とServiceIDとの対応を調べる ddid=tonumber(f:read('*a'):upper():match(('\n%04X%04X=(%%d+)'):format(onid,sid))) f:close() if ddid then ff=edcb.FindFile(LOGO_DIR..('\\%04X_%03X_*'):format(onid,ddid),12) or {} -- ファイル名の末尾2桁はロゴタイプ(STD-B21)であると期待 for i,v in ipairs({'05%.png','05%.bmp','02%.png','02%.bmp','04%.png','04%.bmp','01%.png','01%.bmp','03%.png','03%.bmp','00%.png','00%.bmp'}) do for j,w in ipairs(ff) do if w.name:lower():find(v..'$') then return true end end end end end else fname=('%04X%04X.png'):format(onid,sid) f=edcb.io.open(DocumentToNativePath('img/logo/'..fname),'rb') if not f then fname=('%04X%04X.bmp'):format(onid,sid) f=edcb.io.open(DocumentToNativePath('img/logo/'..fname),'rb') end if f then return true end end return false end for i,v in ipairs(CustomServiceList()) do if (oneseg or not v.partialReceptionFlag) then x={eid=0, startTime=os.date('!*t',utc9Now)} y=x b=edcb.EnumEventInfo({{onid=v.onid, tsid=v.tsid, sid=v.sid}}, {startTime=os.date('!*t',utc9Now-24*3600), durationSecond=48*3600}) or {} table.sort(b, function(a,b) return os.time(a.startTime)\n' ..'' ..'' or '>tv')..''..v.service_name ..'\n' ..''..os.date('!%H:%M', x_startTime)..'～'..os.date('!%H:%M', x_endTime)..''..(x.shortInfo and ConvertTitle(x.shortInfo.event_name) or '')..'\n' ..''..os.date('!%H:%M', y_startTime)..'～'..(y_endTime and os.date('!%H:%M', y_endTime) or '未定')..''..(y.shortInfo and ConvertTitle(y.shortInfo.event_name) or '')..'\n' ..'' ..(webPanel and '' or '
\n') ..'
' ..'\n' ) end end ctt={} ct.tab='' for i,v in ipairs(NetworkList) do if #v>0 then ct.tab=ct.tab..''..NetworkIndex()[i]..'\n' table.insert(ctt, '

\n'..table.concat(v)..'

\n') end end ct.main=ct.main..table.concat(ctt)..'
\n' ct=template(ct) mg.write(ct:Pop(Response(200,'text/html','utf-8',ct.len)..(ct.gzip and 'Content-Encoding: gzip\r\n' or '')..'\r\n'))