forked from hummypkg/webif
0cfc8f233a
git-svn-id: file:///root/webif/svn/humax/pkg/src/webif/trunk@1778 2a923420-c742-0410-a762-8d5b09965624
115 lines
2.5 KiB
Plaintext
Executable File
115 lines
2.5 KiB
Plaintext
Executable File
#!/mod/bin/jimsh
|
|
|
|
package require cgi
|
|
source /mod/webif/lib/setup
|
|
require settings.class pkg.class altrow
|
|
|
|
if {[[settings] pkgdev]} { set filter 0 } else { set filter 1 }
|
|
|
|
httpheader
|
|
|
|
proc pkgrow {pkg} {
|
|
set name [$pkg get name]
|
|
altrow "pkg=\"$name\""
|
|
puts "<td nowrap>$name"
|
|
if {$::type eq "inst"} {
|
|
puts "<br><a href=# class=depends>
|
|
<img class=va border=0
|
|
src=/images/421_1_00_CH_Title_2R_Arrow.png height=14>
|
|
<span class=\"va footnote\">Info</span></a>"
|
|
}
|
|
puts "</td>"
|
|
|
|
if {$::type eq "avail"} {
|
|
puts "<td nowrap>[$pkg get latest]</td>"
|
|
} else {
|
|
puts "<td nowrap>[$pkg get installed]</td>"
|
|
}
|
|
|
|
if {$::type eq "upgr"} {
|
|
puts "<td nowrap>[$pkg get latest]</td>"
|
|
}
|
|
|
|
puts "<td>"
|
|
if {[dict exists $::pkgmeta $name]} {
|
|
puts "$::pkgmeta($name)"
|
|
} else {
|
|
puts "[$pkg get descr]"
|
|
}
|
|
if {$::type eq "upgr"} {
|
|
$pkg loadraw
|
|
set url [$pkg get url]
|
|
set changes [$pkg get changes]
|
|
if {$changes ne ""} {
|
|
puts "<br> - <i>$changes</i>"
|
|
}
|
|
if {$url ne ""} {
|
|
puts "
|
|
<br>
|
|
<a class=va href=\"$url\" target=_blank style=\"color: darkblue\">
|
|
<img class=va height=18 width=18 src=/img/info.png> $url
|
|
</a>"
|
|
}
|
|
}
|
|
puts "</td>"
|
|
|
|
if {![$pkg is installed]} {
|
|
set type Install
|
|
} elseif {$::type eq "upgr" && [$pkg is upgradable]} {
|
|
set type Upgrade
|
|
} else {
|
|
set type Remove
|
|
}
|
|
|
|
puts "<td align=center><small><button id=\"$name\"
|
|
action=[string tolower $type]
|
|
class=\"va [string tolower $type]\">$type</button></small></td>"
|
|
|
|
puts "</tr>"
|
|
}
|
|
|
|
pkg loadmeta
|
|
|
|
set type [cgi_get type "avail"]
|
|
|
|
set pkgs [pkg $type]
|
|
|
|
if {[llength $pkgs] > 0} {
|
|
puts "<table><tr><th>Package</th>"
|
|
|
|
if {$type eq "avail"} {
|
|
puts "<th>Available</th>"
|
|
} else {
|
|
puts "<th>Installed</th>"
|
|
}
|
|
|
|
if {$type eq "upgr"} {
|
|
puts "<th>Avail</th>"
|
|
}
|
|
|
|
puts "
|
|
<th>Description</th>
|
|
<th> Action </th>
|
|
</tr>
|
|
"
|
|
|
|
foreach pkg $pkgs {
|
|
if {$type ne "upgr" && $filter && \
|
|
![dict exists $::pkgmeta $pkg]} { continue }
|
|
pkgrow [pkg load $pkg]
|
|
}
|
|
puts "</table>"
|
|
if {$type ne "upgr" && $filter} {
|
|
puts "<font class=footnote>This is a filtered package list. To show all packages, enable the <i>Show development and advanced packages</i> in the settings screen.</font>"
|
|
}
|
|
} else {
|
|
puts "<i>No packages "
|
|
switch $type {
|
|
inst { puts "are installed." }
|
|
upgr { puts "are available for upgrade; try updating the package list from the Internet using the button above." }
|
|
avail { puts "are available for installation." }
|
|
}
|
|
puts "</i>"
|
|
}
|
|
|