#!/mod/bin/jimsh package require cgi source /mod/webif/lib/setup 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 { <script type=text/javascript src=/js/jquery.tablesorter.js></script> <link type=text/css href=/css/tsort.css rel=Stylesheet /> <link href=/css/jquery.contextMenu.css rel=stylesheet type=text/css /> <script type=text/javascript src=/js/jquery.contextMenu.js></script> <script type=text/javascript src=/js/jquery.form.js></script> <script type=text/javascript src=script.js></script> <div id=sdialogue></div> } proc eventheader {{table TBL_RESERVATION} note} { puts { <fieldset style="display: inline; padding: 1em"> <legend> } puts "<h3>$note</h3>" puts { </legend> <table class="borders tablesorter"> <thead> <tr> } if {$table eq "pending" } { puts "<th>Action</th>" } puts { <th></th> <th> </th><th>Channel</th> <th>Programme</th> <th>Start Time</th> <th>Duration</th> <th>Mode</th> </tr> </thead> <tbody> } } proc eventrow {event {table TBL_RESERVATION}} { global svcmap set name [$event name] set attrs "table=$table sid=[$event get ulslot] \ reckind=[$event get ucRecKind] rsvtype=[$event get ersvtype] \ ar=[expr ! [$event padded]]" altrow $attrs if {$table eq "pending"} { puts "<td align=center>[$event pendingicon]</td>" } puts "<td>[$event get ulslot]</td>" if {[$event get usLcn] ne ""} { puts " <td> [epg channelicon [$event channel_name] 50] </td> <td nowrap>[$event get usLcn]<br> [$event channel_name]</td> " } else { puts "<td> <br><br></td><td> </td>" } puts "<td nowrap> <a slot=[$event get ulslot] table=$table href=# class=schedule>$name</a>" if { ([$event get ucRecKind] == 4 && $name ne [$event folder]) || ([$event get ucRecKind] == 1 && [$event folder] ne "") } { puts "<br><span class=also> (Folder: [$event folder])</span>" } puts "</td>" set s [$event get nsttime] set d [$event get nduration] set e $($s + $d) set n [clock seconds] if {$n > $e && [$event get ersvtype] <= 3} { set ds "[clock format $s -format {%a %d %b %Y %H:%M}]" puts "<td nowrap class=va> --- -- --- ---- --:--<br> <span class=footnote>(Last: $ds)</span>" puts "</td><td>--:--:--</td>" } else { set elist [$event aul] set ds "[clock format $s -format {%a %d %b %Y %H:%M}]" puts "<td nowrap class=\"va" if {$n > $e} { puts " blood" } puts "\">" if {[llength $elist] > 0} { lassign [lindex $elist 0] service_id start end event_id if {$start == $s} { puts "<a class=event href=# xs=$svcmap($service_id) xe=$event_id> $ds</a>" } else { puts $ds } } else { puts $ds } if {$d > 0 && $n > $s && $n < $e} { puts "<br>" set perc [expr [expr $n - $s] * 100 / $d] puts "<img class=va src=/images/745_1_11_Video_1REC.png>" puts [progressbar $perc] } if {[llength $elist] > 1} { puts "<div class=also style=\"margin-top: 0.5em\">" foreach e $elist { lassign $e service_id start end event_id if {$start == $s} continue puts "<a class=event href=# xs=$svcmap($service_id) xe=$event_id> [clock format $start \ -format {%a %d %b %Y %H:%M}]</a><br>" } puts "</div>"; } puts "</td><td align=center>" puts "[clock format [$event get nduration] -format %H:%M]" if {[llength $elist] > 1} { puts "<div class=also style=\"margin-top: 0.5em\">" foreach e $elist { lassign $e service_id start end event_id if {$start == $s} continue puts "[clock format $($end - $start) \ -format {%H:%M}]<br>" } puts "</div>"; } puts "</td>" } puts "<td nowrap>[join [$event iconset] ""]</td>" puts "<td><a href=# class=smenu sid=[$event get ulslot]> <img border=0 src=/img/more_btn.gif></a></td>" puts "</tr>" } proc eventfooter {} { puts "</tbody></table></fieldset>" } set events [rsv list pending] if {[llength $events] > 0} { eventheader pending "Pending Scheduled Events" foreach event $events {eventrow $event pending} eventfooter puts { <small> <button onclick="window.location='/cgi-bin/db.jim?db=rsvp.db&tab=pending';"> Raw database view </button> </small> } } set events [rsv list] eventheader "live" "Scheduled Events" foreach event $events {eventrow $event} eventfooter puts { <br> <small> <button onclick="window.location='/backup.shtml';"> Backup/Restore Scheduled Recordings/Events </button> <button onclick="window.location='/cgi-bin/db.jim?db=rsv.db&tab=TBL_RESERVATION';"> Raw database view </button> <script type=text/javascript> $('button').button(); </script> } source assets.jim footer