new service screen
git-svn-id: file:///root/webif/svn/humax/pkg/src/webif/trunk@1788 2a923420-c742-0410-a762-8d5b09965624
This commit is contained in:
parent
23cc31a02a
commit
8c4449ee36
@ -1,10 +1,10 @@
|
|||||||
Package: webif
|
Package: webif
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: web
|
Section: web
|
||||||
Version: 1.0.8-6
|
Version: 1.0.8-7
|
||||||
Architecture: mipsel
|
Architecture: mipsel
|
||||||
Maintainer: af123@hummypkg.org.uk
|
Maintainer: af123@hummypkg.org.uk
|
||||||
Depends: webif-channelicons(>=1.1.8),mongoose(>=3.0-9),jim(>=0.74-4),jim-oo,jim-sqlite3(>=0.74-1),jim-cgi(>=0.7),jim-binary,service-control(>=1.2),busybox(>=1.20.2-1),lsof,epg(>=1.0.13),hmt(>=1.1.14),ssmtp,anacron,trm(>=1.1),openssl-command,nicesplice,id3v2,file,rsvsync(>=1.0.2),webif-charts(>=1.2),stripts(>=1.2.5-3),smartmontools,tmenu(>=1.05),ffmpeg,id3v2,multienv(>=1.6)
|
Depends: webif-channelicons(>=1.1.8),mongoose(>=3.0-9),jim(>=0.74-4),jim-oo,jim-sqlite3(>=0.74-1),jim-cgi(>=0.7),jim-binary,service-control(>=1.2),busybox(>=1.20.2-1),lsof,epg(>=1.0.13),hmt(>=1.1.14),ssmtp,anacron,trm(>=1.1),openssl-command,nicesplice,id3v2,file,rsvsync(>=1.0.2),webif-charts(>=1.2),stripts(>=1.2.5-3),smartmontools,tmenu(>=1.05),ffmpeg,id3v2,multienv(>=1.6)
|
||||||
Suggests:
|
Suggests:
|
||||||
Description: An evolving web interface for the Humax.
|
Description: An evolving web interface for the Humax. [Replacement single-channel view screen (in-progress).]
|
||||||
Tags: http://hummy.tv/forum/threads/webif-version-1-0-8-released.4553/
|
Tags: http://hummy.tv/forum/threads/webif-version-1-0-8-released.4553/
|
||||||
|
68
var/mongoose/cgi-bin/epg/service.css
Normal file
68
var/mongoose/cgi-bin/epg/service.css
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
|
||||||
|
table.weekview
|
||||||
|
{
|
||||||
|
width: 100%;
|
||||||
|
border: 1px solid red;
|
||||||
|
}
|
||||||
|
|
||||||
|
th.day, th.hour, td.dayhour
|
||||||
|
{
|
||||||
|
border: solid 1px #d3d3d3;
|
||||||
|
}
|
||||||
|
|
||||||
|
th.day, th.hour
|
||||||
|
{
|
||||||
|
background: #ccff99;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
th.day
|
||||||
|
{
|
||||||
|
text-align: center;
|
||||||
|
font-size: 1.2em;
|
||||||
|
width: 13%;
|
||||||
|
}
|
||||||
|
|
||||||
|
th.hour
|
||||||
|
{
|
||||||
|
vertical-align: top;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 1.3em;
|
||||||
|
padding: 8px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
td.dayhour
|
||||||
|
{
|
||||||
|
vertical-align: top;
|
||||||
|
background: #ffffcc;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.prog
|
||||||
|
{
|
||||||
|
margin: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.progp
|
||||||
|
{
|
||||||
|
padding-top: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.time
|
||||||
|
{
|
||||||
|
font-size: 1.3em;
|
||||||
|
opacity: 0.6;
|
||||||
|
margin-bottom: 0.4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.title
|
||||||
|
{
|
||||||
|
font-size: 1.1em;
|
||||||
|
text-weight: bold;
|
||||||
|
margin-bottom: 0.4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.synopsis
|
||||||
|
{
|
||||||
|
font-size: 0.9em;
|
||||||
|
}
|
||||||
|
|
@ -16,52 +16,117 @@ require totop
|
|||||||
|
|
||||||
require epg_popup
|
require epg_popup
|
||||||
|
|
||||||
set service [cgi_get service 4351]
|
set service [cgi_get service 4170]
|
||||||
set records [epg fetch dump -service $service]
|
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]
|
set tr [lindex $records 0]
|
||||||
$tr get_channel_info
|
$tr get_channel_info
|
||||||
set channel_num [$tr get channel_num]
|
set channel_num [$tr get channel_num]
|
||||||
set channel_name [$tr get channel_name]
|
set channel_name [$tr get channel_name]
|
||||||
|
|
||||||
puts "
|
puts "
|
||||||
|
<link type=text/css rel=Stylesheet href=service.css />
|
||||||
<div style=\"margin: 0 1em 1em 1em\">
|
<div style=\"margin: 0 1em 1em 1em\">
|
||||||
[$tr channel_icon 80 {vertical-align:middle}]
|
[$tr channel_icon 40 {vertical-align:middle}]
|
||||||
<span style=\"vertical-align: middle\">
|
<span style=\"vertical-align: middle\">
|
||||||
$channel_num - $channel_name
|
$channel_num - $channel_name
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
"
|
"
|
||||||
|
|
||||||
puts {
|
puts "
|
||||||
<table class=borders>
|
<div class=weekview>
|
||||||
<tr>
|
<table class=weekview>
|
||||||
<th></th>
|
<thead>
|
||||||
<th>Date</th>
|
<tr>
|
||||||
<th>Time</th>
|
<th class=hour></th>
|
||||||
<th>Programme</th>
|
"
|
||||||
<th>Synopsis</th>
|
set t [clock seconds]
|
||||||
</tr>
|
set firstday [clock format $t -format {%Y%m%d}]
|
||||||
|
set daymap {}
|
||||||
|
loop i 0 7 {
|
||||||
|
puts "<th class=\"day day-$i\">[clock format $t -format {%a}]<br>"
|
||||||
|
puts "[clock format $t -format {%e %b}]</th>"
|
||||||
|
set daymap([clock format $t -format {%Y%m%d}]) $i
|
||||||
|
incr t 86400
|
||||||
|
}
|
||||||
|
puts "
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
"
|
||||||
|
|
||||||
|
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 "</td><td class=\"dayhour\">"
|
||||||
|
}
|
||||||
|
puts -nonewline "</td></tr>"
|
||||||
|
}
|
||||||
|
puts "
|
||||||
|
<tr class=\"hour\">
|
||||||
|
<th class=hour>$hour:00</th>
|
||||||
|
<td class=\"dayhour\">
|
||||||
|
"
|
||||||
|
set currhour $hour
|
||||||
|
set currday $firstday
|
||||||
|
set newcell 1
|
||||||
|
}
|
||||||
|
if {$day ne $currday} {
|
||||||
|
loop i $daymap($currday) $daymap($day) {
|
||||||
|
puts "</td><td class=\"dayhour\">"
|
||||||
|
}
|
||||||
|
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 "
|
||||||
|
<div class=\"$class\">
|
||||||
|
<div class=time>
|
||||||
|
[clock format $start -format {%H:%M}]-[clock format [$e end] -format {%H:%M}]
|
||||||
|
</div>
|
||||||
|
<div class=title>
|
||||||
|
<a class=event href=# xs=$service xe=[$e get event_id] sch=$st rec=$ro>
|
||||||
|
[$e get name]
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class=synopsis>[$e get text] [join [$e icon_set 14] '']</div>
|
||||||
|
</div>
|
||||||
|
"
|
||||||
|
set newcell 0
|
||||||
}
|
}
|
||||||
|
|
||||||
set i 0
|
puts "
|
||||||
foreach record $records {
|
</td>
|
||||||
altrow
|
</tr>
|
||||||
#$record get_channel_info
|
</tbody>
|
||||||
set ended [$record ended]
|
</table>
|
||||||
if {[$record showing]} {
|
</div>
|
||||||
puts "<td><img src=/images/111_1_00_Cursor_2R_Arrow.png></td>"
|
"
|
||||||
} else { puts "<td></td>" }
|
|
||||||
if $ended { puts "<td nowrap class=blood>" } else { puts "<td nowrap>" }
|
|
||||||
puts "[clock format [$record get start] -format "%a %d %b %Y"]</td>"
|
|
||||||
if $ended { puts "<td nowrap class=blood>" } else { puts "<td nowrap>" }
|
|
||||||
puts "[clock format [$record get start] -format "%H:%M"]</td>"
|
|
||||||
puts [$record cell]
|
|
||||||
puts "<td>[$record get text]</td>"
|
|
||||||
puts "<td>[$record get warning]</td>"
|
|
||||||
puts "</tr>"
|
|
||||||
}
|
|
||||||
puts "</table>"
|
|
||||||
|
|
||||||
epg cleanup
|
epg cleanup
|
||||||
footer
|
footer
|
||||||
|
68
var/mongoose/cgi-bin/epg/xservice.jim
Executable file
68
var/mongoose/cgi-bin/epg/xservice.jim
Executable file
@ -0,0 +1,68 @@
|
|||||||
|
#!/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 4351]
|
||||||
|
set records [epg fetch dump -service $service]
|
||||||
|
|
||||||
|
set tr [lindex $records 0]
|
||||||
|
$tr get_channel_info
|
||||||
|
set channel_num [$tr get channel_num]
|
||||||
|
set channel_name [$tr get channel_name]
|
||||||
|
|
||||||
|
puts "
|
||||||
|
<div style=\"margin: 0 1em 1em 1em\">
|
||||||
|
[$tr channel_icon 80 {vertical-align:middle}]
|
||||||
|
<span style=\"vertical-align: middle\">
|
||||||
|
$channel_num - $channel_name
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
"
|
||||||
|
|
||||||
|
puts {
|
||||||
|
<table class=borders>
|
||||||
|
<tr>
|
||||||
|
<th></th>
|
||||||
|
<th>Date</th>
|
||||||
|
<th>Time</th>
|
||||||
|
<th>Programme</th>
|
||||||
|
<th>Synopsis</th>
|
||||||
|
</tr>
|
||||||
|
}
|
||||||
|
|
||||||
|
set i 0
|
||||||
|
foreach record $records {
|
||||||
|
altrow
|
||||||
|
#$record get_channel_info
|
||||||
|
set ended [$record ended]
|
||||||
|
if {[$record showing]} {
|
||||||
|
puts "<td><img src=/images/111_1_00_Cursor_2R_Arrow.png></td>"
|
||||||
|
} else { puts "<td></td>" }
|
||||||
|
if $ended { puts "<td nowrap class=blood>" } else { puts "<td nowrap>" }
|
||||||
|
puts "[clock format [$record get start] -format "%a %d %b %Y"]</td>"
|
||||||
|
if $ended { puts "<td nowrap class=blood>" } else { puts "<td nowrap>" }
|
||||||
|
puts "[clock format [$record get start] -format "%H:%M"]</td>"
|
||||||
|
puts [$record cell]
|
||||||
|
puts "<td>[$record get text]</td>"
|
||||||
|
puts "<td>[$record get warning]</td>"
|
||||||
|
puts "</tr>"
|
||||||
|
}
|
||||||
|
puts "</table>"
|
||||||
|
|
||||||
|
epg cleanup
|
||||||
|
footer
|
||||||
|
|
@ -50,21 +50,9 @@ class epg {
|
|||||||
}
|
}
|
||||||
|
|
||||||
epg method _parse {line} {
|
epg method _parse {line} {
|
||||||
set vars [split $line "\t"]
|
lassign [split $line "\t"] \
|
||||||
|
service_id event_id start duration encrypted name text warning \
|
||||||
set service_id [lindex $vars 0]
|
content_code content_type event_crid series_cris rec_crid
|
||||||
set event_id [lindex $vars 1]
|
|
||||||
set start [lindex $vars 2]
|
|
||||||
set duration [lindex $vars 3]
|
|
||||||
set encrypted [lindex $vars 4]
|
|
||||||
set name [lindex $vars 5]
|
|
||||||
set text [lindex $vars 6]
|
|
||||||
set warning [lindex $vars 7]
|
|
||||||
set content_code [lindex $vars 8]
|
|
||||||
set content_type [lindex $vars 9]
|
|
||||||
set event_crid [lindex $vars 10]
|
|
||||||
set series_crid [lindex $vars 11]
|
|
||||||
set rec_crid [lindex $vars 12]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
epg method percent {} {
|
epg method percent {} {
|
||||||
@ -97,6 +85,10 @@ epg method remaining {} {
|
|||||||
return [expr $duration - [$self elapsed]]
|
return [expr $duration - [$self elapsed]]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
epg method end {} {
|
||||||
|
return $($start + $duration)
|
||||||
|
}
|
||||||
|
|
||||||
epg method type_icon {} {
|
epg method type_icon {} {
|
||||||
set img ""
|
set img ""
|
||||||
switch -- $content_code {
|
switch -- $content_code {
|
||||||
@ -371,6 +363,7 @@ proc {epg dbfetch} {mode args} {
|
|||||||
set records {}
|
set records {}
|
||||||
set extra ""
|
set extra ""
|
||||||
set params {}
|
set params {}
|
||||||
|
set debug 0
|
||||||
|
|
||||||
set select "
|
set select "
|
||||||
select distinct *,
|
select distinct *,
|
||||||
@ -393,6 +386,7 @@ proc {epg dbfetch} {mode args} {
|
|||||||
if {[string first "-" $arg] == 0} {
|
if {[string first "-" $arg] == 0} {
|
||||||
set v $args($arg)
|
set v $args($arg)
|
||||||
switch -- $arg {
|
switch -- $arg {
|
||||||
|
-debug { set debug $v }
|
||||||
-crid { append q \
|
-crid { append q \
|
||||||
"and e.event_crid = '$v' " }
|
"and e.event_crid = '$v' " }
|
||||||
-scrid { append q \
|
-scrid { append q \
|
||||||
@ -407,6 +401,9 @@ proc {epg dbfetch} {mode args} {
|
|||||||
"and e.start < $v and e.end > $v " }
|
"and e.start < $v and e.end > $v " }
|
||||||
-after { append q \
|
-after { append q \
|
||||||
"and e.end >= $v " }
|
"and e.end >= $v " }
|
||||||
|
-before { append q \
|
||||||
|
"and e.start < $v " }
|
||||||
|
-sort { set sort "order by $v" }
|
||||||
-trange {
|
-trange {
|
||||||
lassign [split $v :] stt ett
|
lassign [split $v :] stt ett
|
||||||
append q "and (
|
append q "and (
|
||||||
@ -433,6 +430,7 @@ proc {epg dbfetch} {mode args} {
|
|||||||
}
|
}
|
||||||
append q ") "
|
append q ") "
|
||||||
}
|
}
|
||||||
|
-param { lappend params $v }
|
||||||
default { error "Invalid option, $arg" }
|
default { error "Invalid option, $arg" }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -440,7 +438,10 @@ proc {epg dbfetch} {mode args} {
|
|||||||
|
|
||||||
set query "$select $from $q $sort"
|
set query "$select $from $q $sort"
|
||||||
|
|
||||||
#puts "QUERY -$query-"
|
if ($debug) {
|
||||||
|
puts "QUERY -$query-"
|
||||||
|
puts "PARAMS -$params-"
|
||||||
|
}
|
||||||
|
|
||||||
set records {}
|
set records {}
|
||||||
if {[catch {
|
if {[catch {
|
||||||
|
@ -55,7 +55,10 @@ $(document).ready(function() {
|
|||||||
var url = '/cgi-bin/epg/info.jim?service=' +
|
var url = '/cgi-bin/epg/info.jim?service=' +
|
||||||
o.attr('xs') + '&event=' +
|
o.attr('xs') + '&event=' +
|
||||||
o.attr('xe') + '&bare=1';
|
o.attr('xe') + '&bare=1';
|
||||||
$('#dialogue').load(url, function() {
|
$('#dialogue')
|
||||||
|
.html('<img src=/img/loading.gif> Loading details...' +
|
||||||
|
' Please wait...')
|
||||||
|
.load(url, function() {
|
||||||
$('#dialogue a.event').click(function(e) {
|
$('#dialogue a.event').click(function(e) {
|
||||||
epgpopup(e, $(this));
|
epgpopup(e, $(this));
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user