tazpanel diff hardware.cgi @ rev 496

boot.cgi: look for 'daemon'd.conf too
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed May 13 15:51:06 2015 +0200 (2015-05-13)
parents c65bbbb1b0e1
children 5f5f6496a115
line diff
     1.1 --- a/hardware.cgi	Mon Apr 27 00:16:35 2015 +0200
     1.2 +++ b/hardware.cgi	Wed May 13 15:51:06 2015 +0200
     1.3 @@ -27,6 +27,25 @@
     1.4  	done 2> /dev/null | sed 's/  */ /g'
     1.5  }
     1.6  
     1.7 +lsusb_vd() {
     1.8 +	if lsusb --help 2>&1 | grep -qi busybox ; then
     1.9 +		for i in /sys/class/usb_device/*/device ; do
    1.10 +			grep -qs ${1%:*} $i/idVendor || continue
    1.11 +			grep -qs ${1#*:} $i/idProduct || continue
    1.12 +			( cd $i ; for j in * ; do
    1.13 +				[ -f $j -a -r $j ] || continue
    1.14 +				case "$j" in
    1.15 +				descriptors|remove) continue
    1.16 +				esac
    1.17 +				printf "%-20s %s\n" $j "$(xargs echo < $j)"
    1.18 +			  done  )
    1.19 +			break
    1.20 +		done
    1.21 +	else
    1.22 +		lsusb -vd $1 | syntax_highlighter lsusb
    1.23 +	fi
    1.24 +}
    1.25 +
    1.26  lsusb_table() {
    1.27  	cat <<EOT
    1.28  <table class="wide zebra">
    1.29 @@ -40,11 +59,12 @@
    1.30  	</thead>
    1.31  <tbody>
    1.32  EOT
    1.33 -	lsusb | sed 's|^Bus \([0-9]*\)|<tr><td>\1</td>|;
    1.34 -			s|</td> Device \([0-9]*\):|</td><td>\1</td>|;
    1.35 -			s|</td> ID \([^:]*:[^ ]*\)|</td><td><a href="?lsusb=\1">\1</a></td>|;
    1.36 -			s| |<td>|2;
    1.37 -			s|.*$|\0</td></tr>|'
    1.38 +	lsusb | while read x b y d z id name ; do
    1.39 +		echo "<tr><td>$b</td><td>${d%:}</td><td><a href=\"?lsusb=$id"
    1.40 +		p=$(printf "class/usb_device/usbdev%d.%d" $b ${d%:})
    1.41 +		grep -qs 0 /sys/$p/device/authorized && id="<del>$id</del>"
    1.42 +		echo "\">$id</td><td>$name</td></tr>"
    1.43 +	done
    1.44  	echo "</tbody></table>"
    1.45  }
    1.46  
    1.47 @@ -185,7 +205,7 @@
    1.48  EOT
    1.49  		[ "$vidpid" != 'lsusb' ] && cat <<EOT
    1.50  <section>
    1.51 -	<pre style="white-space: pre-wrap">$(lsusb -vd $vidpid | syntax_highlighter lsusb)</pre>
    1.52 +	<pre style="white-space: pre-wrap">$(lsusb_vd $vidpid)</pre>
    1.53  </section>
    1.54  EOT
    1.55  		;;
    1.56 @@ -407,9 +427,11 @@
    1.57  			1) disktype="cd" ;;
    1.58  			esac
    1.59  
    1.60 +			radio="<input type=\"radio\" name=\"device\" value=\"$action $fs\" id=\"${fs#/dev/}\"/>"
    1.61 +			[ "$REMOTE_USER" == "root" ] || radio=""
    1.62  			cat <<EOT
    1.63  			<tr>
    1.64 -				<td><input type="radio" name="device" value="$action $fs" id="${fs#/dev/}"/><!--
    1.65 +				<td>$radio<!--
    1.66  					--><label for="${fs#/dev/}" data-icon="$disktype">&thinsp;${fs#/dev/}</label></td>
    1.67  				<td>$(blkid $fs | sed '/LABEL=/!d;s/.*LABEL="\([^"]*\).*/\1/')</td>
    1.68  				<td>$type</td>