tazpanel rev 373
hardware.cgi: add loop support
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Wed Jul 24 15:14:47 2013 +0000 (2013-07-24) |
parents | d1f4f991fb1d |
children | 7f8ca464ff96 |
files | boot.cgi hardware.cgi lib/libtazpanel styles/default/style.css |
line diff
1.1 --- a/boot.cgi Tue Jul 23 03:22:09 2013 +0300 1.2 +++ b/boot.cgi Wed Jul 24 15:14:47 2013 +0000 1.3 @@ -106,8 +106,9 @@ 1.4 echo -n "<td>" 1.5 cfg="" 1.6 grep -qi "^${name}_OPTIONS=" /etc/daemons.conf && cfg="options|$cfg" 1.7 - [ -s /etc/$name.conf ] && cfg="edit|$cfg" 1.8 - [ -s /etc/$name/$name.conf ] && cfg="edit::/etc/$name/$name.conf|$cfg" 1.9 + for i in /etc/slitaz /etc /etc/$name ; do 1.10 + [ -s $i/$name.conf ] && cfg="edit::$i/$name.conf|$cfg" 1.11 + done 1.12 [ -n "$(which $name)" ] && cfg="man|help|$cfg" 1.13 case "$name" in 1.14 firewall)
2.1 --- a/hardware.cgi Tue Jul 23 03:22:09 2013 +0300 2.2 +++ b/hardware.cgi Wed Jul 24 15:14:47 2013 +0000 2.3 @@ -12,6 +12,14 @@ 2.4 2.5 TITLE=$(gettext 'TazPanel - Hardware') 2.6 2.7 +# Call an optionnal module 2.8 +lib() 2.9 +{ 2.10 + module=lib/$1 2.11 + shift 2.12 + [ -s $module ] && . $module "$@" 2.13 +} 2.14 + 2.15 lsusb_table() 2.16 { 2.17 cat << EOT 2.18 @@ -267,6 +275,7 @@ 2.19 # Disk stats and management (mount, umount, check) 2.20 # 2.21 device=$(GET device) 2.22 + lib crypto $device 2.23 case "$device" in 2.24 *[\;\`\&\|\$]*) ;; 2.25 mount\ *) 2.26 @@ -280,11 +289,9 @@ 2.27 EOT 2.28 df_thead 2.29 echo '<tbody>' 2.30 - blkid | sort | while read dev misc 2.31 + for fs in $(blkid | sort | sed 's/:.*//') 2.32 do 2.33 - fs=${dev%:} 2.34 - set -- 2.35 - df | grep -q "^$fs " && set -- $(df -h | grep "^$fs ") 2.36 + set -- $(df -h | grep "^$fs ") 2.37 size=$2 2.38 used=$3 2.39 av=$4 2.40 @@ -305,10 +312,20 @@ 2.41 fi 2.42 [ -z "$size" ] && 2.43 size="$(blk2h $(cat /sys/block/${fs#/dev/}/size /sys/block/*/${fs#/dev/}/size))" 2.44 + img="harddisk.png" 2.45 + case "$(cat /sys/block/${fs#/dev/}/removable 2> /dev/null || 2.46 + cat /sys/block/${fs:5:3}/removable 2> /dev/null)" in 2.47 + 1) img="floppy.png" ;; 2.48 + esac 2.49 + case "$(cat /sys/block/${fs#/dev/}/ro 2> /dev/null || 2.50 + cat /sys/block/${fs:5:3}/ro 2> /dev/null)" in 2.51 + 1) img="tazlito.png" ;; 2.52 + esac 2.53 + [ -s ".$IMAGES/$img" ] || img="harddisk.png" 2.54 cat << EOT 2.55 <tr> 2.56 <td><input type="radio" name="device" value="$action $fs" /> 2.57 - <img src="$IMAGES/harddisk.png" />${fs#/dev/}</td> 2.58 + <img src="$IMAGES/$img" />${fs#/dev/}</td> 2.59 <td>$(blkid $fs | sed '/LABEL=/!d;s/.*LABEL="\([^"]*\).*/\1/')</td> 2.60 <td>$type</td> 2.61 <td>$size</td> 2.62 @@ -335,6 +352,7 @@ 2.63 cat << EOT 2.64 </tbody> 2.65 </table> 2.66 +$(lib crypto input) 2.67 <input type="submit" value="mount / umount" /> - 2.68 new mount point <input type=text" name="mountpoint" value="/media/usbdisk" /> 2.69 </form> 2.70 @@ -354,6 +372,57 @@ 2.71 <img src="$IMAGES/edit.png" />$(gettext 'Manual Edit')</a> 2.72 2.73 2.74 +<h3>$(gettext 'Loop devices')</h3> 2.75 +EOT 2.76 + # 2.77 + # Loop device management 2.78 + # 2.79 + device=$(GET loopdev) 2.80 + lib crypto $device 2.81 + case "$device" in 2.82 + /dev/loop*) 2.83 + set -- $(losetup | grep ^$device:) 2.84 + [ -n "$3" ] && losetup -d $device 2.85 + ro="" 2.86 + [ -n "$(GET readonly)" ] && ro="-r" 2.87 + file="$(GET backingfile)" 2.88 + [ -n "$file" ] && losetup -o $(GET offset) $ro $device $file 2.89 + esac 2.90 + cat << EOT 2.91 +<form method="get" action="$SCRIPT_NAME#loop"> 2.92 +<table id="loop" class="zebra outbox nowrap"> 2.93 +<thead> 2.94 +<tr><td>Device</td><td>Backing file</td><td>Access</td><td>Offset</td></tr> 2.95 +</thead> 2.96 +<tbody> 2.97 +EOT 2.98 +for loop in $(ls /dev/loop[0-9]*); do 2.99 + case "$(cat /sys/block/${loop#/dev/}/ro 2> /dev/null)" in 2.100 + 0) ro="read/write" ;; 2.101 + 1) ro="read only" ;; 2.102 + *) ro="" ;; 2.103 + esac 2.104 + set -- $(losetup | grep ^$loop:) $ro 2.105 + cat << EOT 2.106 +<tr> 2.107 + <td><input type="radio" name="loopdev" value="$loop" /> 2.108 + <img src="$IMAGES/harddisk.png" />${loop#/dev/}</td> 2.109 + <td>$3</td><td align="center">$4</td><td align="right">$2</td> 2.110 +</tr> 2.111 +EOT 2.112 +done 2.113 + cat << EOT 2.114 +</tbody> 2.115 +</table> 2.116 +$(lib crypto input) 2.117 +<input type="submit" value="Setup" /> - 2.118 +new backing file <input type="file" name="backingfile" /> - 2.119 +offset in bytes <input type="text" name="offset" size="8" value="0" /> - 2.120 +<input type="checkbox" name "readonly"> read-only 2.121 +</form> 2.122 +EOT 2.123 + 2.124 + cat << EOT 2.125 <h3>$(gettext 'System memory')</h3> 2.126 EOT 2.127
3.1 --- a/lib/libtazpanel Tue Jul 23 03:22:09 2013 +0300 3.2 +++ b/lib/libtazpanel Wed Jul 24 15:14:47 2013 +0000 3.3 @@ -259,7 +259,7 @@ 3.4 for (i = 1; n > 1024; i++) 3.5 n /= 1024 3.6 f = "%1.0f%c" 3.7 - if (n < 1000) 3.8 + if (n < 100) 3.9 f = "%1.1f%c" 3.10 printf f,n,substr("KMGT", i, 1) 3.11 }'