migrating

git-svn-id: file:///root/webif/svn/humax/pkg/src/webif/trunk@1789 2a923420-c742-0410-a762-8d5b09965624
This commit is contained in:
hummypkg 2014-02-21 21:25:33 +00:00
parent 8c4449ee36
commit 0f1bbed6b9
88 changed files with 686 additions and 2207 deletions

View File

@ -10,7 +10,7 @@ httpheader
set service [cgi_get service 0]
set event [cgi_get event 0]
if {![cgi_exists bare]} header
if {![cgi_exists bare]} header else noheader
set record [lindex [epg fetch dump -service $service -event $event] 0]
$record get_channel_info

View File

@ -4,12 +4,11 @@ package require cgi
source /mod/webif/lib/setup
require epg.class spinner.class altrow settings.class
jqplugin highlight
header
require totop
puts "<script type=text/javascript src=/js/jquery.highlight.js></script>"
set ct [cgi_get ct 0]
set crid [cgi_get crid ""]
set scrid [cgi_get scrid ""]
@ -56,6 +55,11 @@ if {$ct > 0 } {
}
set favlist [epg favlist]
if {[$s service_style] eq "standard"} {
set surl xservice
} else {
set surl service
}
if {[llength $records] > 0} {
puts {
@ -105,7 +109,7 @@ foreach record [lsort -command rsort $records] {
puts "<td>[$record get channel_num]</td>"
puts "<td>[$record channel_icon 50]</td>"
puts "<td nowrap>
<a href=/cgi-bin/epg/service.jim?service=[$record get service_id]>
<a href=/epg/$surl.jim?service=[$record get service_id]>
[$record get channel_name]
</a></td>"
puts [$record cell]

View File

@ -1,133 +0,0 @@
#!/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 4170]
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]
$tr get_channel_info
set channel_num [$tr get channel_num]
set channel_name [$tr get channel_name]
puts "
<link type=text/css rel=Stylesheet href=service.css />
<div style=\"margin: 0 1em 1em 1em\">
[$tr channel_icon 40 {vertical-align:middle}]
<span style=\"vertical-align: middle\">
$channel_num - $channel_name
</span>
</div>
"
puts "
<div class=weekview>
<table class=weekview>
<thead>
<tr>
<th class=hour></th>
"
set t [clock seconds]
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
}
puts "
</td>
</tr>
</tbody>
</table>
</div>
"
epg cleanup
footer

View File

@ -19,6 +19,7 @@ if {[cgi_get now] eq "yes"} {
}
system restartpending 0
jqplugin progressbar
header
# Commit pending reservations on older mod versions.
@ -27,8 +28,6 @@ if {![file exists /sbin/rsvsync] && ![file exists /mod/boot/rsvsync]} {
}
puts {
<link href=/css/jquery.progressbar.css rel=stylesheet type=text/css />
<script type="text/javascript" src="/js/jquery.progressbar.js"></script>
<script type=text/javascript>
var handle = 0;

View File

@ -36,6 +36,7 @@ set hostname [$settings hostname]
set smtp_server [$settings smtp_server]
set channel_group [$settings channel_group]
set epg_style [$settings epg_style]
set service_style [$settings service_style]
set pkgdev [$settings pkgdev]
set notoolbar [$settings notoolbar]
set nomobile [$settings nomobile]
@ -83,6 +84,7 @@ _handle_update ascii smtp_server $smtp_server "SMTP Server"
handle_int_update channel_group $channel_group "Channel Group"
handle_int_update xepghours $xepghours "Grid EPG Hours"
handle_str_update epg_style $epg_style "EPG Type"
handle_str_update service_style $service_style "EPG Channel Type"
handle_int_update pkgdev $pkgdev "Development Package Display"
handle_int_update notoolbar $notoolbar "Disable toolbar"
handle_int_update nomobile $nomobile "Disable mobile link"
@ -122,13 +124,11 @@ if {$aclact ne "-" && $acluser ne "-"} {
exit
}
jqplugin form iphone-style-checkboxes
header
puts {
<script type="text/javascript" src="/cgi-bin/settings.js"></script>
<script type="text/javascript" src="/js/jquery.form.js"></script>
<script type="text/javascript" src="/js/iphone-style-checkboxes.js"></script>
<link href=/css/iphone-style-checkboxes.css rel=stylesheet type=text/css />
<script type="text/javascript" src="settings.js"></script>
<div id=accordion>
}
@ -247,6 +247,30 @@ puts "
</tr>
"
puts "
<tr>
<form class=auto id=service_style method=get action=$env(REQUEST_URI)>
<th class=key>Default Single-channel style</th>
<td><select id=service_style name=service_style
class=\"text ui-widget-content ui-corner-all\">
"
puts "<option value=standard"
if {$service_style eq "standard"} { puts " selected" }
puts ">Standard\n"
puts "<option value=grid"
if {$service_style ne "standard"} { puts " selected" }
puts ">Grid\n"
puts "
</select>
<small>
<input name=service_style value=\"set\" type=submit>
</small>
<div id=service_style_output></div>
</td>
</form>
</tr>
"
puts "
<tr>
<form class=auto id=channel_group method=get action=$env(REQUEST_URI)>

View File

@ -4,25 +4,29 @@ package require cgi
source /mod/webif/lib/setup
require settings.class
jqplugin enadis
jscss xepg.js /css/xepg.css
header
require epg.class spinner.class altrow epg_search totop system.class
set irinst [system pkginst ir]
puts {
<link type="text/css" href="/css/xepg.css" rel="Stylesheet" />
<script type=text/javascript src=/js/enadis.js></script>
<script type=text/javascript src=xepg.js></script>
}
set s [settings]
if {[[settings] chanchangenc]} {
if {[$s chanchangenc]} {
puts { <script type=text/javascript src=/js/chanchangenc.js></script> }
} else {
jqplugin confirmAction
puts { <script type=text/javascript src=/js/chanchange.js></script> }
}
if {[$s service_style] eq "standard"} {
set surl xservice
} else {
set surl service
}
[spinner new {
text "Loading EPG Information..."
size "1.2em"
@ -40,7 +44,7 @@ if {$stt <= $now} {
set current 0
}
set favgroup [[settings] channel_group]
set favgroup [$s channel_group]
set hours [expr 1.0 * [[settings] xepghours]]
if {$hours == 0} { set hours 4.0 }
@ -139,7 +143,7 @@ foreach e $records {
puts "[$e channel_icon 30]&nbsp;"
if {$irinst} { puts "</a>" }
puts "$chnum
<a href=\"/cgi-bin/epg/service.jim?service=[$e get service_id]\"
<a href=\"/epg/$surl.jim?service=[$e get service_id]\"
title=\"[$e get channel_name]\">
[$e get channel_name]
</a></div>"

View File

@ -5,6 +5,8 @@ package require cgi
source /mod/webif/lib/setup
require ts.class system.class
jqplugin progressbar
jscss audio.js
header
set rfile [cgi_get file]
@ -12,10 +14,8 @@ set ts [ts fetch $rfile]
set dir [file dirname $rfile]
set len [$ts duration 1]
puts "
<link href=/css/jquery.progressbar.css rel=stylesheet type=text/css />
<script type=text/javascript src=/js/jquery.progressbar.js></script>
<script type=text/javascript src=audio.js></script>
<fieldset class=cleft>
<legend>Audio Extraction</legend>

View File

@ -4,6 +4,8 @@ package require cgi
source /mod/webif/lib/setup
require ts.class pretty_size
jqplugin progressbar
jscss chunk.js chunk.css
header
set rfile [cgi_get file]
@ -19,10 +21,6 @@ set esttime $(int($len * 0.025))
if {[$ts get definition] eq "HD"} { set esttime $($esttime * 4) }
puts "
<script type=text/javascript src=/js/jquery.progressbar.js></script>
<script type=text/javascript src=chunk.js></script>
<link href=/css/jquery.progressbar.css rel=stylesheet type=text/css />
<link href=chunk.css rel=stylesheet type=text/css />
<fieldset class=cleft>
<legend>Split recording into 45 minute segments</legend>

View File

@ -4,6 +4,8 @@ package require cgi
source /mod/webif/lib/setup
require ts.class pretty_size
jqplugin progressbar
jscss crop.js
header
set rfile [cgi_get file]
@ -13,10 +15,6 @@ set dir [file dirname $rfile]
set len [$ts duration 1]
puts "
<link href=/css/jquery.progressbar.css rel=stylesheet type=text/css />
<script type=text/javascript src=/js/jquery.progressbar.js></script>
<script type=text/javascript src=crop.js></script>
<fieldset class=cleft>
<legend>Crop recording</legend>

View File

@ -5,6 +5,8 @@ package require cgi
source /mod/webif/lib/setup
require ts.class
jqplugin progressbar
jscss decrypt.js
header
set rfile [cgi_get file]
@ -14,9 +16,6 @@ set len [$ts duration 1]
lassign [$ts dlnaloc "127.0.0.1"] url
puts "
<link href=/css/jquery.progressbar.css rel=stylesheet type=text/css />
<script type=text/javascript src=/js/jquery.progressbar.js></script>
<script type=text/javascript src=decrypt.js></script>
<fieldset class=cleft>
<legend>Decrypt in-place</legend>

View File

@ -4,6 +4,8 @@ package require cgi
source /mod/webif/lib/setup
require ts.class pretty_size system.class settings.class escape browse.class
jqplugin contextMenu bar enadis
jscss script.js style.css
header
set nicesplice [system pkginst nicesplice]
@ -249,16 +251,6 @@ set dir [cgi_get dir $mroot]
######################################################################
# Render web page
puts {
<link href=/css/jquery.contextMenu.css rel=stylesheet type=text/css />
<script type=text/javascript src=/js/jquery.contextMenu.js></script>
<link href=/css/jquery.bar.css rel=stylesheet type=text/css />
<script type=text/javascript src=/js/jquery.bar.js></script>
<script type=text/javascript src=/js/enadis.js></script>
<script type=text/javascript src=script.js></script>
<link type=text/css rel=stylesheet href=style.css />
}
source assets.jim
puts "

View File

@ -4,18 +4,14 @@ package require cgi
source /mod/webif/lib/setup
require ts.class pretty_size
jqplugin progressbar touchbridge
jscss join.js join.css
header
cgi_input 1
#cgi_dump
puts "
<link href=/css/jquery.progressbar.css rel=stylesheet type=text/css />
<link href=join.css rel=stylesheet type=text/css />
<script type=text/javascript src=/js/jquery.progressbar.js></script>
<script type=text/javascript src=/js/touchbridge.js></script>
<script type/text/javascript src=join.js></script>
<p><b>
Drag the files below into order, enter a name for the resulting file and then
click the <i>Join</i> button.</b>

View File

@ -5,6 +5,8 @@ package require cgi
source /mod/webif/lib/setup
require ts.class system.class
jqplugin progressbar
jscss mpg.js
header
set rfile [cgi_get file]
@ -13,9 +15,6 @@ set dir [file dirname $rfile]
set len [$ts duration 1]
puts "
<link href=/css/jquery.progressbar.css rel=stylesheet type=text/css />
<script type=text/javascript src=/js/jquery.progressbar.js></script>
<script type=text/javascript src=mpg.js></script>
<fieldset class=cleft>
<legend>Extract to MPG</legend>

View File

@ -4,6 +4,8 @@ package require cgi
source /mod/webif/lib/setup
require ts.class pretty_size
jqplugin progressbar
jscss strip.js
header
set rfile [cgi_get file]
@ -15,10 +17,6 @@ set len [$ts duration 1]
set esttime $([$ts size] / 5700000)
puts "
<link href=/css/jquery.progressbar.css rel=stylesheet type=text/css />
<script type=text/javascript src=/js/jquery.progressbar.js></script>
<script type=text/javascript src=strip.js></script>
<fieldset class=cleft>
<legend>Make recordings smaller by removing unecessary frames</legend>

View File

@ -4,6 +4,8 @@ package require cgi
source /mod/webif/lib/setup
require ts.class pretty_size
jqplugin enadis
jscss script.js
header
set rfile [cgi_get file]
@ -20,8 +22,6 @@ set pos $($pos + 0)
if {$pos < 0} { set pos 0 }
puts "
<script type=text/javascript src=script.js></script>
<script type=text/javascript src=/js/enadis.js></script>
<fieldset class=cleft>
<legend>Replace Thumbnail</legend>

View File

@ -12,7 +12,7 @@ source process.jim
set dir [cgi_get dir "/media/My Video"]
set doit [cgi_get doit 0]
puts "<script type=text/javascript src=script.js></script>"
jscss script.js
puts "<fieldset style=\"display: inline\">
<legend>De-duplicate <span id=dir>$dir</span></legend>

View File

@ -4,19 +4,16 @@ package require cgi
source /mod/webif/lib/setup
require pretty_size system.class pkg.class
jqplugin enadis
jscss script.js style.css
header
pkg loaddiagmeta
set smv [system modversion 1]
puts {
<style>
button.half { width: 48%; }
</style>
<script type=text/javascript src=/js/enadis.js></script>
<script type=text/javascript src=script.js></script>
puts {
<fieldset class=cleft>
<legend>Utilities</legend>
<table>

View File

@ -4,6 +4,7 @@ package require cgi
source /mod/webif/lib/setup
require system.class settings.class
jqplugin enadis
header
set device [system disk]
@ -20,7 +21,6 @@ if {$line ne ""} {
}
puts "
<script type=text/javascript src=/js/enadis.js></script>
<h3 class=va>
<img class=va width=100 src=/img/disc.png>
SMART data read from device $device

View File

@ -4,13 +4,9 @@ package require cgi
source /mod/webif/lib/setup
require system.class pretty_size
header
jqplugin easy-pie-chart
puts {
<link href=style.css rel=stylesheet type=text/css />
<script type=text/javascript src=script.js></script>
}
jscss script.js style.css
header
set dustbin [system dustbin 1]
set root [system mediaroot]

View File

@ -0,0 +1 @@
button.half { width: 48%; }

View File

@ -42,8 +42,8 @@ if {[system is_listening 9000]} {
set img "745_1_11_Video_1REC.png"
}
jscss script.js
puts "
<script type=text/javascript src=script.js></script>
<fieldset class=cleft>
<legend>DLNA Server Information</legend>

View File

@ -4,17 +4,13 @@ package require cgi
source /mod/webif/lib/setup
require plugin
jqplugin enadis tabsupport filetree
jscss script.js style.css
header
set file [cgi_get file "/tmp/hosts"]
puts {
<script type=text/javascript src=/js/enadis.js></script>
<script type=text/javascript src=/js/tabsupport.js></script>
<script type=text/javascript src=/js/jqueryFileTree.js></script>
<link rel=stylesheet type=text/css href=/css/jqueryFileTree.css />
<script type=text/javascript src=script.js></script>
<link rel=stylesheet href=style.css type=text/css />
<fieldset class=cleft>
<legend>File Editor</legend>

View File

@ -37,6 +37,12 @@ td.dayhour
background: #ffffcc;
}
td.sdayhour
{
vertical-align: middle;
background: #ffffcc;
}
div.prog
{
margin: 5px;
@ -66,3 +72,8 @@ div.synopsis
font-size: 0.9em;
}
img.cimg
{
width: 100%;
}

253
var/mongoose/html/epg/service.jim Executable file
View File

@ -0,0 +1,253 @@
#!/mod/bin/jimsh
package require cgi
source /mod/webif/lib/setup
require epg.class spinner.class altrow
jqplugin iphone-style-checkboxes freezeheader
jscss service.js service.css
header
require totop
[spinner new {
text "Loading EPG Data..."
size "1.2em"
style "margin: 1em;"
}] start
require epg_popup
set service [cgi_get service 4170]
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]
$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\">
<table class=va><tr><td class=va>
[$tr channel_icon 40 {vertical-align:middle}]
</td><td>
$channel_num - $channel_name
</td><td style=\"width: 50px\">&nbsp;</td><td>
Show synopsis?
</td><td>
<input type=checkbox id=synopsis value=1 checked />
</td><td style=\"width: 50px\">&nbsp;</td><td>
<button id=listview service=$service>List View</button>
</td></tr></table>
</div>
"
puts {
<script type=text/javascript>
$('button').button();
$('#synopsis').iphoneStyle({checkedLabel: 'YES', uncheckedLabel: 'NO'});
</script>
}
puts "
<div class=weekview>
<table class=weekview>
<thead>
<tr>
<th class=hour></th>
"
set t [clock seconds]
set firstday [clock format $t -format {%Y%m%d}]
set daymap {}
loop i 0 8 {
puts "<th class=\"day day-$i\">[clock format $t -format {%a}]<br>"
puts "[clock format $t -format {%e %b}]</th>"
set day [clock format $t -format {%Y%m%d}]
set daymap($day) $i
set dayrmap($i) $day
incr t 86400
}
puts "
</tr>
</thead>
<tbody>
"
set contprog {}
proc slink {e} {
global service
if {[$e get series_crid] ne ""} {
set ro 2
} else {
set ro 1
}
set st [$e scheduled]
return "<a class=event href=# xs=$service xe=[$e get event_id] sch=$st rec=$ro>"
}
proc prog {e {cont 0} {hour 99}} {
global service day contprog
set start [$e get start]
set end [$e end]
set class "prog"
if {$cont} { set class "prog progp" }
puts "
<div class=\"$class\">
<div class=time>
[clock format $start -format {%H:%M}]-[clock format $end -format {%H:%M}]
</div>
<div class=title>
[slink $e]
[$e get name]
</a>
</div>
<div class=synopsis>[$e get text] [join [$e icon_set 14] ""]</div>
</div>
"
# Programmes which cross the hour boundary
if {[clock format $end -format "%H%M"] > "$($hour + 1)00"} {
puts "<div class=cont><img class=cimg src=/img/contt.png></div>"
set contprog($day) $e
}
}
proc cprog {} {
global service day contprog hour
set e $contprog($day)
set end [$e end]
if {[clock format $end -format "%H%M"] eq "${hour}00"} {
dict unset contprog $day
return 0
}
set start [$e get start]
puts "
<div class=cont><img class=cimg src=/img/contb.png></div>
<div class=prog>
<div class=time>
...... -[clock format $end -format {%H:%M}]
</div>
<div class=title>
[slink $e]
[$e get name]
</a>
</div>
</div>
"
if {[clock format $end -format "%H"] > $hour} {
puts "<div class=cont><img class=cimg src=/img/contt.png></div>"
} else {
dict unset contprog $day
}
return 1
}
proc jcprog {day} {
global contprog
set e $contprog($day)
set start [$e get start]
set end [$e end]
puts "
<div class=cont><img class=cimg src=/img/contb.png></div>
<div class=prog>
<div class=time>
[clock format $start -format {%H:%M}]-[clock format $end -format {%H:%M}]
</div>
<div class=title>
[slink $e]
[$e get name]
</a>
</div>
</div>
<div class=cont><img class=cimg src=/img/contt.png></div>
"
}
proc skiptoday {day} {
global daymap dayrmap currday contprog oldcell
if {!$oldcell && [dict exists $contprog $currday]} {
jcprog $currday
}
#puts "Skiptoday: $day ($daymap($currday))<br>"
if {$daymap($currday) eq $day} return
puts "</td><td class=dayhour>"
incr day -1
loop i $daymap($currday) $day {
set j $($i + 1)
if {[dict exists $contprog $dayrmap($j)]} {
jcprog $dayrmap($j)
}
puts "</td><td class=dayhour>"
}
}
set currhour -1
set currday -1
set oldcell 0
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"} {
if {$daymap($currday) < 7} {
skiptoday 7
if {[dict exists $contprog $dayrmap(7)]} {
jcprog $dayrmap(7)
}
}
puts -nonewline "</td></tr>"
}
puts "
<tr class=hour>
<th class=hour>$hour:00</th>
<td class=dayhour>
"
set currhour $hour
set currday $firstday
set oldcell 0
}
if {$day ne $currday} {
skiptoday $daymap($day)
set currday $day
set oldcell 0
}
# Continuations from previous hour...
if {!$oldcell && [dict exists $contprog $day]} {
if {[cprog]} { set oldcell 1 }
}
prog $e $oldcell $hour
set oldcell 1
}
puts "
</td>
</tr>
</tbody>
</table>
</div>
"
epg cleanup
footer

View File

@ -0,0 +1,24 @@
$(function() {
$('button').button();
$('#synopsis').iphoneStyle({
checkedLabel: 'YES',
uncheckedLabel: 'NO'
}).bind('change', function() {
if ($(this).attr('checked'))
$('.synopsis').slideDown();
else
$('.synopsis').slideUp();
});
$('#listview').bind('click', function() {
var service = $(this).attr('service');
window.location.href = '/epg/xservice.jim?service=' + service;
});
$('table.weekview').freezeHeader();
});

View File

@ -26,14 +26,28 @@ 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\">
<table class=va><tr><td class=va>
[$tr channel_icon 40 {vertical-align:middle}]
</td><td>
$channel_num - $channel_name
</span>
</td><td style=\"width: 50px\">&nbsp;</td><td>
<button id=gridview>
Grid View
</button>
</td></tr></table>
</div>
"
puts "
<script type=text/javascript>
\$('button').button();
\$('#gridview').button().bind('click', function() {
document.location.href = '/epg/service.jim?service=$service';
});
</script>
"
puts {
<div id=list>
<table class=borders>
<tr>
<th></th>
@ -61,7 +75,7 @@ foreach record $records {
puts "<td>[$record get warning]</td>"
puts "</tr>"
}
puts "</table>"
puts "</table></div>"
epg cleanup
footer

Binary file not shown.

After

Width:  |  Height:  |  Size: 531 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 580 B

View File

@ -0,0 +1,72 @@
$(function() {
function doschedule(type)
{
$('#epginfo_extra').load('/cgi-bin/epg/schedule.jim?' +
'service=' +
encodeURIComponent($('#dialogue').attr('xs')) +
'&event=' +
encodeURIComponent($('#dialogue').attr('xe')) +
'&type=' + type, function() {
$('#restart_block')
.load('/cgi-bin/restartblock.jim');
});
$(":button:contains('Record')").fadeOut('slow');
$(":button:contains('Reminder')").fadeOut('slow');
}
var $buttons1 = {
"Close" : function() {$(this).dialog('close');}
};
var $buttons2 = $.extend(
{"Record Programme": function() { doschedule(1) }},
{"Set Reminder": function() { doschedule(3) }},
$buttons1);
var $buttons3 = $.extend(
{"Record Series": function() { doschedule(2) }},
$buttons2);
var $dialog = $('#dialogue').dialog({
title: "Programme Details",
modal: false, autoOpen: false,
height: 500, width: 700,
show: 'scale', hide: 'fade',
draggable: true, resizable: true,
buttons: $buttons1,
close: function(e,u) { $('#dialogue').empty().html(
'<img src="/img/loading.gif" alt="loading">'); }
});
function epgpopup(e, o)
{
e.preventDefault();
var sch = o.attr('sch');
var rec = o.attr('rec');
if (sch != 0)
$dialog.dialog("option", "buttons", $buttons1);
else if (rec == 2)
$dialog.dialog("option", "buttons", $buttons3);
else if (rec == 1)
$dialog.dialog("option", "buttons", $buttons2);
else
$dialog.dialog("option", "buttons", $buttons1);
var url = '/cgi-bin/epg/info.jim?service=' +
o.attr('xs') + '&event=' +
o.attr('xe') + '&bare=1';
$('#dialogue')
.html('<img src=/img/loading.gif> Loading details...' +
' Please wait...')
.load(url, function() {
$('#dialogue a.event').click(function(e) {
epgpopup(e, $(this));
});
});
$('#dialogue')
.attr('xs', o.attr('xs'))
.attr('xe', o.attr('xe'));
$dialog.dialog('open');
}
$('a.event').click(function(e) {
e.preventDefault();
epgpopup(e, $(this))
});
});

View File

@ -24,6 +24,16 @@ puts {
<link href="/css/EXTRA.css" rel="Stylesheet" type="text/css" />
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/lib/jquery.ui/js/jquery-ui.js"></script>
}
if {[info exists _mws_js]} {
foreach js $_mws_js {
puts "<script type=text/javascript src=\"$js\"></script>"
}
foreach css $_mws_css {
puts "<link href=\"$css\" rel=stylesheet type=text/css />"
}
}
puts {
</head>
<body>
}

View File

@ -1,142 +0,0 @@
/*!
* jQuery contextMenu - Plugin for simple contextMenu handling
*
* Version: git-master
*
* Authors: Rodney Rehm, Addy Osmani (patches for FF)
* Web: http://medialize.github.com/jQuery-contextMenu/
*
* Licensed under
* MIT License http://www.opensource.org/licenses/mit-license
* GPL v3 http://opensource.org/licenses/GPL-3.0
*
*/
.context-menu-list {
margin:0;
padding:0;
min-width: 120px;
max-width: 250px;
display: inline-block;
position: absolute;
list-style-type: none;
border: 1px solid #DDD;
background: #EEE;
-webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
-moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
-ms-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
-o-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
}
.context-menu-item {
padding: 2px 2px 2px 24px;
background-color: #EEE;
position: relative;
-webkit-user-select: none;
-moz-user-select: -moz-none;
-ms-user-select: none;
user-select: none;
}
.context-menu-separator {
padding-bottom:0;
border-bottom: 1px solid #DDD;
}
.context-menu-item > label > input,
.context-menu-item > label > textarea {
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
}
.context-menu-item.hover {
cursor: pointer;
background-color: #39F;
}
.context-menu-item.disabled {
color: #666;
}
.context-menu-input.hover,
.context-menu-item.disabled.hover {
cursor: default;
background-color: #EEE;
}
.context-menu-submenu:after {
content: ">";
color: #666;
position: absolute;
top: 0;
right: 3px;
z-index: 1;
}
/* icons
#protip:
In case you want to use sprites for icons (which I would suggest you do) have a look at
http://css-tricks.com/13224-pseudo-spriting/ to get an idea of how to implement
.context-menu-item.icon:before {}
*/
.context-menu-item.icon { min-height: 18px; background-repeat: no-repeat; background-position: 4px 2px; }
.context-menu-item.icon-edit { background-image: url(images/page_white_edit.png); }
.context-menu-item.icon-cut { background-image: url(images/cut.png); }
.context-menu-item.icon-copy { background-image: url(images/page_white_copy.png); }
.context-menu-item.icon-paste { background-image: url(images/page_white_paste.png); }
.context-menu-item.icon-delete { background-image: url(images/page_white_delete.png); }
.context-menu-item.icon-add { background-image: url(images/page_white_add.png); }
.context-menu-item.icon-quit { background-image: url(images/door.png); }
/* vertically align inside labels */
.context-menu-input > label > * { vertical-align: top; }
/* position checkboxes and radios as icons */
.context-menu-input > label > input[type="checkbox"],
.context-menu-input > label > input[type="radio"] {
margin-left: -17px;
}
.context-menu-input > label > span {
margin-left: 5px;
}
.context-menu-input > label,
.context-menu-input > label > input[type="text"],
.context-menu-input > label > textarea,
.context-menu-input > label > select {
display: block;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
-o-box-sizing: border-box;
box-sizing: border-box;
}
.context-menu-input > label > textarea {
height: 100px;
}
.context-menu-item > .context-menu-list {
display: none;
/* re-positioned by js */
right: -5px;
top: 5px;
}
.context-menu-item.hover > .context-menu-list {
display: block;
}
.context-menu-accesskey {
text-decoration: underline;
}

File diff suppressed because it is too large Load Diff

View File

Before

Width:  |  Height:  |  Size: 648 B

After

Width:  |  Height:  |  Size: 648 B

View File

Before

Width:  |  Height:  |  Size: 412 B

After

Width:  |  Height:  |  Size: 412 B

View File

@ -0,0 +1,130 @@
/* ------------------------------------------------------------------------
Class: freezeHeader
Use:freeze header row in html table
Example 1: $('#tableid').freezeHeader();
Example 2: $("#tableid").freezeHeader({ 'height': '300px' });
Example 3: $("table").freezeHeader();
Example 4: $(".table2").freezeHeader();
Author: Laerte Mercier Junior
Version: 1.0.5
-------------------------------------------------------------------------*/
(function ($) {
var TABLE_ID = 0;
$.fn.freezeHeader = function (params) {
var copiedHeader = false;
function freezeHeader(elem) {
var idObj = elem.attr('id') || ('tbl-' + (++TABLE_ID));
if (elem.length > 0 && elem[0].tagName.toLowerCase() == "table") {
var obj = {
id: idObj,
grid: elem,
container: null,
header: null,
divScroll: null,
openDivScroll: null,
closeDivScroll: null,
scroller: null
};
if (params && params.height !== undefined) {
obj.divScroll = '<div id="hdScroll' + obj.id + '" style="height: ' + params.height + '; overflow-y: scroll">';
obj.closeDivScroll = '</div>';
}
obj.header = obj.grid.find('thead');
if (params && params.height !== undefined) {
if ($('#hdScroll' + obj.id).length == 0) {
obj.grid.wrapAll(obj.divScroll);
}
}
obj.scroller = params && params.height !== undefined
? $('#hdScroll' + obj.id)
: $(window);
obj.scroller.on('scroll', function () {
if ($('#hd' + obj.id).length == 0) {
obj.grid.before('<div id="hd' + obj.id + '"></div>');
}
obj.container = $('#hd' + obj.id);
if (obj.header.offset() != null) {
if (limiteAlcancado(obj, params)) {
if (!copiedHeader) {
cloneHeaderRow(obj);
copiedHeader = true;
}
}
else {
if (($(document).scrollTop() > obj.header.offset().top)) {
obj.container.css("position", "absolute");
obj.container.css("top", (obj.grid.find("tr:last").offset().top - obj.header.height()) + "px");
}
else {
obj.container.css("visibility", "hidden");
obj.container.css("top", "0px");
obj.container.width(0);
}
copiedHeader = false;
}
}
});
}
}
function limiteAlcancado(obj, params) {
if (params && params.height !== undefined) {
return (obj.header.offset().top <= obj.scroller.offset().top);
}
else {
return ($(document).scrollTop() > obj.header.offset().top && $(document).scrollTop() < (obj.grid.height() - obj.header.height() - obj.grid.find("tr:last").height()) + obj.header.offset().top);
}
}
function cloneHeaderRow(obj) {
obj.container.html('');
obj.container.val('');
var tabela = $('<table style="margin: 0 0;"></table>');
var atributos = obj.grid.prop("attributes");
$.each(atributos, function () {
if (this.name != "id") {
tabela.attr(this.name, this.value);
}
});
tabela.append('<thead>' + obj.header.html() + '</thead>');
obj.container.append(tabela);
obj.container.width(obj.header.width());
obj.container.height(obj.header.height);
obj.container.find('th').each(function (index) {
var cellWidth = obj.grid.find('th').eq(index).width();
$(this).css('width', cellWidth);
});
obj.container.css("visibility", "visible");
if (params && params.height !== undefined) {
obj.container.css("top", obj.scroller.offset().top + "px");
obj.container.css("position", "absolute");
} else {
obj.container.css("top", "0px");
obj.container.css("position", "fixed");
}
}
return this.each(function (i, e) {
freezeHeader($(e));
});
};
})(jQuery);

View File

@ -24,14 +24,16 @@ puts {
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/lib/jquery.mobile/jquery.mobile.js">
</script>
<script type="text/javascript" src="/js/enadis.js">
</script>
<script type="text/javascript" src="/m/script.js"></script>
<link rel="apple-touch-icon" href="/img/mobile_57.png" />
<link rel="apple-touch-icon" sizes="57x57" href="/img/mobile_57.png" />
<link rel="apple-touch-icon" sizes="72x72" href="/img/mobile_72.png" />
<link rel="apple-touch-icon" sizes="114x114" href="/img/mobile_114.png" />
<link rel="apple-touch-icon" sizes="144x144" href="/img/mobile_144.png" />
}
noheader
jqplugin enadis
puts {
</head>
}

View File

@ -1,6 +1,12 @@
<!--#include virtual="/lib/header.shtml" -->
#!/mod/bin/jimsh
<link href=style.css rel=stylesheet type=text/css />
source /mod/webif/lib/setup
jqplugin enadis iajax
jscss script.js style.css
header
puts {
<div class=va style="padding: 0 0 1em 0">
<h1 style="display: inline" class=va>
@ -35,10 +41,6 @@
</div>
</div>
<script type=text/javascript src=/js/enadis.js></script>
<script type=text/javascript src=/js/iajax.js></script>
<script type=text/javascript src=script.js></script>
<div id=pkgtabs>
<ul>
<li>
@ -56,5 +58,7 @@
</li>
</ul>
</div>
}
footer
<!--#include virtual="/lib/footer.shtml" -->

View File

@ -28,11 +28,8 @@ puts "
<span id=duration style=\"display: none\">[$ts duration 1]</span>
"
jscss {vlc.js play.js} vlc.css
puts {
<script language=javascript src=vlc.js></script>
<link rel=stylesheet type=text/css href=vlc.css />
<script type=text/javascript src=play.js></script>
<fieldset class=cleft style="margin: 0 1em 1em 1em">
<legend>VLC Player</legend>
}

View File

@ -4,6 +4,8 @@ package require cgi
source /mod/webif/lib/setup
require altrow rsv.class progressbar epg.class system.class
jqplugin tablesorter contextMenu form freezeheader
jscss script.js
header
set svcmap {}
@ -17,13 +19,6 @@ 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=output class=hidden></div>
<div id=sdialogue></div>
}

View File

@ -30,7 +30,7 @@ $('table.tablesorter').tablesorter({
6: { sorter: false },
7: { sorter: false }
}
});
}).freezeHeader();
$('table.tablesorter thead th').filter('[class!=header]')
.addClass('headerplain');

View File

@ -1,7 +1,7 @@
<!--#include virtual="/lib/header.shtml" -->
<link href=/css/iphone-style-checkboxes.css rel=stylesheet type=text/css />
<script type="text/javascript" src="/js/iphone-style-checkboxes.js"></script>
<script type="text/javascript" src="/js/enadis.js"></script>
<link href=/lib/jquery.plugin/iphone-style-checkboxes/iphone-style-checkboxes.css rel=stylesheet type=text/css />
<script type="text/javascript" src="/lib/jquery.plugin/iphone-style-checkboxes/iphone-style-checkboxes.js"></script>
<script type="text/javascript" src="/lib/jquery.plugin/enadis/enadis.js"></script>
<script type="text/javascript">
$(document).ready(function() {

1
var/mongoose/html/test1 Normal file
View File

@ -0,0 +1 @@
test

1
var/mongoose/html/test2 Normal file
View File

@ -0,0 +1 @@
test

View File

@ -3,8 +3,8 @@
source /mod/webif/lib/setup
require altrow rsv.class
jscss /cgi-bin/backup/backup.js
puts {
<script type=text/javascript src=/cgi-bin/backup/backup.js></script>
<h2>Backup/Restore</h2>
<div id=restore_warning class="hidden warningbox">

View File

@ -32,10 +32,10 @@ if {$::qepg} {
set got [clock milliseconds]
if {[[settings] chanchangenc]} {
puts { <script type=text/javascript src=/js/chanchangenc.js></script> }
jscss /js/chanchangeenc.js
} else {
jqplugin confirmAction
puts { <script type=text/javascript src=/js/chanchange.js></script> }
jscss /js/chanchange.js
}
puts {
@ -71,7 +71,7 @@ foreach record $records {
if {$irinst} { puts "</a>" }
puts "</td>
<td>
<a href=\"/cgi-bin/epg/service.jim?service=[\
<a href=\"/epg/service.jim?service=[\
$record get service_id]\">
[$record get channel_name]
</a></td>"

View File

@ -62,7 +62,7 @@ if {[[settings] nomobile] eq "0"} {
menuitem "Service Management" "/img/spanner.png" \
/services.shtml 217 228
menuitem "Package Management" "/img/packages.png" \
/pkg/index.shtml 217 228
/pkg/index.jim 217 228
menuitem "Settings" "/images/326_1_00_Menu_Settings.png" \
/cgi-bin/settings.jim 217 228

View File

@ -1,46 +0,0 @@
#!/mod/bin/jimsh
source /mod/webif/lib/setup
puts {
<script type=text/javascript src=/js/packages.js></script>
<style type=text/css>
button.install
{
display: none;
background-image: none;
background: #ccff99;
}
button.remove
{
display: none;
background-image: none;
background: #ff6666;
}
button.upgrade
{
display: none;
}
</style>
<div id=pkgtabs>
<ul>
<li>
<a href=/cgi-bin/pkg.jim?type=inst>
<span>Installed</span>
</a>
</li><li>
<a href=/cgi-bin/pkg.jim?type=upgr>
<span>Upgrades</span>
</a>
</li><li>
<a href=/cgi-bin/pkg.jim?type=avail>
<span>Available</span>
</a>
</li>
</ul>
</div>
}

View File

@ -42,7 +42,7 @@ tb "/images/323_1_10_Menu_Video.png" "Browse" "/browse/index.jim"
tb "/images/321_1_00_Menu_CHList.png" "Schedule" "/sched/sched.jim"
tb "/images/328_1_26_Menu_TV_Guide.png" "EPG" $epglink
tb "/img/spanner.png" "Services" "/services.shtml"
tb "/img/packages.png" "Packages" "/pkg/index.shtml"
tb "/img/packages.png" "Packages" "/pkg/index.jim"
tb "/images/326_1_00_Menu_Settings.png" "Settings" "/cgi-bin/settings.jim"
tb "/img/diagnostics.png" "Diag" "/diag/diag.jim"
eval_plugins toolbar

View File

@ -1,78 +1,5 @@
puts {
<div id=dialogue></div>
<script type=text/javascript>
$(document).ready(function() {
function doschedule(type)
{
$('#epginfo_extra').load('/cgi-bin/epg/schedule.jim?' +
'service=' +
encodeURIComponent($('#dialogue').attr('xs')) +
'&event=' +
encodeURIComponent($('#dialogue').attr('xe')) +
'&type=' + type, function() {
$('#restart_block')
.load('/cgi-bin/restartblock.jim');
});
$(":button:contains('Record')").fadeOut('slow');
$(":button:contains('Reminder')").fadeOut('slow');
}
var $buttons1 = {
"Close" : function() {$(this).dialog('close');}
};
var $buttons2 = $.extend(
{"Record Programme": function() { doschedule(1) }},
{"Set Reminder": function() { doschedule(3) }},
$buttons1);
var $buttons3 = $.extend(
{"Record Series": function() { doschedule(2) }},
$buttons2);
var $dialog = $('#dialogue').dialog({
title: "Programme Details",
modal: false, autoOpen: false,
height: 500, width: 700,
show: 'scale', hide: 'fade',
draggable: true, resizable: true,
buttons: $buttons1,
close: function(e,u) { $('#dialogue').empty().html(
'<img src="/img/loading.gif" alt="loading">'); }
});
function epgpopup(e, o)
{
e.preventDefault();
var sch = o.attr('sch');
var rec = o.attr('rec');
if (sch != 0)
$dialog.dialog("option", "buttons", $buttons1);
else if (rec == 2)
$dialog.dialog("option", "buttons", $buttons3);
else if (rec == 1)
$dialog.dialog("option", "buttons", $buttons2);
else
$dialog.dialog("option", "buttons", $buttons1);
var url = '/cgi-bin/epg/info.jim?service=' +
o.attr('xs') + '&event=' +
o.attr('xe') + '&bare=1';
$('#dialogue')
.html('<img src=/img/loading.gif> Loading details...' +
' Please wait...')
.load(url, function() {
$('#dialogue a.event').click(function(e) {
epgpopup(e, $(this));
});
});
$('#dialogue')
.attr('xs', o.attr('xs'))
.attr('xe', o.attr('xe'));
$dialog.dialog('open');
}
$('a.event').click(function(e) {
e.preventDefault();
epgpopup(e, $(this))
});
});
</script>
<script type=text/javascript src=/js/epg_popup.js></script>
}

View File

@ -20,6 +20,7 @@ class settings {
hostname ""
channel_group 0
epg_style "standard"
service_style "grid"
smtp_server ""
pkgdev 0
notoolbar 0
@ -138,16 +139,24 @@ settings method xepghours {{hours -1}} {
settings method epg_style {{style -1}} {
if {$style != -1} {
if {$style eq "grid"} { set style 1 } else { set style 0}
if {$style eq "grid"} { set style 1 } else { set style 0 }
return [$self _nval_setting epg_style $style]
}
set val [$self _nval_setting epg_style]
if {$val == 1} {
return "grid"
}
if {$val == 1} { return "grid" }
return "standard"
}
settings method service_style {{style -1}} {
if {$style != -1} {
if {$style eq "grid"} { set style 0 } else { set style 1 }
return [$self _nval_setting service_style $style]
}
set val [$self _nval_setting service_style]
if {$val == 1} { return "standard" }
return "grid"
}
settings method pkgdev {{val -1}} {
return [$self _nval_setting pkgdev $val]
}

View File

@ -14,6 +14,7 @@ if {![exists -proc require]} {
if {!$cache} {
puts -nonewline "Content-Type: $type; charset=\"UTF-8\"; no-cache\r\n"
puts -nonewline "Expires: -1\r\n"
puts -nonewline "Connection: close\r\n"
puts -nonewline "Pragma: no-cache\r\n"
puts -nonewline "Cache-Control: no-cache\r\n"
} else {
@ -24,9 +25,17 @@ if {![exists -proc require]} {
set done 1
}
set ::_mws_headerdone 0
set ::_mws_js {}
set ::_mws_css {}
proc header {{type "text/html"} {cache 0}} {
httpheader $type $cache
uplevel source /mod/webif/html/lib/header.jim
incr ::_mws_headerdone
}
proc noheader {} {
incr ::_mws_headerdone
}
proc footer {} {
@ -41,17 +50,44 @@ if {![exists -proc require]} {
uplevel source /mod/webif/html/m/lib/footer.jim
}
proc jqplugin {name} {{done {}}} {
if {$name in $done} return
proc _css {file} {
if {$::_mws_headerdone} {
puts "<link href=\"$file\" rel=stylesheet type=text/css />"
} else {
lappend ::_mws_css $file
}
}
proc _js {file} {
if {$::_mws_headerdone} {
puts "<script type=text/javascript src=\"$file\"></script>"
} else {
lappend ::_mws_js $file
}
}
proc jqplugin {args} {{done {}}} {
foreach name $args {
if {$name in $done} continue
lappend done $name
foreach file [glob "/mod/webif/html/lib/jquery.$name/*.js"] {
set file [join [lrange [split $file /] 4 end] /]
puts "<script type=text/javascript src=/$file></script>"
set dir "/mod/webif/html/lib/jquery.plugin/$name"
if {![file isdirectory $dir]} {
error "Unknown JQ Plugin - '$name'"
}
foreach file [glob "/mod/webif/html/lib/jquery.$name/*.css"] {
foreach file [glob -nocomplain "$dir/*.js"] {
set file [join [lrange [split $file /] 4 end] /]
puts "<link href=/$file rel=stylesheet type=text/css />"
_js "/$file"
}
foreach file [glob -nocomplain "$dir/*.css"] {
set file [join [lrange [split $file /] 4 end] /]
_css "/$file"
}
}
}
proc jscss {{js ""} {css ""}} {
foreach j $js { _js $j }
foreach c $css { _css $c }
}
require fileops overrides

View File

@ -1,7 +1,6 @@
jqplugin ui.totop
jqplugin easing
puts {
<script type="text/javascript" src="/js/jquery.ui.totop.js"></script>
<script type="text/javascript" src="/js/easing.js"></script>
<link href=/css/ui.totop.css rel=stylesheet type=text/css />
<script type=text/javascript>
$(document).ready(function() {
$().UItoTop({easingType: 'easeOutQuart'});