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>