-- 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'
..''..#a..' 件中 '..math.min(#a,page*pageCount+1)..' - '..math.min(#a,(page+1)*pageCount)..' 件\n'
..'\n\n'
..table.concat(ctt)
..' \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'))
|