tazpanel rev 8
Implement system upgrade: faster than ever now!!!
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Sat Apr 02 13:55:29 2011 +0200 (2011-04-02) |
parents | 4c5ad38717a0 |
children | dfcc3f322885 |
files | checkbox.js index.cgi tazpkg.cgi |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/checkbox.js Sat Apr 02 13:55:29 2011 +0200 1.3 @@ -0,0 +1,20 @@ 1.4 +javascript:(function(){ 1.5 +function checkFrames(w) { 1.6 + 1.7 + try { 1.8 + var inputs = w.document.getElementsByTagName('input'); 1.9 + for (var i = 0; i < inputs.length; i++) { 1.10 + if (inputs[i].type && inputs[i].type == 'checkbox'){ 1.11 + inputs[i].checked = !inputs[i].checked; 1.12 + } 1.13 + } 1.14 + } catch (e){} 1.15 + if(w.frames && w.frames.length>0){ 1.16 + for(var i = 0; i < w.frames.length;i++){ 1.17 + var fr = w.frames[i]; 1.18 + checkFrames(fr); 1.19 + } 1.20 + } 1.21 +} 1.22 +checkFrames(window); 1.23 +})()
2.1 --- a/index.cgi Sat Apr 02 10:23:38 2011 +0200 2.2 +++ b/index.cgi Sat Apr 02 13:55:29 2011 +0200 2.3 @@ -7,8 +7,10 @@ 2.4 2.5 . tazpanel.conf 2.6 2.7 -# xHTML 5 header 2.8 -cat $HEADER | sed s'/- %TITLE%//' 2.9 +xhtml_header() { 2.10 + # xHTML 5 header 2.11 + cat $HEADER | sed s/'- %TITLE%'/"$TITLE"/ 2.12 +} 2.13 2.14 [ $DEBUG == "1" ] && echo "<p class='debug'>DEBUG on</p>" 2.15 2.16 @@ -17,9 +19,9 @@ 2.17 # 2.18 2.19 case "$QUERY_STRING" in 2.20 - sysinfo) 2.21 - echo "TODO" ;; 2.22 users) 2.23 + TITLE="- Users" 2.24 + xhtml_header 2.25 echo '<ul>' 2.26 fgrep /home /etc/passwd | while read line 2.27 do 2.28 @@ -29,15 +31,20 @@ 2.29 done 2.30 echo '</ul>' ;; 2.31 network) 2.32 + TITLE="- Network" 2.33 + xhtml_header 2.34 echo '<pre>' 2.35 ifconfig 2.36 echo '</pre>' ;; 2.37 hardware) 2.38 + TITLE="- Hardware" 2.39 + xhtml_header 2.40 echo '<pre>' 2.41 lspci 2.42 echo '</pre>' ;; 2.43 *) 2.44 # Default xHTML content 2.45 + xhtml_header 2.46 cat << EOT 2.47 <p> 2.48 Uptime: `uptime`
3.1 --- a/tazpkg.cgi Sat Apr 02 10:23:38 2011 +0200 3.2 +++ b/tazpkg.cgi Sat Apr 02 13:55:29 2011 +0200 3.3 @@ -65,14 +65,18 @@ 3.4 3.5 # Display a full summary of packages stats 3.6 packages_summary() { 3.7 - gettext "Installed packages : " 3.8 + gettext "Installed packages : " 3.9 ls $INSTALLED | wc -l 3.10 - gettext "Mirrored packages : " 3.11 + gettext "Mirrored packages : " 3.12 cat $LOCALSTATE/packages.list | wc -l 3.13 - gettext "Last recharge : " 3.14 + gettext "Last recharge : " 3.15 stat -c %y $LOCALSTATE/packages.list | sed 's/\(:..\):.*/\1/' 3.16 - gettext "Installed files : " 3.17 + gettext "Upgradeable packages : " 3.18 + cat $LOCALSTATE/upgradeable-packages.list | wc -l 3.19 + gettext "Installed files : " 3.20 cat $INSTALLED/*/files.list | wc -l 3.21 + gettext "Blocked packages : " 3.22 + cat $LOCALSTATE/blocked-packages.list | wc -l 3.23 } 3.24 3.25 # 3.26 @@ -99,6 +103,7 @@ 3.27 EOT 3.28 } 3.29 3.30 + 3.31 list_actions() { 3.32 cat << EOT 3.33 <p> 3.34 @@ -119,11 +124,17 @@ 3.35 <input type="submit" name="do" value="remove" /> 3.36 `gettext "List:"` 3.37 <a href='$SCRIPT_NAME?list'>`gettext "My packages"`</a> | 3.38 - <a href='$SCRIPT_NAME?recharge'>`gettext "Recharge"`</a> 3.39 + <a href='$SCRIPT_NAME?recharge'>`gettext "Recharge"`</a> | 3.40 </p> 3.41 EOT 3.42 } 3.43 3.44 +js_checkbox_all() { 3.45 +cat << EOT 3.46 + 3.47 +EOT 3.48 +} 3.49 + 3.50 # 3.51 # Commands 3.52 # 3.53 @@ -177,7 +188,8 @@ 3.54 `gettext "List:"` 3.55 <a href='$SCRIPT_NAME?list'>`gettext "My packages"`</a> | 3.56 <a href='$SCRIPT_NAME?list-all'>`gettext "All packages"`</a> | 3.57 - <a href='$SCRIPT_NAME?recharge'>`gettext "Recharge"`</a> 3.58 + <a href='$SCRIPT_NAME?recharge'>`gettext "Recharge"`</a> | 3.59 + <a href="`cat checkbox.js`">`gettext "Toogle all"`</a> 3.60 </p> 3.61 EOT 3.62 table_start 3.63 @@ -186,13 +198,39 @@ 3.64 echo '</form>' ;; 3.65 recharge) 3.66 # Let recharge the packages list 3.67 + cat << EOT 3.68 + <p> 3.69 + `gettext "List:"` 3.70 + <a href='$SCRIPT_NAME?list'>`gettext "My packages"`</a> 3.71 + </p> 3.72 +<pre> 3.73 +EOT 3.74 + gettext "Recharging the packages list... please wait"; echo 3.75 + tazpkg recharge | filter_tazpkg_msgs 3.76 + echo '</pre>' 3.77 echo '<p>' 3.78 - gettext "Recharging the packages lists..." 3.79 - echo '</p><pre>' 3.80 - tazpkg recharge | filter_tazpkg_msgs 3.81 - echo '</pre><p>' 3.82 gettext "Packages lists are up-to-date" 3.83 echo '</p>' ;; 3.84 + upgradeable) 3.85 + cat << EOT 3.86 +<form method="get" action="$SCRIPT_NAME"> 3.87 +<p> 3.88 + `gettext "Selection:"` 3.89 + <input type="submit" name="do" value="install" /> 3.90 + `gettext "List:"` 3.91 + <a href='$SCRIPT_NAME?list'>`gettext "My packages"`</a> | 3.92 + `gettext "Upgradeable packages list"` 3.93 + <a href="`cat checkbox.js`">`gettext "Toogle all"`</a> 3.94 +</p> 3.95 +EOT 3.96 + table_start 3.97 + tazpkg upgradeable 3.98 + for pkg in `cat $LOCALSTATE/upgradeable-packages.list` 3.99 + do 3.100 + grep "^$pkg |" $LOCALSTATE/packages.desc | parse_packages_desc 3.101 + done 3.102 + table_end 3.103 + echo '</form>' ;; 3.104 do=*) 3.105 # Do an action on one or some packages 3.106 cmdline=`echo ${QUERY_STRING#do=} | sed s'/&/ /g'` 3.107 @@ -205,7 +243,7 @@ 3.108 echo '<p>' 3.109 gettext "Executing: tazpkg $cmd $pkg" 3.110 echo '</p><pre>' 3.111 - echo 'y' | tazpkg $cmd $pkg 2>/dev/null | filter_tazpkg_msgs 3.112 + echo 'y' | tazpkg $cmd $pkg --forced 2>/dev/null | filter_tazpkg_msgs 3.113 echo '</pre>' 3.114 done ;; 3.115 info=*) 3.116 @@ -220,8 +258,8 @@ 3.117 Name : $PACKAGE 3.118 Version : $VERSION 3.119 Description : $SHORT_DESC 3.120 -Depends : 3.121 - 3.122 +Depends : `for i in $DEPENDS; do echo -n \ 3.123 + "<a href="$SCRIPT_NAME?info=$i">$i</a> "; done` 3.124 Website : <a href="$WEB_SITE">$WEB_SITE</a> 3.125 Sizes : $PACKED_SIZE/$UNPACKED_SIZE 3.126 Files : `cat $INSTALLED/$pkg/files.list | wc -l` 3.127 @@ -238,7 +276,8 @@ 3.128 cat << EOT 3.129 `gettext "List:"` 3.130 <a href='$SCRIPT_NAME?list'>`gettext "My packages"`</a> | 3.131 -<a href='$SCRIPT_NAME?recharge'>`gettext "Recharge"`</a> 3.132 +<a href='$SCRIPT_NAME?recharge'>`gettext "Recharge"`</a> | 3.133 +<a href='$SCRIPT_NAME?upgradeable'>`gettext "Upgradeable"`</a> 3.134 <pre> 3.135 `packages_summary` 3.136 </pre>