tazpanel rev 240

network.cgi: Dont modify config file if essid is just selected
author Christophe Lincoln <pankso@slitaz.org>
date Tue Feb 28 13:47:26 2012 +0100 (2012-02-28)
parents 7f40832df583
children aa473e832856
files network.cgi
line diff
     1.1 --- a/network.cgi	Tue Feb 28 12:46:02 2012 +0100
     1.2 +++ b/network.cgi	Tue Feb 28 13:47:26 2012 +0100
     1.3 @@ -79,13 +79,6 @@
     1.4  			-e s'/^STATIC=.*/STATIC="no"/'/etc/network.conf
     1.5  		/etc/init.d/network.sh start | log
     1.6  		sleep 2 ;;
     1.7 -	*\ select\ *)
     1.8 -			WIFI_KEY_TYPE="$(GET keytype)"
     1.9 -			[ "$WIFI_KEY_TYPE" == "on" ] && WIFI_KEY_TYPE=""
    1.10 -			sed -i \
    1.11 -				-e s"/^WIFI_ESSID=.*/WIFI_ESSID=\"$(GET select)\""/ \
    1.12 -				-e s"/^WIFI_KEY_TYPE=.*/WIFI_KEY_TYPE=\"$WIFI_KEY_TYPE\"/" \
    1.13 -				/etc/network.conf ;;
    1.14  	*\ hostname\ *)
    1.15  		echo $(gettext "Changed hostname:") $(GET hostname) | log
    1.16  		echo "$(GET hostname)" > /etc/hostname ;;
    1.17 @@ -106,7 +99,7 @@
    1.18  		LOADING_MSG=$(gettext "Scanning open ports...")
    1.19  		loading_msg
    1.20  		cat << EOT
    1.21 -<h2>`gettext "Port scanning for"` $scan</h2>
    1.22 +<h2>$(gettext "Port scanning for") $scan</h2>
    1.23  <pre>
    1.24  $(pscan -b $scan)
    1.25  </pre>
    1.26 @@ -133,10 +126,10 @@
    1.27  			/etc/init.d/network stop | log
    1.28  			sleep 2
    1.29  			/etc/init.d/network start | log
    1.30 +			. /etc/network.conf
    1.31  		fi
    1.32 -		. /etc/network.conf
    1.33  		cat << EOT
    1.34 -<h2>`gettext "Ethernet connection"`</h2>
    1.35 +<h2>$(gettext "Ethernet connection")</h2>
    1.36  <p>
    1.37  $(gettext "Here you can configure a wired connection using DHCP to
    1.38  automatically get a random IP or configure a static/fixed IP")
    1.39 @@ -191,27 +184,9 @@
    1.40  		;;
    1.41  	*\ wifi\ *)
    1.42  		# Wireless connections settings
    1.43 -		#ifconfig $WIFI_INTERFACE up
    1.44  		xhtml_header
    1.45  		LOADING_MSG=$(gettext "Scanning wireless interface...")
    1.46  		loading_msg
    1.47 -		if [ "$(GET essid)" ]; then
    1.48 -			WIFI_KEY=""
    1.49 -			WIFI_KEY_TYPE=none
    1.50 -			[ -n "$(GET key)" ] && WIFI_KEY="$(GET key)"
    1.51 -			[ -n "$(GET keytype)" ] && WIFI_KEY_TYPE="$(GET keytype)"
    1.52 -			sed -i \
    1.53 -				-e s'/^DHCP=.*/DHCP="yes"/' \
    1.54 -				-e s'/^STATIC=.*/STATIC="no"/' \
    1.55 -				-e s'/^WIFI=.*/WIFI="yes"/' \
    1.56 -				-e s"/^WIFI_ESSID=.*/WIFI_ESSID=\"$(GET essid)\""/ \
    1.57 -				-e s"/^WIFI_KEY=.*/WIFI_KEY=\"$WIFI_KEY\"/" \
    1.58 -				-e s"/^WIFI_KEY_TYPE=.*/WIFI_KEY_TYPE=\"$WIFI_KEY_TYPE\"/" \
    1.59 -				/etc/network.conf
    1.60 -			/etc/init.d/network stop | log
    1.61 -			sleep 2
    1.62 -			/etc/init.d/network start | log
    1.63 -		fi
    1.64  		. /etc/network.conf
    1.65  		cat << EOT
    1.66  <h2>$(gettext "Wireless connection")</h2>
    1.67 @@ -225,10 +200,39 @@
    1.68  </div>
    1.69  $(detect_wifi_networks)
    1.70  EOT
    1.71 +		if [ "$(GET essid)" ]; then
    1.72 +			WIFI_KEY=""
    1.73 +			WIFI_KEY_TYPE=none
    1.74 +			[ -n "$(GET key)" ] && WIFI_KEY="$(GET key)"
    1.75 +			[ -n "$(GET keytype)" ] && WIFI_KEY_TYPE="$(GET keytype)"
    1.76 +			/etc/init.d/network.sh stop | log
    1.77 +			sed -i \
    1.78 +				-e s'/^DHCP=.*/DHCP="yes"/' \
    1.79 +				-e s'/^STATIC=.*/STATIC="no"/' \
    1.80 +				-e s'/^WIFI=.*/WIFI="yes"/' \
    1.81 +				-e s"/^WIFI_ESSID=.*/WIFI_ESSID=\"$(GET essid)\""/ \
    1.82 +				-e s"/^WIFI_KEY=.*/WIFI_KEY=\"$WIFI_KEY\"/" \
    1.83 +				-e s"/^WIFI_KEY_TYPE=.*/WIFI_KEY_TYPE=\"$WIFI_KEY_TYPE\"/" \
    1.84 +				/etc/network.conf
    1.85 +			# BUG: It dont scan and connect. Just configure, user must then press
    1.86 +			# start on top.
    1.87 +			#/etc/init.d/network stop | log
    1.88 +			#sleep 2
    1.89 +			#/etc/init.d/network start | log
    1.90 +			. /etc/network.conf
    1.91 +		fi
    1.92 +		# ESSID names are clickable
    1.93 +		if [ "$(GET select)" ]; then
    1.94 +			if [ "$(GET select)" != "$WIFI_ESSID" ]; then
    1.95 +				WIFI_KEY=""
    1.96 +			fi
    1.97 +			WIFI_ESSID="$(GET select)"
    1.98 +			WIFI_KEY_TYPE="$(GET keytype)"
    1.99 +		fi
   1.100  	cat << EOT
   1.101  <h3>$(gettext "Connection")</h3>
   1.102  <form method="get" action="$SCRIPT_NAME">
   1.103 -	<input type="hidden" name="wifi" />
   1.104 +	<input type="hidden" name="connect-wifi" />
   1.105  	$(table_start)
   1.106  	<thead>
   1.107  		<tr>
   1.108 @@ -242,14 +246,14 @@
   1.109  	</tr>
   1.110  	<tr>
   1.111  		<td>$(gettext "Password (Wifi key)")</td>
   1.112 -		<td><input type="text" name="key" size="30" value="$WIFI_KEY" /></td>
   1.113 +		<td><input type="password" name="key" size="30" value="$WIFI_KEY" /></td>
   1.114  	</tr>
   1.115  	<tr>
   1.116  		<td>$(gettext "Encryption type")</td>
   1.117  		<td><input type="text" name="keytype" size="30" value="$WIFI_KEY_TYPE" /></td>
   1.118  	</tr>
   1.119  	$(table_end)
   1.120 -		<input type="submit" name="wifi" value="$(gettext "Connect")" />
   1.121 +		<input type="submit" name="wifi" value="$(gettext "Configure")" />
   1.122  </form>
   1.123  
   1.124  <h3>$(gettext "Configuration file")</h3>