forked from hummypkg/webif
d7284ff3ef
git-svn-id: file:///root/webif/svn/humax/pkg/src/webif/trunk@1016 2a923420-c742-0410-a762-8d5b09965624
139 lines
3.0 KiB
Plaintext
Executable File
139 lines
3.0 KiB
Plaintext
Executable File
#!/mod/bin/jimsh
|
|
|
|
package require cgi
|
|
package require sqlite3
|
|
source /mod/webif/lib/setup
|
|
require altrow progressbar epg.class
|
|
|
|
puts "Content-Type: text/html"
|
|
puts ""
|
|
|
|
header
|
|
|
|
cgi_input
|
|
|
|
proc f2c {frequency} {
|
|
set ch int($((($frequency / 1000) - 303.25) / 8))
|
|
return [expr int($ch)]
|
|
}
|
|
|
|
if {[catch {set db [sqlite3.open /var/lib/humaxtv/channel.db]} msg]} {
|
|
puts "Error opening channel database: $msg"
|
|
exit
|
|
}
|
|
|
|
puts "
|
|
<button id=expandall>Expand All</button>
|
|
<button id=collapseall>Collapse All</button>
|
|
<br><br>
|
|
<table class=borders>
|
|
<tr>
|
|
<th>Channel</th>
|
|
<th>Frequency</th>
|
|
<th>Signal Strength</th>
|
|
<th>Signal Quality</th>
|
|
<th>Network</th>
|
|
<th>Mux</th>
|
|
<th>Channels</th>
|
|
<th>>799</th>
|
|
</tr>
|
|
"
|
|
foreach tw [$db query {
|
|
select tsIdx, szNetName, usTsID, ulFrequency, ucLevel, ucQuality
|
|
from TBL_TS join TBL_NET using (netIdx)
|
|
order by ulFrequency
|
|
}] {
|
|
lassign $tw \
|
|
x tsIdx x netName x usTsID x ulFrequency x ucLevel x ucQuality
|
|
|
|
altrow
|
|
puts "
|
|
<td>[f2c $ulFrequency]</td>
|
|
<td>[expr $ulFrequency / 1000.0] MHz</td>
|
|
"
|
|
puts "<td>[progressbar $ucLevel]</td>"
|
|
puts "<td>[progressbar $ucQuality]</td>"
|
|
puts "<td>[string range $netName 3 end]</td>"
|
|
|
|
set channels [$db query {
|
|
select usLcn, szSvcName, szPrvName, aucDefaultAuthority
|
|
from TBL_SVC left join TBL_PRV using (prvIdx)
|
|
where tsIdx = %s
|
|
order by usLcn
|
|
} $tsIdx]
|
|
|
|
set mux "Local"
|
|
set ehs 0
|
|
foreach chan $channels {
|
|
lassign $chan x lcn x name
|
|
set name [string range $name 1 end]
|
|
if {$lcn >= 800} { incr ehs }
|
|
switch $name {
|
|
"BBC ONE" { set mux "PSB1/BBC A" }
|
|
"ITV1" { set mux "PSB2/D3&4" }
|
|
"BBC One HD" { set mux "PSB3/BBC B (HD)" }
|
|
"ITV3" { set mux "COM4/SDN" }
|
|
"Dave" { set mux "COM5/ARQ A" }
|
|
"Film4" { set mux "COM6/ARQ B" }
|
|
"Movies4Men" { set mux "Local" }
|
|
}
|
|
}
|
|
puts "<td>$mux</td>"
|
|
|
|
puts "<td>[llength $channels]
|
|
<a class=mchan ts=$tsIdx href=#>
|
|
<img border=0 height=14
|
|
src=/images/421_1_00_CH_Title_2R_Arrow.png>
|
|
view
|
|
</a></td>"
|
|
puts "<td>$ehs</th>"
|
|
puts "</tr>"
|
|
puts "<tr id=mchan_$tsIdx class=mchan style=\"display: none\">
|
|
<td colspan=5>"
|
|
puts "<table style=\"margin-left: 5em\">"
|
|
puts "<tr>
|
|
<th colspan=3>Channel</th>
|
|
<th>Provider</th>
|
|
<th>Authority</th>
|
|
</tr>"
|
|
foreach chan $channels {
|
|
lassign $chan x lcn x name x prv x auth
|
|
set name [string range $name 1 end]
|
|
set prv [string range $prv 3 end]
|
|
altrow
|
|
puts "<td class=va>"
|
|
puts "[epg channelicon $name 50]</td>
|
|
<td>$lcn</td><td>$name</td>"
|
|
puts "</td><td>"
|
|
puts $prv
|
|
puts "</td><td>"
|
|
puts $auth
|
|
puts "</td>"
|
|
puts "</tr>"
|
|
}
|
|
puts "</table>"
|
|
puts "</td></tr>"
|
|
}
|
|
|
|
puts "</table>"
|
|
|
|
puts {
|
|
<script type=text/javascript>
|
|
|
|
$(document).ready(function() {
|
|
$('a.mchan').click(function(e) {
|
|
e.preventDefault();
|
|
$('#mchan_' + $(this).attr('ts')).slideToggle('slow');
|
|
});
|
|
$('#expandall').button().click(function() {
|
|
$('tr.mchan').slideDown('slow');
|
|
});
|
|
$('#collapseall').button().click(function() {
|
|
$('tr.mchan').slideUp('slow');
|
|
});
|
|
});
|
|
|
|
</script>
|
|
}
|
|
|