tazpanel diff settings.cgi @ rev 110

Move to settings.cgi and improve Panel configuration
author Christophe Lincoln <pankso@slitaz.org>
date Fri Apr 15 10:15:40 2011 +0200 (2011-04-15)
parents b898c9887a62
children dce3e66c3ba4
line diff
     1.1 --- a/settings.cgi	Fri Apr 15 09:14:23 2011 +0200
     1.2 +++ b/settings.cgi	Fri Apr 15 10:15:40 2011 +0200
     1.3 @@ -23,6 +23,15 @@
     1.4  	done
     1.5  }
     1.6  
     1.7 +# Get the list of panle styles
     1.8 +list_styles() {
     1.9 +	cd $PANEL/styles
    1.10 +	for style in *
    1.11 +	do
    1.12 +		echo "<option value='$style'>$style</option>"
    1.13 +	done
    1.14 +}
    1.15 +
    1.16  #
    1.17  # Commands executed before page loading.
    1.18  #
    1.19 @@ -32,9 +41,9 @@
    1.20  		#
    1.21  		# Manage system user accounts
    1.22  		#
    1.23 -		for i in $(seq 1 $(GET deluser count)); do
    1.24 -			deluser $(GET deluser $i)
    1.25 -		done
    1.26 +		if [ "$(GET deluser)" ]; then
    1.27 +			deluser $(GET deluser)
    1.28 +		fi
    1.29  		user=$(GET adduser)
    1.30  		if [ -n "$user" ]; then
    1.31  			adduser -D $user
    1.32 @@ -50,8 +59,11 @@
    1.33  		rdate -s tick.greyware.com ;;
    1.34  	*\ hwclock\ *)
    1.35  		hwclock -w ;;
    1.36 -	*)
    1.37 -		continue ;;
    1.38 +	*\ panel_pass*)
    1.39 +		sed -i s@/:root:.*@/:root:$(GET panel_pass)@ $HTTPD_CONF ;;
    1.40 +	*\ style*)
    1.41 +		sed -i s/'^STYLE.*'/"STYLE=\"$(GET style)\""/ $CONFIG
    1.42 +		. $CONFIG ;;	
    1.43  esac
    1.44  
    1.45  #
    1.46 @@ -59,61 +71,48 @@
    1.47  #
    1.48  xhtml_header
    1.49  
    1.50 -cat << EOT
    1.51 -<div id="wrapper">
    1.52 -	<h2>`gettext "System settings"`</h2>
    1.53 -	<p>`gettext "Manage system time, users or language settings"`<p>
    1.54 -</div>
    1.55 -
    1.56 -<pre>
    1.57 -`gettext "Time zome      :"` `cat /etc/TZ`
    1.58 -`gettext "System time    :"` `date`
    1.59 -`gettext "Hardware clock :"` `hwclock -r`
    1.60 -</pre>
    1.61 -<a class="button" href="$SCRIPT_NAME?rdate">`gettext "Sync online"`</a>
    1.62 -<a class="button" href="$SCRIPT_NAME?hwclock">`gettext "Set hardware clock"`</a>
    1.63 +case " $(GET) " in
    1.64 +	*\ user*)
    1.65 +		#
    1.66 +		# Users management
    1.67 +		#
    1.68 +		cat <<EOT
    1.69 +<h3>`gettext "Manage users"`</h3>
    1.70 +<form method="get" action="$SCRIPT_NAME">
    1.71 +$(table_start)
    1.72 +<thead>
    1.73 +	<tr>
    1.74 +		<td>`gettext "Login"`</td>
    1.75 +		<td>`gettext "User ID"`</td>
    1.76 +		<td>`gettext "Name"`</td>
    1.77 +		<td>`gettext "Home"`</td>
    1.78 +		<td>`gettext "SHell"`</td>
    1.79 +	</tr>
    1.80 +</thead>
    1.81  EOT
    1.82 -#
    1.83 -# Users management
    1.84 -#
    1.85 -
    1.86 -cat <<EOT
    1.87 -<h3>`gettext "Users"`</h3>
    1.88 -<form method="get" action="$SCRIPT_NAME">
    1.89 -EOT
    1.90 -table_start
    1.91 -cat << EOT
    1.92 -<tr class="thead">
    1.93 -	<td>`gettext "Login"`</td>
    1.94 -	<td>`gettext "User ID"`</td>
    1.95 -	<td>`gettext "Name"`</td>
    1.96 -	<td>`gettext "Home"`</td>
    1.97 -	<td>`gettext "SHell"`</td>
    1.98 -</tr>
    1.99 -EOT
   1.100 -for i in `cat /etc/passwd | cut -d ":" -f 1`
   1.101 -do
   1.102 -	if [ -d /home/$i ]; then
   1.103 -		login=$i
   1.104 -		uid=`cat /etc/passwd | grep $i | cut -d ":" -f 3`
   1.105 -		gid=`cat /etc/passwd | grep $i | cut -d ":" -f 4`
   1.106 -		name=`cat /etc/passwd | grep $i | cut -d ":" -f 5 | \
   1.107 -			sed s/,,,//`
   1.108 -		home=`cat /etc/passwd | grep $i | cut -d ":" -f 6`
   1.109 -		shell=`cat /etc/passwd | grep $i | cut -d ":" -f 7`
   1.110 -		echo '<tr>'
   1.111 -		echo "<td><input type='hidden' name='user' />
   1.112 -			<input type='checkbox' name='deluser' value='$login' />
   1.113 -			<img src='$IMAGES/user.png' />$login</td>"
   1.114 -		echo "<td>$uid:$gid</td>"
   1.115 -		echo "<td>$name</td>"
   1.116 -		echo "<td>$home</td>"
   1.117 -		echo "<td>$shell</td>"
   1.118 -		echo '</tr>'
   1.119 -	fi
   1.120 -done
   1.121 -table_end
   1.122 -cat << EOT
   1.123 +		for i in `cat /etc/passwd | cut -d ":" -f 1`
   1.124 +		do
   1.125 +			if [ -d /home/$i ]; then
   1.126 +				login=$i
   1.127 +				uid=`cat /etc/passwd | grep $i | cut -d ":" -f 3`
   1.128 +				gid=`cat /etc/passwd | grep $i | cut -d ":" -f 4`
   1.129 +				name=`cat /etc/passwd | grep $i | cut -d ":" -f 5 | \
   1.130 +					sed s/,,,//`
   1.131 +				home=`cat /etc/passwd | grep $i | cut -d ":" -f 6`
   1.132 +				shell=`cat /etc/passwd | grep $i | cut -d ":" -f 7`
   1.133 +				echo '<tr>'
   1.134 +				echo "<td><input type='hidden' name='user' />
   1.135 +					<input type='checkbox' name='deluser' value='$login' />
   1.136 +					<img src='$IMAGES/user.png' />$login</td>"
   1.137 +				echo "<td>$uid:$gid</td>"
   1.138 +				echo "<td>$name</td>"
   1.139 +				echo "<td>$home</td>"
   1.140 +				echo "<td>$shell</td>"
   1.141 +				echo '</tr>'
   1.142 +			fi
   1.143 +		done
   1.144 +		table_end
   1.145 +		cat << EOT
   1.146  	<div>
   1.147  		<input type="submit" value="`gettext "Delete selected user"`" />
   1.148  	</div>
   1.149 @@ -129,11 +128,34 @@
   1.150  	<input type="submit" value="`gettext "Create user"`" />
   1.151  </form>
   1.152  EOT
   1.153 +		;;
   1.154 +	*)
   1.155 +		#
   1.156 +		# Defaut system settings page
   1.157 +		#
   1.158 +		cat << EOT
   1.159 +<div id="wrapper">
   1.160 +	<h2>$(gettext "System settings")</h2>
   1.161 +	<p>$(gettext "Manage system time, users or language settings")<p>
   1.162 +</div>
   1.163 +<div id="actions">
   1.164 +	<a class="button" href="$SCRIPT_NAME?users">
   1.165 +		<img src="$IMAGES/users.png" />$(gettext "Manage users")</a>
   1.166 +</div>
   1.167  
   1.168 -#
   1.169 -# Locale settings
   1.170 -#
   1.171 -cat << EOT
   1.172 +<h3>`gettext "System time"`</h3>
   1.173 +<pre>
   1.174 +`gettext "Time zome      :"` `cat /etc/TZ`
   1.175 +`gettext "System time    :"` `date`
   1.176 +`gettext "Hardware clock :"` `hwclock -r`
   1.177 +</pre>
   1.178 +<a class="button" href="$SCRIPT_NAME?rdate">`gettext "Sync online"`</a>
   1.179 +<a class="button" href="$SCRIPT_NAME?hwclock">`gettext "Set hardware clock"`</a>
   1.180 +EOT
   1.181 +		#
   1.182 +		# Locale settings
   1.183 +		#
   1.184 +		cat << EOT
   1.185  <a name="locale"></a>
   1.186  <h3>`gettext "System language"`</h3>
   1.187  <p>
   1.188 @@ -149,20 +171,51 @@
   1.189  			eval_gettext "You must logout and login again to your current
   1.190  				session to use \$new_locale locale."
   1.191  		else
   1.192 -			eval_gettext "Current system locales: "
   1.193 +			gettext "Current system locales: "
   1.194  			locale -a
   1.195  		fi
   1.196  		cat << EOT
   1.197  </p>
   1.198  <form method="get" action="$SCRIPT_NAME">
   1.199 -	`gettext "Available locales:"`
   1.200 +	$(gettext "Available locales:")
   1.201  	<select name="gen_locale">
   1.202  		<option value="en_US">en_US</options>
   1.203 -		`list_locales`
   1.204 +		$(list_locales)
   1.205  	</select>
   1.206 -	<input type="submit" value="`gettext "Select"`" />
   1.207 +	<input type="submit" value="$(gettext "Activate")" />
   1.208  </form>
   1.209 +
   1.210 +<h3>$(gettext "Panel configuration")</h3>
   1.211 +<form method="get" action="$SCRIPT_NAME">
   1.212 +	<p>
   1.213 +		$(gettext "Style:")
   1.214 +		<select name="style">
   1.215 +			$(list_styles)
   1.216 +		</select>
   1.217 +		<input type="submit" value="$(gettext "Activate")" />
   1.218 +	</p>
   1.219 +</form>
   1.220 +<form method="get" action="$SCRIPT_NAME">
   1.221 +	<p>
   1.222 +		$(gettext "Panel password:")
   1.223 +		<input type="password" name="panel_pass"/>
   1.224 +		<input type="submit" value="$(gettext "Change")" />
   1.225 +	</p>
   1.226 +</form>
   1.227 +<p>
   1.228 +	$(gettext "Configuration files: ")
   1.229 +	<a class="button" href="index.cgi?file=$CONFIG">
   1.230 +		<img src="$IMAGES/edit.png" />$(gettext "Panel")</a>
   1.231 +	<a class="button" href="index.cgi?file=$HTTPD_CONF">
   1.232 +		<img src="$IMAGES/edit.png" />$(gettext "Server")</a>
   1.233 +</p>
   1.234 +<p>
   1.235 +	$(gettext "TazPanel provides a debuging mode and page:")
   1.236 +	<a href='/index.cgi?debug'>debug</a>
   1.237 +</p>
   1.238  EOT
   1.239 +	;;
   1.240 +esac
   1.241  
   1.242  xhtml_footer
   1.243  exit 0