-- vim:set ft=lua: dofile(mg.script_name:gsub('[^\\/]*$','')..'util.lua') vtag=GetVarInt(mg.request_info.query_string,'vtag') or -1 ct=CreateContentBuilder(GZIP_THRESHOLD_BYTE) ct:Append((vtag<=0 and DOCTYPE_HTML4_STRICT or '\n')..[=[

# 録画済み詳細

]=]) id=GetVarInt(mg.request_info.query_string,'id') or 0 xq=GetTranscodeQueries(mg.request_info.query_string) post=AssertPost() if post then if mg.get_var(post,'protect') then edcb.ChgProtectRecFileInfo(id,mg.get_var(post,'protect')=='y') ct:Append('
変更しました
\n') elseif mg.get_var(post,'del') then edcb.DelRecFileInfo(id) ct:Append('
削除しました
\n') end end w=edcb.GetRecFileInfoBasic(id) edcb.htmlEscape=15 v=edcb.GetRecFileInfo(id) if v then if #v.programInfo>0 then v.programInfo=DecorateUri(v.programInfo) elseif v.eid~=65535 then --過去番組情報を探してみる ev=edcb.EnumEventInfoArchive and edcb.EnumEventInfoArchive({{onid=v.onid,tsid=v.tsid,sid=v.sid}},{startTime=v.startTime,durationSecond=1}) if ev and #ev>0 then v.programInfo=ConvertProgramText(ev[1]) else --番組情報を探してみる ev=edcb.SearchEpg(v.onid,v.tsid,v.sid,v.eid) if ev and ev.startTime and os.time(ev.startTime)==os.time(v.startTime) then v.programInfo=ConvertProgramText(ev) end end end ct:Append('

\n' ..'
番組名
  '..FormatTimeAndDuration(v.startTime, v.durationSecond)..'
  '..v.serviceName..'
  '..v.title..'
\n' ..'
結果
  '..v.comment..'
\n' ..'
ドロップ
  '..v.drops..'
\n' ..'
スクランブル
  '..v.scrambles..'
\n' ..'
ファイル →Video' or '0">DL')..'
  \n') ref=w and NativeToDocumentPath(w.recFilePath) if ref then xlist={table.unpack(MEDIA_EXTENSION_LIST)} xlist[#xlist+1]='' for i,ext in ipairs(xlist) do ff=EdcbFindFilePlain(w.recFilePath..ext) if ff then ct:Append((vtag==i and VideoWrapperBegin() ..'/'..EdcbHtmlEscape(ref..ext)..(vtag==i and ''..VideoWrapperEnd()..'\n'..VideoScriptTemplate() or '')) if ext=='' then fsec,fsize=0,0 f=edcb.io.open(w.recFilePath,'rb') if f then fsec,fsize=GetDurationSec(f) f:close() end ct:Append(' ('..('%dm%02ds|'):format(math.floor(fsec/60),fsec%60)..math.floor(fsize/1048576)..'M)
  \n' ..'
  \n' ..(vtag==0 and '\n' or '\n\n' ..'\n') ..'
  \n' ..TranscodeSettingTemplate(xq,fsec) ..'
  ') if vtag==10 then src='xcode.lua?fname='..mg.url_encode(ref)..ConstructTranscodeQueries(xq) ct:Append('\n'..VideoWrapperBegin() ..'xcode'..VideoWrapperEnd()..'\n' ..'
  '..src..'
  \n'..TranscodeScriptTemplate(false,xq.caption,xq.jikkyo,{ofssec=fsec*(xq.offset or 0)/100,fast=xq.fast})) if ALLOW_HLS then ct:Append(HlsScriptTemplate('xcode.lua')) end end else ct:Append(' ('..math.floor(ff.size/1048576)..'M)' ..(vtag==0 and '\n[Mux-to-TS]' or '')..'
  \n') end end end end ct:Append('
\n' ..'
プロテクト
  \n' ..'
  \n' ..'\n' ..'\n' ..'
\n' ..(#v.programInfo>0 and '
番組情報
  \n'..v.programInfo:gsub('\r?\n', '
  \n')..'
\n' or '') ..(#v.errInfo>0 and '
エラーログ
  \n'..v.errInfo:gsub('\r?\n', '
  \n')..'
\n' or '') ..'
-
  \n' ..'
  \n' ..'\n' ..'\n' ..'
\n' ..'

\n') end ct:Append([=[
]=]) ct:Finish() mg.write(ct:Pop(Response(200,'text/html','utf-8',ct.len,ct.gzip)..'\r\n'))