tazpanel view settings.cgi @ rev 106

network.cgi: Improve wifi settings
author Christophe Lincoln <pankso@slitaz.org>
date Fri Apr 15 06:37:45 2011 +0200 (2011-04-15)
parents 25602bc63ca7
children b898c9887a62
line source
1 #!/bin/sh
2 #
3 # System settings CGI interface: user, locale, keyboard, date. Since we
4 # dont have multiple pages here there is only one case used to get command
5 # values and the full content is following directly.
6 #
7 # Copyright (C) 2011 SliTaz GNU/Linux - GNU gpl v3
8 #
10 # Common functions from libtazpanel
11 . lib/libtazpanel
12 get_config
13 header
15 # Include gettext helper script.
16 . /usr/bin/gettext.sh
18 # Export package name for gettext.
19 TEXTDOMAIN='tazpanel'
20 export TEXTDOMAIN
22 TITLE="- Settings"
24 # Get the list of system locales
25 list_locales() {
26 cd /usr/share/i18n/locales
27 for locale in `ls -1 [a-z][a-z]_[A-Z][A-Z]`
28 do
29 echo "<option value='$locale'>$locale</option>"
30 done
31 }
33 #
34 # Commands executed before page loading.
35 #
37 case " $(GET) " in
38 *\ user*)
39 #
40 # Manage system user accounts
41 #
42 for i in $(seq 1 $(GET deluser count)); do
43 deluser $(GET deluser $i)
44 done
45 user=$(GET adduser)
46 if [ -n "$user" ]; then
47 adduser -D $user
48 echo "$(GET passwd)" | chpasswd
49 for g in audio cdrom floppy video
50 do
51 addgroup $user $g
52 done
53 fi ;;
54 *\ gen_locale\ *)
55 new_locale=$(GET gen_locale) ;;
56 *\ rdate\ *)
57 rdate -s tick.greyware.com ;;
58 *\ hwclock\ *)
59 hwclock -w ;;
60 *)
61 continue ;;
62 esac
64 #
65 # Default xHTML content
66 #
67 xhtml_header
69 cat << EOT
70 <div id="wrapper">
71 <h2>`gettext "System settings"`</h2>
72 <p>`gettext "Manage system time, users or language settings"`<p>
73 </div>
75 <pre>
76 `gettext "Time zome :"` `cat /etc/TZ`
77 `gettext "System time :"` `date`
78 `gettext "Hardware clock :"` `hwclock -r`
79 </pre>
80 <a class="button" href="$SCRIPT_NAME?rdate">`gettext "Sync online"`</a>
81 <a class="button" href="$SCRIPT_NAME?hwclock">`gettext "Set hardware clock"`</a>
82 EOT
83 #
84 # Users management
85 #
87 cat <<EOT
88 <h3>`gettext "Users"`</h3>
89 <form method="get" action="$SCRIPT_NAME">
90 EOT
91 table_start
92 cat << EOT
93 <tr class="thead">
94 <td>`gettext "Login"`</td>
95 <td>`gettext "User ID"`</td>
96 <td>`gettext "Name"`</td>
97 <td>`gettext "Home"`</td>
98 <td>`gettext "SHell"`</td>
99 </tr>
100 EOT
101 for i in `cat /etc/passwd | cut -d ":" -f 1`
102 do
103 if [ -d /home/$i ]; then
104 login=$i
105 uid=`cat /etc/passwd | grep $i | cut -d ":" -f 3`
106 gid=`cat /etc/passwd | grep $i | cut -d ":" -f 4`
107 name=`cat /etc/passwd | grep $i | cut -d ":" -f 5 | \
108 sed s/,,,//`
109 home=`cat /etc/passwd | grep $i | cut -d ":" -f 6`
110 shell=`cat /etc/passwd | grep $i | cut -d ":" -f 7`
111 echo '<tr>'
112 echo "<td><input type='hidden' name='user' />
113 <input type='checkbox' name='deluser' value='$login' />
114 <img src='$IMAGES/user.png' />$login</td>"
115 echo "<td>$uid:$gid</td>"
116 echo "<td>$name</td>"
117 echo "<td>$home</td>"
118 echo "<td>$shell</td>"
119 echo '</tr>'
120 fi
121 done
122 table_end
123 cat << EOT
124 <div>
125 <input type="submit" value="`gettext "Delete selected user"`" />
126 </div>
127 </form>
129 <h4>`gettext "Add a new user"`</h4>
130 <form method="get" action="$SCRIPT_NAME">
131 <input type="hidden" name="user" />
132 <p>`gettext "User login:"`</p>
133 <p><input type="text" name="adduser" size="30" /></p>
134 <p>`gettext "User password:"`</p>
135 <p><input type="password" name="passwd" size="30" /></p>
136 <input type="submit" value="`gettext "Create user"`" />
137 </form>
138 EOT
140 #
141 # Locale settings
142 #
143 cat << EOT
144 <a name="locale"></a>
145 <h3>`gettext "System language"`</h3>
146 <p>
147 EOT
148 # Check if a new locale was requested
149 if [ -n "$new_locale" ]; then
150 rm -rf /usr/lib/locale/$new_locale
151 localedef -i $new_locale -c -f UTF-8 \
152 /usr/lib/locale/$new_locale
153 # System configuration
154 echo "LANG=$new_locale" > /etc/locale.conf
155 echo "LC_ALL=$new_locale" >> /etc/locale.conf
156 eval_gettext "You must logout and login again to your current
157 session to use \$new_locale locale."
158 else
159 eval_gettext "Current system locales: "
160 locale -a
161 fi
162 cat << EOT
163 </p>
164 <form method="get" action="$SCRIPT_NAME">
165 `gettext "Available locales:"`
166 <select name="gen_locale">
167 <option value="en_US">en_US</options>
168 `list_locales`
169 </select>
170 <input type="submit" value="`gettext "Select"`" />
171 </form>
172 EOT
174 xhtml_footer
175 exit 0