#!/mod/bin/jimsh package require cgi source /mod/webif/lib/setup require epg.class spinner.class altrow header require totop [spinner new { text "Loading EPG Data..." size "1.2em" style "margin: 1em;" }] start require epg_popup set service [cgi_get service 4170] set records [epg dbfetch dump \ -service $service \ -sort "strftime('%%H%%J', start, 'unixepoch'), strftime('%%M', start, 'unixepoch')" \ -debug 0 ] if {[llength $records] == 0} { puts "No data for service.." exit } # Load the channel information from the first entry set tr [lindex $records 0] $tr get_channel_info set channel_num [$tr get channel_num] set channel_name [$tr get channel_name] puts "
[$tr channel_icon 40 {vertical-align:middle}] $channel_num - $channel_name
" puts "
" set t [clock seconds] set firstday [clock format $t -format {%Y%m%d}] set daymap {} loop i 0 7 { puts "" set daymap([clock format $t -format {%Y%m%d}]) $i incr t 86400 } puts " " set currhour -1 set currday -1 foreach e $records { set start [$e get start] set day [clock format $start -format "%Y%m%d"] if {$day ni $daymap} continue set hour [clock format $start -format "%H"] if {$hour != $currhour} { if {$currhour ne "-1"} { loop i $daymap($currday) 6 { puts "" } puts "
[clock format $t -format {%a}]
" puts "[clock format $t -format {%e %b}]
" } puts -nonewline "
$hour:00 " set currhour $hour set currday $firstday set newcell 1 } if {$day ne $currday} { loop i $daymap($currday) $daymap($day) { puts "" } set currday $day set newcell 1 } set class "prog" if {!$newcell} { set class "prog progp" } if {[$e get series_crid] ne ""} { set ro 2 } else { set ro 1 } set st [$e scheduled] puts "
[clock format $start -format {%H:%M}]-[clock format [$e end] -format {%H:%M}]
[$e get text] [join [$e icon_set 14] '']
" set newcell 0 } puts "
" epg cleanup footer