forked from hummypkg/webif
2a4ec43ef6
git-svn-id: file:///root/webif/svn/humax/pkg/src/webif/trunk@1716 2a923420-c742-0410-a762-8d5b09965624
256 lines
5.5 KiB
Plaintext
Executable File
256 lines
5.5 KiB
Plaintext
Executable File
#!/mod/bin/jimsh
|
|
|
|
package require cgi
|
|
source /mod/webif/lib/setup
|
|
require altrow rsv.class progressbar epg.class system.class
|
|
|
|
header
|
|
|
|
set svcmap {}
|
|
lmap i \
|
|
[$::channeldb query {select hSvc, usSvcid from TBL_SVC}] \
|
|
{
|
|
set svcmap([lindex $i 1]) [lindex $i 3]
|
|
}
|
|
set svckeys [array names svcmap]
|
|
|
|
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} {pending 0}} {
|
|
global svcmap svckeys
|
|
|
|
set name [$event name]
|
|
|
|
set attrs "table=$table sid=[$event get ulslot] \
|
|
reckind=[$event get ucRecKind] rsvtype=[$event get ersvtype] \
|
|
ar=[expr ! [$event padded]]"
|
|
if {$pending} {
|
|
append attrs " class=\"blueshade strike\""
|
|
}
|
|
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>"
|
|
incr ::ended
|
|
} 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 && $service_id in $svckeys} {
|
|
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
|
|
if {$service_id in $svckeys} {
|
|
puts "<a class=event href=#
|
|
xs=$svcmap($service_id) xe=$event_id>
|
|
[clock format $start \
|
|
-format {%a %d %b %Y %H:%M}]</a><br>"
|
|
} else {
|
|
puts "[clock format $start \
|
|
-format {%a %d %b %Y %H:%M}]
|
|
($service_id)<br>"
|
|
}
|
|
}
|
|
puts "</div>";
|
|
}
|
|
|
|
puts "</td><td align=center>"
|
|
set xndur [$event get nduration]
|
|
if {$xndur > 0} {
|
|
puts "[clock format $xndur -format %H:%M]"
|
|
} else {
|
|
puts "--:--:--"
|
|
}
|
|
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>"
|
|
}
|
|
|
|
proc ekey {event} {
|
|
set ret ""
|
|
foreach key {ersvtype nsttime nduration hsvc usevtid} {
|
|
append ret ".[$event get $key]"
|
|
}
|
|
return $ret
|
|
}
|
|
|
|
set pmap {}
|
|
set events [rsv list pending]
|
|
set ended 0
|
|
if {[llength $events] > 0} {
|
|
eventheader pending "Pending Scheduled Events"
|
|
foreach event $events {
|
|
eventrow $event pending
|
|
lappend pmap [ekey $event]
|
|
}
|
|
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]
|
|
set ended 0
|
|
eventheader "live" "Scheduled Events"
|
|
foreach event $events {
|
|
if {[ekey $event] in $pmap} {
|
|
eventrow $event TBL_RESERVATION 1
|
|
} else {
|
|
eventrow $event
|
|
}
|
|
}
|
|
eventfooter
|
|
|
|
puts {
|
|
<br>
|
|
<small>
|
|
<button onclick="window.location='/backup.shtml';">
|
|
Backup/Restore Scheduled Recordings/Events
|
|
</button>
|
|
}
|
|
|
|
if {$ended} {
|
|
puts { <button id=schedule_cleanup>Cleanup old recordings</button> }
|
|
}
|
|
|
|
puts {
|
|
<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
|
|
|