tazpanel rev 456

boot.cgi: ISO mine: "table"izing input form.
author Aleksej Bobylev <al.bobylev@gmail.com>
date Mon Apr 13 01:44:08 2015 +0300 (2015-04-13)
parents 1bc6783d2671
children 01289ab85829
files boot.cgi
line diff
     1.1 --- a/boot.cgi	Sun Apr 12 12:33:26 2015 +0200
     1.2 +++ b/boot.cgi	Mon Apr 13 01:44:08 2015 +0300
     1.3 @@ -363,23 +363,20 @@
     1.4  
     1.5  	*\ iso\ *)
     1.6  		xhtml_header
     1.7 -		iso=$(POST iso)
     1.8 +		iso=$(POST iso); [ -s "$iso" ] || unset iso
     1.9 +		action=$(POST action); [ "$action" ] || action=$(GET action)
    1.10  		workdir=$(POST workdir)
    1.11 -		action=$(POST action)
    1.12 -		[ "$action" ] || action=$(GET action)
    1.13  		[ -d $workdir ] || workdir=$(dirname $workdir)
    1.14  		[ -w $workdir -a "$workdir" ] || workdir=/tmp
    1.15 -		[ -s "$iso" ] || unset iso
    1.16 +
    1.17  		echo "<h2>$(_ 'ISO mine')</h2>"
    1.18 -		[ "$iso" ] || cat <<EOT
    1.19 -<section>
    1.20 -Invalid ISO image.
    1.21 -</section>
    1.22 -EOT
    1.23 +
    1.24 +		[ "$iso" ] || msg err 'Invalid ISO image.'
    1.25 +
    1.26  		if [ "$iso" -a "$action" -a "$action" != "nop" ]; then
    1.27  			case "$action" in
    1.28 -			install*) dev=$(POST instdev) ;;
    1.29 -			*) dev=$(POST usbkeydev) ;;
    1.30 +				install*) dev=$(POST instdev) ;;
    1.31 +				*) dev=$(POST usbkeydev) ;;
    1.32  			esac
    1.33  			cd $workdir
    1.34  			cat <<EOT
    1.35 @@ -392,21 +389,19 @@
    1.36  		fi
    1.37  		cat <<EOT
    1.38  <section>
    1.39 -<form method="post" action="?iso">
    1.40 +<form method="post" action="?iso" class="wide">
    1.41  EOT
    1.42  		cat <<EOT
    1.43 -<p>
    1.44 -ISO image file full path (set /dev/cdrom for a physical CD-ROM)<br />
    1.45 -<input type="text" name="iso" value="$iso" size="50" />
    1.46 -</p>
    1.47 -<p>
    1.48 -Working directory
    1.49 -<input type="text" name="workdir" value="$workdir" />
    1.50 -</p>
    1.51 -<p>
    1.52 -Windows partition
    1.53 -<select name="instdev">
    1.54 -	<option value="/dev/null">Choose a partition (optional)</option>
    1.55 +<table>
    1.56 +	<tr><td>ISO image file full path
    1.57 +			<span data-img="info" title="set /dev/cdrom for a physical CD-ROM"></span>
    1.58 +		</td>
    1.59 +		<td><input type="text" name="iso" value="$iso" size="50"/></td></tr>
    1.60 +	<tr><td>Working directory</td>
    1.61 +		<td><input type="text" name="workdir" value="$workdir"/></td></tr>
    1.62 +	<tr><td>Windows partition</td>
    1.63 +		<td><select name="instdev">
    1.64 +			<option value="/dev/null">Choose a partition (optional)</option>
    1.65  EOT
    1.66  		blkid | grep -iE "(msdos|vfat|ntfs)" | \
    1.67  		sed 's|^/dev/\(.*\):.*LABEL="\([^"]*\).*|\1 "\2"|' | \
    1.68 @@ -415,32 +410,31 @@
    1.69  			echo "$(($(cat /sys/block/${dev:0:3}/$dev/size)/2048))MB</option>"
    1.70  		done 
    1.71  		cat <<EOT
    1.72 -</select>
    1.73 -</p>
    1.74 -<p>
    1.75 -USB key device
    1.76 -<select name="usbkeydev">
    1.77 -	<option value="/dev/null">Choose a USB key (optional)</option>
    1.78 +			</select></td></tr>
    1.79 +	<tr><td>USB key device</td>
    1.80 +		<td><select name="usbkeydev">
    1.81 +			<option value="/dev/null">Choose a USB key (optional)</option>
    1.82  EOT
    1.83  		grep -l 1 /sys/block/*/removable | \
    1.84  		sed 's|/sys/block/\(.*\)/removable|\1|' | while read dev; do
    1.85  			grep -qs 1 /sys/block/$DEV/ro && continue
    1.86  			echo -n "<option value=\"/dev/$dev\">/dev/$dev "
    1.87  			echo "$(($(cat /sys/block/$dev/size)/2048))MB $(cat \
    1.88 -				/sys/block/$i/device/model 2> /dev/null)</option>"
    1.89 +				/sys/block/$i/device/model 2>/dev/null)</option>"
    1.90  		done
    1.91  		cat <<EOT
    1.92 -</select>
    1.93 -</p>
    1.94 +			</select></td></tr>
    1.95 +</table>
    1.96  <footer>
    1.97  EOT
    1.98 +
    1.99  		if [ "$iso" ]; then
   1.100  			cat <<EOT
   1.101  <select name="action">
   1.102  	<option value="nop">Choose an action</option>
   1.103 -$(taziso $iso list | sed -e \
   1.104 -'s/"\(.*\)"[\t ]*"\(.*\)"/<option value="\1\">\2<\/option>/' -e \
   1.105 -"s|value=\"$action\"|& selected|")
   1.106 +	$(taziso $iso list | sed -e \
   1.107 +		's/"\(.*\)"[\t ]*"\(.*\)"/<option value="\1\">\2<\/option>/' -e \
   1.108 +		"s|value=\"$action\"|& selected|")
   1.109  </select>
   1.110  EOT
   1.111  		elif [ "$action" ]; then
   1.112 @@ -448,6 +442,7 @@
   1.113  <input type="hidden" name="action" value="$action" />
   1.114  EOT
   1.115  		fi
   1.116 +
   1.117  		cat <<EOT
   1.118  	<button data-icon="cd" name="mine">Mine</button>
   1.119  </footer>
   1.120 @@ -455,6 +450,8 @@
   1.121  </section>
   1.122  EOT
   1.123  		;;
   1.124 +
   1.125 +
   1.126  	*)
   1.127  		#
   1.128  		# Default content with summary