tazpanel diff floppy.cgi @ rev 528

Update fr.po
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Aug 26 09:13:07 2015 +0200 (2015-08-26)
parents
children 551a881b8292
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/floppy.cgi	Wed Aug 26 09:13:07 2015 +0200
     1.3 @@ -0,0 +1,346 @@
     1.4 +#!/bin/sh
     1.5 +#
     1.6 +# Floppy set CGI interface
     1.7 +#
     1.8 +# Copyright (C) 2015 SliTaz GNU/Linux - BSD License
     1.9 +#
    1.10 +
    1.11 +# Common functions from libtazpanel
    1.12 +. lib/libtazpanel
    1.13 +get_config
    1.14 +
    1.15 +
    1.16 +case "$1" in
    1.17 +	menu)
    1.18 +		TEXTDOMAIN_original=$TEXTDOMAIN
    1.19 +		export TEXTDOMAIN='floppy'
    1.20 +
    1.21 +		#which bootloader > /dev/null &&
    1.22 +		cat <<EOT
    1.23 +<li><a data-icon="slitaz" href="floppy.cgi">$(_ 'Boot floppy')</a></li>
    1.24 +EOT
    1.25 +		export TEXTDOMAIN=$TEXTDOMAIN_original
    1.26 +		exit
    1.27 +esac
    1.28 +
    1.29 +
    1.30 +#
    1.31 +# Commands
    1.32 +#
    1.33 +
    1.34 +error=
    1.35 +case " $(POST) " in
    1.36 +*\ doformat\ *)
    1.37 +	fdformat $(POST fd)
    1.38 +	which mkfs.$(POST fstype) > /dev/null 2>&1 &&
    1.39 +	mkfs.$(POST fstype) $(POST fd)
    1.40 +	;;
    1.41 +*\ write\ *)
    1.42 +	if [ "$(FILE fromimage tmpname)" ]; then
    1.43 +		dd if=$(FILE fromimage tmpname) of=$(POST tofd)
    1.44 +		rm -f $(FILE fromimage tmpname)
    1.45 +	else
    1.46 +		error="$(msg err 'Broken FILE support')"
    1.47 +	fi ;;
    1.48 +*\ read\ *)
    1.49 +	dd if=$(POST fromfd) of=$(POST toimage)
    1.50 +	;;
    1.51 +*\ build\ *)
    1.52 +	cmd=""
    1.53 +	toremove=""
    1.54 +	while read key file ; do
    1.55 +		[ "$(FILE $file size)" ] || continue
    1.56 +		for i in $(seq 1 $(FILE $file count)); do
    1.57 +			cmd="$cmd $key $(FILE $file tmpname $i)"
    1.58 +			toremove="$toremove $(FILE $file tmpname $i)"
    1.59 +		done
    1.60 +	done <<EOT
    1.61 +bootloader	kernel
    1.62 +--initrd	initrd
    1.63 +--initrd	initrd2
    1.64 +--info		info
    1.65 +EOT
    1.66 +	error="$(msg err 'Broken FILE support !')
    1.67 +		<pre>$(httpinfo)</pre>"
    1.68 +	if [ "$cmd" ]; then
    1.69 +		for key in cmdline rdev video format mem ; do
    1.70 +			[ "$(POST $key)" ] || continue
    1.71 +			cmd="$cmd --$key '$(POST $key)'"
    1.72 +		done 
    1.73 +		[ "$(POST edit)" ] || cmd="$cmd --dont-edit-cmdline"
    1.74 +		TITLE="$(_ 'TazPanel - floppy')"
    1.75 +		header
    1.76 +		xhtml_header
    1.77 +		cd $(POST workdir)
    1.78 +		echo "<pre>"
    1.79 +		eval $cmd 2>&1
    1.80 +		echo "</pre>"
    1.81 +		[ "$toremove" ] && rm -f $toremove && rmdir $(dirname $toremove)
    1.82 +		xhtml_footer
    1.83 +		exit 0
    1.84 +	fi
    1.85 +	;;
    1.86 +esac
    1.87 +
    1.88 +listfd()
    1.89 +{
    1.90 +	echo "<select name=\"$1\">"
    1.91 +	ls /dev/fd[0-9]* | sed 's|.*|<option>&</option>|'
    1.92 +	echo "</select>"
    1.93 +}
    1.94 +
    1.95 +TITLE="$(_ 'TazPanel - floppy')"
    1.96 +header
    1.97 +xhtml_header
    1.98 +echo "$error"
    1.99 +
   1.100 +cat <<EOT
   1.101 +<form method="post" enctype="multipart/form-data">
   1.102 +EOT
   1.103 +[ -w /dev/fd0 ] && cat <<EOT
   1.104 +<section>
   1.105 +	<header>
   1.106 +		$(_ 'Floppy disk format')
   1.107 +	</header>
   1.108 +	<button type="submit" name="doformat" data-icon="start" >$(_ 'Format disk'  )</button>
   1.109 +	$(listfd fd) filesystem:
   1.110 +	<select name "fstype">
   1.111 +		<option>$(_ 'none')</option>
   1.112 +		$(ls /sbin/mkfs.* | sed '/dev/d;s|.*/mkfs.\(.*\)|<option>\1</option>|')
   1.113 +	</select>
   1.114 +</section>
   1.115 +
   1.116 +<section>
   1.117 +	<header>
   1.118 +		$(_ 'Floppy disk transfert')
   1.119 +	</header>
   1.120 +<table>
   1.121 +	<tbody>
   1.122 +	<tr>
   1.123 +	<td>
   1.124 +	<button type="submit" name="write" data-icon="start" >$(_ 'Write image'  )</button>
   1.125 +	$(listfd tofd) &lt;&lt;&lt; <input name="fromimage" type="file">
   1.126 +	</td>
   1.127 +	</tr>
   1.128 +	<tr>
   1.129 +	<td>
   1.130 +	<button type="submit" name="read" data-icon="start" >$(_ 'Read image'  )</button>
   1.131 +	$(listfd fromfd) &gt;&gt;&gt; <input name="toimage" type="text" value="/tmp/floppy.img">
   1.132 +	<td>
   1.133 +	</tr>
   1.134 +	</tbody>
   1.135 +</table>
   1.136 +</section>
   1.137 +EOT
   1.138 +cat <<EOT
   1.139 +<section>
   1.140 +	<header>
   1.141 +		$(_ 'Boot floppy set builder')
   1.142 +	</header>
   1.143 +
   1.144 +<table>
   1.145 +	<tbody><tr>
   1.146 +	<td>$(_ 'Linux kernel:')</td>
   1.147 +	<td><input name="kernel" size="37" type="file"> <i>$(_ 'required')</i></td>
   1.148 +	</tr>
   1.149 +	<tr>
   1.150 +	<td>$(_ 'Initramfs / Initrd:')</td>
   1.151 +	<td><input name="initrd[]" size="37" type="file" multiple> <i>$(_ 'optional')</i></td>
   1.152 +	</tr>
   1.153 +	<tr>
   1.154 +	<td>$(_ 'Extra initramfs:')</td>
   1.155 +	<td><input name="initrd2[]" size="37" type="file" multiple> <i>$(_ 'optional')</i></td>
   1.156 +	</tr>
   1.157 +	<tr>
   1.158 +	<td>$(_ 'Boot message:')</td>
   1.159 +	<td><input name="info" size="37" type="file"> <i>$(_ 'optional')</i></td>
   1.160 +	</tr>
   1.161 +	<tr>
   1.162 +	<td>$(_ 'Default cmdline:')</td>
   1.163 +	<td id="cmdline"><input name="cmdline" size="36" type="text"> <input name="edit" checked="checked" type="checkbox">$(_ 'edit')
   1.164 +	<i>$(_ 'optional')</i></td>
   1.165 +	</tr>
   1.166 +	<tr>
   1.167 +	<td>$(_ 'Root device:')</td>
   1.168 +	<td><input name="rdev" size="8" value="/dev/ram0" type="text">
   1.169 +	&nbsp;&nbsp;$(_ 'Flags:') <select name="flags">
   1.170 +		<option selected="selected" value="1">R/O</option>
   1.171 +		<option value="0">R/W</option>
   1.172 +	</select>
   1.173 +	&nbsp;&nbsp;VESA: <select name="video">
   1.174 +		<option value="-3">Ask</option>
   1.175 +<option value="-2">Extended</option>
   1.176 +<option value="-1" selected="selected">Standard</option>
   1.177 +<option value="0">0</option>
   1.178 +<option value="1">1</option>
   1.179 +<option value="2">2</option>
   1.180 +<option value="3">3</option>
   1.181 +<option value="4">4</option>
   1.182 +<option value="5">5</option>
   1.183 +<option value="6">6</option>
   1.184 +<option value="7">7</option>
   1.185 +<option value="8">8</option>
   1.186 +<option value="9">9</option>
   1.187 +<option value="10">10</option>
   1.188 +<option value="11">11</option>
   1.189 +<option value="12">12</option>
   1.190 +<option value="13">13</option>
   1.191 +<option value="14">14</option>
   1.192 +<option value="15">15</option>
   1.193 +<option value="3840">80x25</option>
   1.194 +<option value="3841">80x50</option>
   1.195 +<option value="3842">80x43</option>
   1.196 +<option value="3843">80x28</option>
   1.197 +<option value="3845">80x30</option>
   1.198 +<option value="3846">80x34</option>
   1.199 +<option value="3847">80x60</option>
   1.200 +<option value="778">132x43</option>
   1.201 +<option value="777">132x25</option>
   1.202 +<option value="824">320x200x8</option>
   1.203 +<option value="781">320x200x15</option>
   1.204 +<option value="782">320x200x16</option>
   1.205 +<option value="783">320x200x24</option>
   1.206 +<option value="800">320x200x32</option>
   1.207 +<option value="818">896x672x24</option>
   1.208 +<option value="915">320x240x15</option>
   1.209 +<option value="821">320x240x16</option>
   1.210 +<option value="917">320x240x24</option>
   1.211 +<option value="918">320x240x32</option>
   1.212 +<option value="819">896x672x32</option>
   1.213 +<option value="931">400x300x15</option>
   1.214 +<option value="822">400x300x16</option>
   1.215 +<option value="933">400x300x24</option>
   1.216 +<option value="934">400x300x32</option>
   1.217 +<option value="820">512x384x8</option>
   1.218 +<option value="947">512x384x15</option>
   1.219 +<option value="823">512x384x16</option>
   1.220 +<option value="949">512x384x24</option>
   1.221 +<option value="950">512x384x32</option>
   1.222 +<option value="962">640x350x8</option>
   1.223 +<option value="963">640x350x15</option>
   1.224 +<option value="964">640x350x16</option>
   1.225 +<option value="965">640x350x24</option>
   1.226 +<option value="966">640x350x32</option>
   1.227 +<option value="768">640x400x8</option>
   1.228 +<option value="899">640x400x15</option>
   1.229 +<option value="825">640x400x16</option>
   1.230 +<option value="901">640x400x24</option>
   1.231 +<option value="902">640x400x32</option>
   1.232 +<option value="769">640x480x8</option>
   1.233 +<option value="784">640x480x15</option>
   1.234 +<option value="785">640x480x16</option>
   1.235 +<option value="786">640x480x24</option>
   1.236 +<option value="826">640x480x32</option>
   1.237 +<option value="879">800x500x8</option>
   1.238 +<option value="880">800x500x15</option>
   1.239 +<option value="881">800x500x16</option>
   1.240 +<option value="882">800x500x24</option>
   1.241 +<option value="883">800x500x32</option>
   1.242 +<option value="771">800x600x8</option>
   1.243 +<option value="787">800x600x15</option>
   1.244 +<option value="788">800x600x16</option>
   1.245 +<option value="789">800x600x24</option>
   1.246 +<option value="827">800x600x32</option>
   1.247 +<option value="815">896x672x8</option>
   1.248 +<option value="816">1600x1200x8</option>
   1.249 +<option value="817">1600x1200x16</option>
   1.250 +<option value="874">1024x640x8</option>
   1.251 +<option value="875">1024x640x15</option>
   1.252 +<option value="876">1024x640x16</option>
   1.253 +<option value="877">1024x640x24</option>
   1.254 +<option value="878">1024x640x32</option>
   1.255 +<option value="773">1024x768x8</option>
   1.256 +<option value="790">1024x768x15</option>
   1.257 +<option value="791">1024x768x16</option>
   1.258 +<option value="792">1024x768x24</option>
   1.259 +<option value="828">1024x768x32</option>
   1.260 +<option value="869">1152x720x8</option>
   1.261 +<option value="870">1152x720x15</option>
   1.262 +<option value="871">1152x720x16</option>
   1.263 +<option value="872">1152x720x24</option>
   1.264 +<option value="873">1152x720x32</option>
   1.265 +<option value="775">1280x1024x8</option>
   1.266 +<option value="793">1280x1024x15</option>
   1.267 +<option value="794">1280x1024x16</option>
   1.268 +<option value="795">1280x1024x24</option>
   1.269 +<option value="829">1280x1024x32</option>
   1.270 +<option value="835">1400x1050x8</option>
   1.271 +<option value="837">1400x1050x16</option>
   1.272 +<option value="838">1400x1040x24</option>
   1.273 +<option value="864">1440x900x15</option>
   1.274 +<option value="866">1440x900x16</option>
   1.275 +<option value="867">1440x900x24</option>
   1.276 +<option value="868">1440x900x32</option>
   1.277 +<option value="893">1920x1200x8</option>
   1.278 +	</select>
   1.279 +	</td>
   1.280 +	</tr>
   1.281 +	<tr>
   1.282 +	<td>$(_ 'Output directory:')</td>
   1.283 +	<td id="workdir"><input name="workdir" size="36" type="text" value="/tmp"></td>
   1.284 +	</tr>
   1.285 +	<tr>
   1.286 +	<td>$(_ 'Floppy size:')</td>
   1.287 +	<td><select name="format">
   1.288 +		<optgroup label="5&frac14; SD">
   1.289 +		<option value="360">360 KB</option>
   1.290 +		</optgroup>
   1.291 +		<optgroup label="3&frac12; SD">
   1.292 +		<option value="720">720 KB</option>
   1.293 +		</optgroup>
   1.294 +		<optgroup label="5&frac14; HD">
   1.295 +		<option value="1200">1.20 MB</option>
   1.296 +		</optgroup>
   1.297 +		<optgroup label="3&frac12; HD">
   1.298 +		<option value="1440" selected="selected">1.44 MB</option>
   1.299 +		<option value="1600">1.60 MB</option>
   1.300 +		<option value="1680">1.68 MB</option>
   1.301 +		<option value="1722">1.72 MB</option>
   1.302 +		<option value="1743">1.74 MB</option>
   1.303 +		<option value="1760">1.76 MB</option>
   1.304 +		<option value="1840">1.84 MB</option>
   1.305 +		<option value="1920">1.92 MB</option>
   1.306 +		<option value="1968">1.96 MB</option>
   1.307 +		</optgroup>
   1.308 +		<optgroup label="3&frac12; ED">
   1.309 +		<option value="2880">2.88 MB</option>
   1.310 +		<option value="3360">3.36 MB</option>
   1.311 +		<option value="3444">3.44 MB</option>
   1.312 +		<option value="3840">3.84 MB</option>
   1.313 +		<option value="3936">3.92 MB</option>
   1.314 +		</optgroup>
   1.315 +		<option value="0">$(_ 'no limit')</option>
   1.316 +	</select>&nbsp;
   1.317 +	$(_ 'RAM used')&nbsp;<select name="mem">
   1.318 +		<option selected="selected" value="16">16 MB</option>
   1.319 +		<option value="15">15 MB</option>
   1.320 +		<option value="14">14 MB</option>
   1.321 +		<option value="13">13 MB</option>
   1.322 +		<option value="12">12 MB</option>
   1.323 +		<option value="11">11 MB</option>
   1.324 +		<option value="10">10 MB</option>
   1.325 +		<option value="9">9 MB</option>
   1.326 +		<option value="8">8 MB</option>
   1.327 +		<option value="7">7 MB</option>
   1.328 +		<option value="6">6 MB</option>
   1.329 +		<option value="5">5 MB</option>
   1.330 +		<option value="4">4 MB</option>
   1.331 +	</select>&nbsp;
   1.332 +	<button type="submit" name="build" data-icon="start" >$(_ 'Build floppy set'  )</button>
   1.333 +	</td>
   1.334 +	</tr>
   1.335 +</tbody></table>
   1.336 +<footer>
   1.337 +<p>
   1.338 +$(_ 'Note') 1: $(_ 'the extra initramfs may be useful to add your own configuration files.')
   1.339 +</p>
   1.340 +<p>
   1.341 +$(_ 'Note') 2: $(_ 'the keyboard is read for ESC or ENTER on every form feed (ASCII 12) in the boot message.')
   1.342 +</p>
   1.343 +</footer>
   1.344 +</section>
   1.345 +</form>
   1.346 +EOT
   1.347 +
   1.348 +xhtml_footer
   1.349 +exit 0