forked from hummypkg/webif
d3e7adfd1f
git-svn-id: file:///root/webif/svn/humax/pkg/src/webif@161 2a923420-c742-0410-a762-8d5b09965624
145 lines
3.2 KiB
Plaintext
Executable File
145 lines
3.2 KiB
Plaintext
Executable File
#!/mod/bin/jimsh
|
|
|
|
package require cgi
|
|
source /mod/var/mongoose/lib/epg.class
|
|
source /mod/var/mongoose/lib/altrow
|
|
|
|
puts "Content-Type: text/html"
|
|
puts ""
|
|
|
|
source /mod/var/mongoose/html/lib/header.jim
|
|
|
|
puts "<script type=text/javascript src=/js/highlight.js></script>"
|
|
|
|
cgi_input
|
|
#cgi_dump
|
|
#set _cgi [dict create term "doctor who"]
|
|
#set env(REQUEST_URI) "test"
|
|
|
|
set term ""
|
|
catch { set term [dict get $_cgi term] }
|
|
set cmd "search"
|
|
if {[dict exists $_cgi full]} { set cmd "searchall" }
|
|
set ct 0
|
|
catch { set ct [dict get $_cgi ct] }
|
|
|
|
puts "
|
|
<form method=get action=/cgi-bin/epg_search.jim>
|
|
Search EPG: <input name=term size=20 maxlength=255 value=\"$term\">
|
|
<input type=checkbox name=full"
|
|
if {[dict exists $_cgi full]} { puts " checked" }
|
|
puts ">Search descriptions as well as titles.
|
|
<input type=submit value=Search>
|
|
"
|
|
|
|
set db [sqlite3.open /var/lib/humaxtv/setup.db]
|
|
set res [$db query {
|
|
select itemBlob from TBL_USERCONFIG
|
|
where itemName like 'EPG\_KEYWORD\_%%' ESCAPE '\'
|
|
}]
|
|
|
|
proc cts {type img text} {
|
|
puts "<a href=$::env(REQUEST_URI)?ct=$type>
|
|
<img height=18 border=0 src=/images/173_3_00_G3_$img.png> $text</a>";
|
|
}
|
|
|
|
puts {
|
|
<br>
|
|
<div style="float: left; clear: left; width: 15em">
|
|
Content Type Searches:
|
|
</div>
|
|
<div style="float: left">
|
|
}
|
|
cts 1 "Movie" "Film/Drama"
|
|
cts 2 "News" "News/Current affairs"
|
|
cts 3 "Show" "Show/Game show"
|
|
cts 4 "Sports" "Sport"
|
|
cts 5 "Children" "Children"
|
|
cts 10 "Leisure" "Leisure"
|
|
puts {
|
|
</div>
|
|
<div style="float: left; margin-left: 15em">
|
|
}
|
|
cts 6 "Music" "Music/Ballet/Dance"
|
|
cts 7 "Art" "Arts/Culture"
|
|
cts 8 "Society" "Social/Political/Economic"
|
|
cts 9 "Education" "Education/Science/Factual"
|
|
puts { </div> }
|
|
|
|
if {[llength $res] > 0} {
|
|
puts {
|
|
<div style="float: left; clear: left; width: 15em">
|
|
Keyword Searches:
|
|
</div>
|
|
<div style="float: left">
|
|
}
|
|
set done 0
|
|
foreach keyword $res {
|
|
if {$done == 1} { puts " | " } else { incr done }
|
|
set kw [string range [lindex $keyword 1] 1 end]
|
|
puts "<a href=$env(REQUEST_URI)?term=[cgi_quote_url $kw]>$kw
|
|
</a>"
|
|
}
|
|
puts "</div>"
|
|
}
|
|
|
|
$db close
|
|
|
|
puts "</form>"
|
|
|
|
if {$ct > 0 } {
|
|
set records [epg fetch dump -type $ct]
|
|
} elseif {$term ne ""} {
|
|
set records [epg fetch $cmd -extra $term]
|
|
}
|
|
|
|
puts {
|
|
<table class=borders id=results style="clear: both;margin: 0.5em 0 0 0">
|
|
<tr>
|
|
<th>Date</th>
|
|
<th colspan=2>Channel</th>
|
|
<th>Programme</th>
|
|
<th>Synopsis</th>
|
|
</tr>
|
|
}
|
|
|
|
proc rsort {v1 v2} {
|
|
set v1s [$v1 get start]
|
|
set v2s [$v2 get start]
|
|
|
|
if {$v1s == $v2s} { return 0 }
|
|
if {$v1s > $v2s } { return 1 }
|
|
return -1
|
|
}
|
|
|
|
|
|
set i 0
|
|
foreach record [lsort -command rsort $records] {
|
|
altrow
|
|
puts "<td nowrap>
|
|
[clock format [$record get start] -format "%a %d %b %Y"]<br>
|
|
[clock format [$record get start] -format "%H:%M %Z"]</td>"
|
|
puts "<td>[$record get channel_num]</td>"
|
|
puts "<td nowrap>
|
|
<a href=/cgi-bin/epg_service.jim?service=[$record get service_id]>
|
|
[$record get channel_name]
|
|
</a></td>"
|
|
puts [$record cell]
|
|
puts "<td>[$record get text]</td><td>[$record get warning]</td>"
|
|
puts "</tr>"
|
|
flush stdout
|
|
}
|
|
puts "</table>"
|
|
|
|
if {$term != ""} {
|
|
puts "
|
|
<script type=text/javascript>
|
|
highlight(document.getElementById(\"results\"), \"$term\");
|
|
</script>
|
|
"
|
|
}
|
|
|
|
epg cleanup
|
|
source /mod/var/mongoose/html/lib/footer.jim
|
|
|