-- vim:set ft=lua: dofile(mg.script_name:gsub('[^\\/]*$','')..'util.lua') ct={title='プログラム予約'} focusID=nil post=AssertPost() if post then focusID=GetVarInt(post,'del') if focusID then edcb.DelManuAdd(focusID) ct.js='' end end edcb.htmlEscape=15 a=edcb.EnumManuAdd() pageCount=tonumber(edcb.GetPrivateProfile('SET','PAGE_COUNT','30',INI)) if pageCount==0 then pageCount=#a end focusID=focusID or GetVarInt(mg.request_info.query_string,'id') if focusID then --focusIDの行を含むページを探す focusIndex=BinarySearchBound(a,{dataID=focusID},CompareFields('dataID')) page=math.floor(math.max(math.min(focusIndex-1,#a-1),0)/pageCount) else page=GetVarInt(mg.request_info.query_string,'page',0,(#a-1)/pageCount) or 0 end ctt={} for i=page*pageCount+1,math.min(#a,(page+1)*pageCount) do dayOfWeek='' for j,v in ipairs({'日','月','火','水','木','金','土'}) do if bit32.btest(a[i].dayOfWeekFlag,2^(j-1)) then dayOfWeek=dayOfWeek..v end end endTime=(a[i].startTime+a[i].durationSecond)%(24*3600) table.insert(ctt, '' ..'\n '..a[i].title ..'\n '..dayOfWeek ..('\n %02d:%02d:%02d ~ %02d:%02d:%02d'):format(math.floor(a[i].startTime/3600),math.floor(a[i].startTime/60)%60,a[i].startTime%60,math.floor(endTime/3600),math.floor(endTime/60)%60,endTime%60) ..'\n '..(RecModeTextList()[(a[i].recSetting.recMode~=5 and a[i].recSetting.recMode or a[i].recSetting.noRecMode or 1)+1] or '') ..'\n grade'..a[i].recSetting.priority ..'\n') end pageNav=Pagination(page, a) ct.main='
\n' ..SidePanelTemplate(true) ..'
'..pageNav..'
' ..'\n' ..'\n' ..'\n\n' ..' \n' ..table.concat(ctt) ..'
'..#a..' 件中 '..math.min(#a,page*pageCount+1)..' - '..math.min(#a,(page+1)*pageCount)..' 件
番組名\n' ..' 曜日\n' ..' 時間\n' ..' 録画モード\n' ..' 優先度\n' ..'
\n
\n'..ThumbContainerTemplate()..pageNav..'
\n' ..'add' ct=Template(ct) mg.write(ct:Pop(Response(200,'text/html','utf-8',ct.len,ct.gzip)..'\r\n'))