quick edit, cli status, db.jim

git-svn-id: file:///root/webif/svn/humax/pkg/src/webif/trunk@1164 2a923420-c742-0410-a762-8d5b09965624
This commit is contained in:
hummypkg 2012-10-15 21:32:25 +00:00
parent c149d7ae3c
commit b691be415a
7 changed files with 86 additions and 92 deletions

View File

@ -1,7 +1,7 @@
Package: webif Package: webif
Priority: optional Priority: optional
Section: web Section: web
Version: 0.9.14 Version: 0.9.14-1
Architecture: mipsel Architecture: mipsel
Maintainer: af123@hummypkg.org.uk Maintainer: af123@hummypkg.org.uk
Depends: webif-channelicons(>=1.0.3),mongoose(>=3.0-7),jim(>=0.73-1),jim-oo,jim-sqlite3(>=0.73),jim-cgi(>=0.5),service-control(>=1.2),busybox(>=1.19.3-1),lsof,epg(>=1.0.9),hmt(>=1.1.6),ssmtp,anacron,trm,openssl-command,nicesplice,id3v2,file,rsvsync(>=1.0.2),webif-charts(>=1.2),stripts(>=1.1.2) Depends: webif-channelicons(>=1.0.3),mongoose(>=3.0-7),jim(>=0.73-1),jim-oo,jim-sqlite3(>=0.73),jim-cgi(>=0.5),service-control(>=1.2),busybox(>=1.19.3-1),lsof,epg(>=1.0.9),hmt(>=1.1.6),ssmtp,anacron,trm,openssl-command,nicesplice,id3v2,file,rsvsync(>=1.0.2),webif-charts(>=1.2),stripts(>=1.1.2)

1
bin/status Symbolic link
View File

@ -0,0 +1 @@
../webif/cgi-bin/status.jim

View File

@ -95,10 +95,14 @@ function insert_folder_size(folder, size)
folder = folder.replace(/ /g, ''); folder = folder.replace(/ /g, '');
folder = folder.replace(/([ #;&,.+*~\':"!^$[\]()=>|\/@])/g, '\\$1'); folder = folder.replace(/([ #;&,.+*~\':"!^$[\]()=>|\/@])/g, '\\$1');
//console.log("Folder: (%s) = (%s)", folder, size); //console.log("Folder: (%s) = (%s)", folder, size);
if (folder == "") if (size.search(/\d$/) == -1)
$('#dirsize').text(' (' + size + 'iB)'); size += 'iB';
else else
$('#' + folder).text(' (' + size + 'iB)'); size += ' bytes';
if (folder == "")
$('#dirsize').text(' (' + size + ')');
else
$('#' + folder).text(' (' + size + ')');
} }
function folder_size_callback(data, status, xhr) function folder_size_callback(data, status, xhr)

View File

@ -1,80 +1,23 @@
#!/mod/bin/jimsh #!/bin/sh
package require cgi PATH=$PATH:/mod/bin export PATH
package require sqlite3
source /mod/webif/lib/setup
require altrow
puts "Content-Type: text/html" echo "Content-Type: text/plain"
puts "" echo ""
set databases [glob /var/lib/humaxtv/*.db] [ -n "$QUERY_STRING" ] && data="${QUERY_STRING##*=}" || data=epg
lappend databases "/mnt/hd2/dms_cds.db"
header case $data in
channels)
sqlite3 -header -batch -separator ' ' \
/var/lib/humaxtv/channel.db '
select * from TBL_SVC;
'
;;
cgi_input
#cgi_dump
set ftab [cgi_get tab] *) /mod/bin/epg -p dump ;;
set fdb [cgi_get db] esac
if {$fdb != 0} { exit 0
puts "<h1><a href=/cgi-bin/db.jim>Remove filters</a></h1>"
}
proc db_info {db_file} {
global _cgi fdb ftab
if {$fdb != 0 && [file tail $db_file] ne $fdb} { return }
if {![file exists $db_file]} { return }
set db [sqlite3.open $db_file]
set tables [$db query {
select name from sqlite_master
where type='table' order by name
}]
puts "<h1><a href=/cgi-bin/db.jim?db=[file tail $db_file]>
$db_file</a></h1>"
foreach table $tables {
set table [lindex $table 1]
if {$ftab != 0 && $ftab ne $table} { continue }
set columns [$db query "pragma table_info($table)"]
set datas [$db query "SELECT * FROM $table order by 1"]
puts "<h2><a href=/cgi-bin/db.jim?db=[file tail $db_file]&tab=$table>$table</a></h2>"
puts "<table class=borders>"
puts " <tr>"
foreach column $columns {
puts " <th>[lindex $column 3]</th>"
}
puts " </tr>"
foreach data $datas {
altrow
for {set i 1} {$i < [llength $data]} {incr i 2} {
puts " <td>[lindex $data $i]</td>"
}
puts " </tr>"
}
puts "</table>"
}
$db close
}
if {$fdb == 0} {
puts "Please choose database to view:<ul>"
foreach db $databases {
puts "<li><a href=$::env(REQUEST_URI)?db=[file tail $db]>
$db</a></li>"
}
puts "</ul>"
} else {
foreach db $databases { db_info $db }
}
footer

View File

@ -1,12 +1,22 @@
#!/mod/bin/jimsh #!/mod/bin/jimsh
package require cgi
source /mod/webif/lib/setup source /mod/webif/lib/setup
require system.class findhsvc epg.class require system.class findhsvc epg.class
puts "Content-Type: text/html" set runmode cli
puts "Pragma: no-cache" if {[string match {*jim} $argv0]} { set runmode cgi }
puts "Expires: Thu, 01 Jan 1970 00:00:00 GMT"
puts "" cgi_input
set type [cgi_get type "full"]
if {$runmode eq "cgi"} {
puts "Content-Type: text/html"
puts "Pragma: no-cache"
puts "Expires: Thu, 01 Jan 1970 00:00:00 GMT"
puts ""
}
if {[catch {set pid [exec pgrep humaxtv]}]} { if {[catch {set pid [exec pgrep humaxtv]}]} {
puts "Cannot find humaxtv process." puts "Cannot find humaxtv process."
@ -40,7 +50,12 @@ set rec 0
set seen {} set seen {}
set output {} set output {}
set data [get_data] if {$type eq "full"} {
set data [get_data]
} else {
set data {}
}
if {[llength $data]} { if {[llength $data]} {
sleep 3 sleep 3
set ndata [get_data] set ndata [get_data]
@ -64,8 +79,12 @@ if {[llength $data]} {
incr seen($name) incr seen($name)
lappend output "<img class=va src=/images/$icon><span class=va> if {$runmode eq "cgi"} {
$mode&nbsp;<i>$name</i></span>" lappend output "<img class=va src=/images/$icon>
<span class=va>$mode&nbsp;<i>$name</i></span>"
} else {
lappend output "$mode $name"
}
} }
} }
@ -95,19 +114,32 @@ if {![system instandby] && $play < 1} {
append prog ") \[[$epg percent]%\]" append prog ") \[[$epg percent]%\]"
} }
if {$runmode eq "cgi"} {
lappend output "[epg channelicon $name 30 \ lappend output "[epg channelicon $name 30 \
{vertical-align: middle; padding: 0 4px 0 2px}] {vertical-align: middle; padding: 0 4px 0 2px}]
<span class=va> Watching <i>$lcn: $name $prog</i></span>" <span class=va>
Watching <i>$lcn: $name $prog</i></span>"
} else {
lappend output "Watching $lcn: $name $prog"
}
} }
} }
if {[system instandby]} { if {[system instandby]} {
if {$runmode eq "cgi"} {
lappend output "<img class=va width=28 style=\"padding: 0 4px\" lappend output "<img class=va width=28 style=\"padding: 0 4px\"
src=/img/standby.png> src=/img/standby.png>
<span class=va>System is in standby.</span>" <span class=va>System is in standby.</span>"
} else {
lappend output "System is in standby."
}
} }
if {[llength $output]} { if {[llength $output]} {
if {$runmode eq "cgi"} {
puts [join $output "<br>"] puts [join $output "<br>"]
} else {
puts [join $output "\n"]
}
} }

View File

@ -43,6 +43,16 @@ Use the <i>Open</i> button below to begin.
<button id=back>Back to diagnostics</button> <button id=back>Back to diagnostics</button>
</div> </div>
<div class=cleft style="margin-top: 1em">
<fieldset>
<legend> Commonly edited files </legend>
<ul>
<li><a href=# class=qfile>/mod/etc/anacrontab</a></li>
<li><a href=# class=qfile>/mod/var/spool/cron/crontabs/root</a></li>
</ul>
</fieldset>
</div>
<div id=chooserd> <div id=chooserd>
<i>Humax Filesystem</i> <i>Humax Filesystem</i>
<div id=chooser></div> <div id=chooser></div>

View File

@ -144,4 +144,8 @@ $('#create').click(function() {
$('#createf').dialog('open'); $('#createf').dialog('open');
}); });
$('a.qfile').on('click', function() {
loadfile($(this).text());
});
}); });