diff --git a/var/mongoose/html/sched/sched.jim b/var/mongoose/html/sched/sched.jim index f95197f..5b70768 100755 --- a/var/mongoose/html/sched/sched.jim +++ b/var/mongoose/html/sched/sched.jim @@ -7,8 +7,17 @@ require altrow rsv.class progressbar epg.class system.class puts "Content-Type: text/html" puts "" +set svcmap {} +lmap i \ + [$::channeldb query {select hSvc, usSvcid from TBL_SVC}] \ + { + set svcmap([lindex $i 1]) [lindex $i 3] + } + header +require epg_popup + puts { @@ -17,7 +26,7 @@ puts { -
+
} proc eventheader {{table TBL_RESERVATION} note} { @@ -49,6 +58,8 @@ proc eventheader {{table TBL_RESERVATION} note} { } proc eventrow {event {table TBL_RESERVATION}} { + global svcmap + set name [$event name] set attrs "table=$table sid=[$event get ulslot] \ @@ -83,6 +94,7 @@ proc eventrow {event {table TBL_RESERVATION}} { } { puts "
 (Folder: [$event folder])" } + puts "" set s [$event get nsttime] @@ -97,11 +109,26 @@ proc eventrow {event {table TBL_RESERVATION}} { (Last: $ds)" puts "--:--:--" } else { - set ds "[clock format $s -format "%a %d %b %Y"]
- [clock format $s -format "%H:%M %Z"]" + set elist [$event aul] + + set ds "[clock format $s -format {%a %d %b %Y %H:%M}]" puts " $e} { puts " blood" } - puts "\">$ds" + puts "\">" + + if {[llength $elist] > 0} { + lassign [lindex $elist 0] service_id start end event_id + if {$start == $s} { + puts " + $ds" + } else { + puts $ds + } + } else { + puts $ds + } + if {$d > 0 && $n > $s && $n < $e} { puts "
" set perc [expr [expr $n - $s] * 100 / $d] @@ -109,8 +136,34 @@ proc eventrow {event {table TBL_RESERVATION}} { src=/images/745_1_11_Video_1REC.png>" puts [progressbar $perc] } - puts "" - puts "[clock format [$event get nduration] -format %T]" + + if {[llength $elist] > 1} { + puts "
" + foreach e $elist { + lassign $e service_id start end event_id + if {$start == $s} continue + puts " + [clock format $start \ + -format {%a %d %b %Y %H:%M}]
" + } + puts "
"; + } + + puts "" + puts "[clock format [$event get nduration] -format %H:%M]" + if {[llength $elist] > 1} { + puts "
" + foreach e $elist { + lassign $e service_id start end event_id + if {$start == $s} continue + puts "[clock format $($end - $start) \ + -format {%H:%M}]
" + } + puts "
"; + } + + puts "" } puts "[join [$event iconset] ""]" diff --git a/var/mongoose/html/sched/script.js b/var/mongoose/html/sched/script.js index 84ed7ca..f7ad6c8 100755 --- a/var/mongoose/html/sched/script.js +++ b/var/mongoose/html/sched/script.js @@ -37,8 +37,8 @@ $('table.tablesorter thead th').filter('[class!=header]') function docancel() { - var table = $('#dialogue').attr('table'); - var slot = $('#dialogue').attr('slot'); + var table = $('#sdialogue').attr('table'); + var slot = $('#sdialogue').attr('slot'); if (confirm('Really remove scheduled event?')) { @@ -46,7 +46,7 @@ function docancel() '&table=' + table, function() { window.location.reload(true); }); - $('#dialogue').dialog('close'); + $('#sdialogue').dialog('close'); } } @@ -57,14 +57,14 @@ var $buttons2 = $.extend( {"Cancel Event": function() { docancel() }}, $buttons1); -var $dialog = $('#dialogue').dialog({ +var $dialog = $('#sdialogue').dialog({ title: "Schedule Details", modal: false, autoOpen: false, height: 500, width: 700, show: 'scale', hide: 'fade', draggable: true, resizable: true, buttons: $buttons2, - close: function(e,u) { $('#dialogue').empty().html( + close: function(e,u) { $('#sdialogue').empty().html( 'loading'); } }); @@ -73,11 +73,11 @@ function schedpopup(e, o) e.preventDefault(); var slot = o.attr('slot'); var table = o.attr('table'); - $('#dialogue').attr('slot', slot).attr('table', table); + $('#sdialogue').attr('slot', slot).attr('table', table); var url = 'info.jim?slot=' + slot + '&table=' + table; - $('#dialogue').load(url); + $('#sdialogue').load(url); $dialog.dialog('open'); } $('a.schedule').click(function(e) { schedpopup(e, $(this)) }); diff --git a/var/mongoose/lib/epg.class b/var/mongoose/lib/epg.class index 295184d..a59dbd1 100644 --- a/var/mongoose/lib/epg.class +++ b/var/mongoose/lib/epg.class @@ -419,7 +419,7 @@ proc {epg dbfetch} {mode args} { lappend records [epg new $rec] } } msg]} { - puts "No cached EPG data, try again later." + puts "No cached EPG data, try again later ($msg)." } return $records } diff --git a/var/mongoose/lib/epg_popup b/var/mongoose/lib/epg_popup index dc0b4be..4dfdd16 100644 --- a/var/mongoose/lib/epg_popup +++ b/var/mongoose/lib/epg_popup @@ -65,7 +65,10 @@ $(document).ready(function() { .attr('xe', o.attr('xe')); $dialog.dialog('open'); } - $('a.event').click(function(e) { epgpopup(e, $(this)) }); + $('a.event').click(function(e) { + e.preventDefault(); + epgpopup(e, $(this)) + }); }); } diff --git a/var/mongoose/lib/rsv.class b/var/mongoose/lib/rsv.class index 516854f..d868ef3 100755 --- a/var/mongoose/lib/rsv.class +++ b/var/mongoose/lib/rsv.class @@ -60,7 +60,7 @@ rsv method aul {} { for {set i 0} {$i < [string length $aulEventToRecordInfo]} {incr i 16} { binary scan [string range $aulEventToRecordInfo $i $($i + 15)] \ iiii service start end event_id - lappend aul [list $service $start $end $event_id] + catch {lappend aul [list $service $start $end $event_id]} } return $aul }