tazpanel annotate settings.cgi @ rev 338
settings.cgi: set tz
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Wed Jan 02 14:12:12 2013 +0100 (2013-01-02) |
parents | 1bccb526ff67 |
children | cc5d96a08b68 |
rev | line source |
---|---|
pankso@42 | 1 #!/bin/sh |
pankso@42 | 2 # |
pankso@42 | 3 # System settings CGI interface: user, locale, keyboard, date. Since we |
paul@205 | 4 # don't have multiple pages here there is only one case used to get command |
paul@205 | 5 # values and the full content is followed directly. |
pankso@42 | 6 # |
pankso@112 | 7 # Copyright (C) 2011 SliTaz GNU/Linux - BSD License |
pankso@42 | 8 # |
pankso@42 | 9 |
pankso@42 | 10 # Common functions from libtazpanel |
pankso@42 | 11 . lib/libtazpanel |
pankso@42 | 12 get_config |
pascal@81 | 13 header |
pankso@42 | 14 |
al@292 | 15 TITLE=$(gettext 'TazPanel - Settings') |
pankso@42 | 16 |
pascal@336 | 17 # Get system database. LDAP compatible. |
pascal@336 | 18 getdb() |
pascal@336 | 19 { |
pascal@336 | 20 getent $1 2>/dev/null || cat /etc/$1 |
pascal@336 | 21 } |
pascal@336 | 22 |
pascal@336 | 23 listdb() |
pascal@336 | 24 { |
pascal@336 | 25 for item in $(getdb $1 | cut -d ":" -f 1); do |
pascal@336 | 26 echo "<option>$item</option>\n" |
pascal@336 | 27 done |
pascal@336 | 28 } |
pascal@336 | 29 |
pankso@42 | 30 # |
pankso@42 | 31 # Commands executed before page loading. |
pankso@42 | 32 # |
pankso@42 | 33 |
pascal@81 | 34 case " $(GET) " in |
pascal@115 | 35 *\ do\ *) |
paul@205 | 36 # Assume no array support in httpd_helper.sh ;^) |
pascal@115 | 37 users="" |
pascal@336 | 38 groups="" |
pascal@115 | 39 IFS="&" |
pascal@115 | 40 for i in $QUERY_STRING ; do |
pascal@115 | 41 case "$i" in |
pascal@336 | 42 user=*) users="$users ${i#user=}" ;; |
pascal@336 | 43 group=*) groups="$groups ${i#group=}" ;; |
pascal@115 | 44 esac |
pascal@115 | 45 done |
pascal@115 | 46 unset IFS |
pascal@336 | 47 for cmd in "Delete group" ; do |
pascal@336 | 48 [ "$(GET do)" == "$(gettext "$cmd")" ] || continue |
pascal@336 | 49 for group in $groups ; do |
pascal@336 | 50 case "$cmd" in |
pascal@336 | 51 Delete*) delgroup $group ;; |
pascal@336 | 52 esac |
pascal@336 | 53 done |
pascal@336 | 54 done |
pascal@115 | 55 for cmd in "Delete user" "Lock user" "Unlock user" \ |
pascal@115 | 56 "Change password" ; do |
al@303 | 57 [ "$(GET do)" == "$(gettext "$cmd")" ] || continue # BUGGY |
pascal@115 | 58 for user in $users ; do |
pascal@115 | 59 case "$cmd" in |
pascal@115 | 60 Delete*) deluser $user ;; |
pankso@119 | 61 Lock*) passwd -l $user | log ;; |
pankso@119 | 62 Unlock*) passwd -u $user | log ;; |
pascal@252 | 63 Change*) echo "$user:$(GET password)" | chpasswd -m | log ;; |
pascal@115 | 64 esac |
pascal@115 | 65 done |
pascal@115 | 66 done ;; |
pascal@336 | 67 *\ addmember\ *) |
pascal@336 | 68 addgroup $(GET member) $(GET group) ;; |
pascal@336 | 69 *\ delmember\ *) |
pascal@336 | 70 delgroup $(GET member) $(GET group) ;; |
pascal@336 | 71 *\ addgroup\ *) |
pascal@336 | 72 addgroup $(GET addgroup) ;; |
pascal@115 | 73 *\ adduser\ *) |
pankso@42 | 74 # |
pankso@42 | 75 # Manage system user accounts |
pankso@42 | 76 # |
pascal@81 | 77 user=$(GET adduser) |
pascal@115 | 78 passwd=$(GET passwd) |
pascal@81 | 79 if [ -n "$user" ]; then |
slaxemulator@233 | 80 adduser -D -s /bin/sh -g "SliTaz User" -G users -h /home/$user $user |
pascal@252 | 81 echo "$user:$passwd" | chpasswd -m | log |
slaxemulator@233 | 82 for g in audio cdrom floppy video tty |
pascal@81 | 83 do |
pascal@81 | 84 addgroup $user $g |
pascal@81 | 85 done |
pascal@81 | 86 fi ;; |
pascal@81 | 87 *\ gen_locale\ *) |
pascal@81 | 88 new_locale=$(GET gen_locale) ;; |
pascal@141 | 89 *\ gen_keymap\ *) |
pascal@141 | 90 new_keymap=$(GET gen_keymap) ;; |
pascal@142 | 91 *\ apply_xorg_kbd\ *) |
pascal@142 | 92 sed -i "s/XkbLayout.*/XkbLayout \" \"$(GET apply_xorg_kbd)\"/" \ |
pascal@142 | 93 /etc/X11/xorg.conf.d/40-Keyboard.conf ;; |
pascal@337 | 94 *\ date\ *) |
pascal@337 | 95 date $(GET month)$(GET day)$(GET hour)$(GET min)$(GET year).$(GET sec) ;; |
pascal@81 | 96 *\ rdate\ *) |
pankso@42 | 97 rdate -s tick.greyware.com ;; |
pascal@81 | 98 *\ hwclock\ *) |
pankso@150 | 99 hwclock -w -u ;; |
pankso@110 | 100 *\ panel_pass*) |
pankso@110 | 101 sed -i s@/:root:.*@/:root:$(GET panel_pass)@ $HTTPD_CONF ;; |
pankso@110 | 102 *\ style*) |
pankso@110 | 103 sed -i s/'^STYLE.*'/"STYLE=\"$(GET style)\""/ $CONFIG |
al@292 | 104 . $CONFIG ;; |
pascal@338 | 105 *\ settz\ *) |
pascal@338 | 106 GET tz > /etc/TZ ;; |
pankso@42 | 107 esac |
pankso@42 | 108 |
pankso@42 | 109 # |
pankso@42 | 110 # Default xHTML content |
pankso@42 | 111 # |
pankso@42 | 112 xhtml_header |
pankso@67 | 113 |
pankso@110 | 114 case " $(GET) " in |
pascal@336 | 115 *\ group*) |
pascal@336 | 116 # |
pascal@336 | 117 # Groups management |
pascal@336 | 118 # |
pascal@336 | 119 cat <<EOT |
pascal@336 | 120 <h3 id="groups">$(gettext 'Manage groups')</h3> |
pascal@336 | 121 |
pascal@336 | 122 <form method="get" action="$SCRIPT_NAME"> |
pascal@336 | 123 <input type="hidden" name="groups" /> |
pascal@336 | 124 <div id="actions"> |
pascal@336 | 125 <div class="float-left"> |
pascal@336 | 126 $(gettext 'Selection:') |
pascal@336 | 127 <input type="submit" name="do" value="$(gettext 'Delete group')" /> |
pascal@336 | 128 </div> |
pascal@336 | 129 </div> |
pascal@336 | 130 |
pascal@336 | 131 <table class="zebra outbox"> |
pascal@336 | 132 <thead> |
pascal@336 | 133 <tr class="thead"> |
pascal@336 | 134 <td>$(gettext 'Group')</td> |
pascal@336 | 135 <td>$(gettext 'Group ID')</td> |
pascal@336 | 136 <td>$(gettext 'Members')</td> |
pascal@336 | 137 </tr> |
pascal@336 | 138 </thead> |
pascal@336 | 139 </tbody> |
pascal@336 | 140 EOT |
pascal@336 | 141 for group in `getdb group | cut -d ":" -f 1` |
pascal@336 | 142 do |
pascal@336 | 143 IFS=':' |
pascal@336 | 144 set -- $(getdb group | grep "^$group:") |
pascal@336 | 145 unset IFS |
pascal@336 | 146 gid=$3 |
pascal@336 | 147 members=$4 |
pascal@336 | 148 cat <<EOT |
pascal@336 | 149 <tr> |
pascal@336 | 150 <td><input type='checkbox' name='group' value='$group' /> |
pascal@336 | 151 <img src='$IMAGES/users.png' />$group</td> |
pascal@336 | 152 <td>$gid</td> |
pascal@336 | 153 <td>${members//,/, }</td> |
pascal@336 | 154 </tr> |
pascal@336 | 155 EOT |
pascal@336 | 156 done |
pascal@336 | 157 cat << EOT |
pascal@336 | 158 </tbody> |
pascal@336 | 159 </table> |
pascal@336 | 160 </form> |
pascal@336 | 161 |
pascal@336 | 162 <section> |
pascal@336 | 163 <h4>$(gettext 'Add a new group')</h4> |
pascal@336 | 164 |
pascal@336 | 165 <form method="get" action="$SCRIPT_NAME"> |
pascal@336 | 166 <input type="hidden" name="groups" /> |
pascal@336 | 167 <table> |
pascal@336 | 168 <tr><td>$(gettext 'Group name:')</td> |
pascal@336 | 169 <td><input type="text" name="addgroup" size="30" /></td> |
pascal@336 | 170 <td> |
pascal@336 | 171 <input type="submit" value="$(gettext 'Create group')" /></td></tr> |
pascal@336 | 172 </table> |
pascal@336 | 173 </form> |
pascal@336 | 174 </section> |
pascal@336 | 175 |
pascal@336 | 176 <section> |
pascal@336 | 177 <h4>$(gettext 'Manage group membership')</h4> |
pascal@336 | 178 |
pascal@336 | 179 <form method="get" action="$SCRIPT_NAME"> |
pascal@336 | 180 <input type="hidden" name="groups" /> |
pascal@336 | 181 <table> |
pascal@336 | 182 <tr><td>$(gettext 'Group name:')</td> |
pascal@336 | 183 <td><select name="group"> |
pascal@336 | 184 $(listdb group) |
pascal@336 | 185 </select></td> |
pascal@336 | 186 <td>$(gettext 'User name:')</td> |
pascal@336 | 187 <td><select name="member"> |
pascal@336 | 188 $(listdb passwd) |
pascal@336 | 189 </select></td></tr> |
pascal@336 | 190 <tr><td colspan="4"><input type="submit" name="addmember" value="$(gettext 'Add user')" /> |
pascal@336 | 191 <input type="submit" name="delmember" value="$(gettext 'Remove user')" /></td></tr> |
pascal@336 | 192 </table> |
pascal@336 | 193 </form> |
pascal@336 | 194 </section> |
pascal@336 | 195 |
pascal@336 | 196 EOT |
pascal@336 | 197 ;; |
pascal@336 | 198 |
pankso@110 | 199 *\ user*) |
pankso@110 | 200 # |
pankso@110 | 201 # Users management |
pankso@110 | 202 # |
pankso@110 | 203 cat <<EOT |
al@303 | 204 <h3 id="users">$(gettext 'Manage users')</h3> |
al@303 | 205 |
pankso@110 | 206 <form method="get" action="$SCRIPT_NAME"> |
pascal@115 | 207 <div id="actions"> |
pascal@115 | 208 <div class="float-left"> |
al@303 | 209 $(gettext 'Selection:') |
al@303 | 210 <input type="submit" name="do" value="$(gettext 'Delete user')" /> |
al@303 | 211 <input type="submit" name="do" value="$(gettext 'Lock user')" /> |
al@303 | 212 <input type="submit" name="do" value="$(gettext 'Unlock user')" /> |
pascal@115 | 213 </div> |
pascal@115 | 214 </div> |
al@303 | 215 |
al@311 | 216 <table class="zebra outbox"> |
al@303 | 217 <thead> |
pascal@115 | 218 <tr class="thead"> |
al@303 | 219 <td>$(gettext 'Login')</td> |
al@303 | 220 <td>$(gettext 'User ID')</td> |
al@303 | 221 <td>$(gettext 'Name')</td> |
al@303 | 222 <td>$(gettext 'Home')</td> |
al@303 | 223 <td>$(gettext 'Shell')</td> |
pascal@115 | 224 </tr> |
al@303 | 225 </thead> |
al@303 | 226 </tbody> |
pascal@115 | 227 EOT |
pascal@336 | 228 for login in `getdb passwd | cut -d ":" -f 1` |
pankso@110 | 229 do |
pascal@115 | 230 if [ -d /home/$login ]; then |
pascal@115 | 231 colorlogin=$login |
pascal@115 | 232 grep -qs "^$login:!" /etc/shadow && |
pascal@115 | 233 colorlogin="<span style='color: red;'>$login</span>" |
pascal@115 | 234 IFS=':' |
pascal@336 | 235 set -- $(getdb passwd | grep "^$login:") |
pascal@115 | 236 unset IFS |
pascal@115 | 237 uid=$3 |
pascal@115 | 238 gid=$4 |
pascal@115 | 239 name="$(echo $5 | sed s/,.*//)" |
pascal@115 | 240 home="$6" |
pascal@115 | 241 shell=$7 |
pascal@115 | 242 cat <<EOT |
pascal@115 | 243 <tr> |
pascal@115 | 244 <td><input type='checkbox' name='user' value='$login' /> |
pascal@115 | 245 <img src='$IMAGES/user.png' />$colorlogin</td> |
pascal@115 | 246 <td>$uid:$gid</td> |
pascal@115 | 247 <td>$name</td> |
pascal@115 | 248 <td>$home</td> |
pascal@115 | 249 <td>$shell</td> |
pascal@115 | 250 </tr> |
pascal@115 | 251 EOT |
pankso@110 | 252 fi |
pankso@110 | 253 done |
al@303 | 254 cat << EOT |
al@303 | 255 </tbody> |
al@303 | 256 </table> |
al@303 | 257 EOT |
pankso@110 | 258 cat << EOT |
pankso@117 | 259 <p> |
al@303 | 260 $(gettext 'Password:') |
pascal@121 | 261 <input type="password" name="password" /> |
al@303 | 262 <input type="submit" name="do" value="$(gettext 'Change password')" /> |
pankso@117 | 263 </p> |
pankso@42 | 264 </form> |
pankso@42 | 265 |
al@312 | 266 <section> |
al@303 | 267 <h4>$(gettext 'Add a new user')</h4> |
al@303 | 268 |
pankso@42 | 269 <form method="get" action="$SCRIPT_NAME"> |
pankso@42 | 270 <input type="hidden" name="user" /> |
al@303 | 271 <table> |
al@303 | 272 <tr><td>$(gettext 'User login:')</td> |
al@303 | 273 <td><input type="text" name="adduser" size="30" /></td></tr> |
al@303 | 274 <tr><td>$(gettext 'User password:')</td> |
al@303 | 275 <td><input type="password" name="passwd" size="30" /></td></tr> |
al@303 | 276 <tr><td colspan="2"> |
al@303 | 277 <input type="submit" value="$(gettext 'Create user')" /></td></tr> |
al@303 | 278 </table> |
pankso@42 | 279 </form> |
al@312 | 280 </section> |
pascal@147 | 281 |
al@312 | 282 <section> |
al@303 | 283 <h4>$(gettext 'Current user sessions')</h4> |
pascal@147 | 284 |
al@303 | 285 <pre>$(who)</pre> |
al@312 | 286 </section> |
al@303 | 287 |
al@312 | 288 <section> |
al@303 | 289 <h4>$(gettext 'Last user sessions')</h4> |
al@303 | 290 |
al@303 | 291 <pre>$(last)</pre> |
al@312 | 292 </section> |
pankso@42 | 293 EOT |
pankso@110 | 294 ;; |
al@313 | 295 |
al@313 | 296 |
al@313 | 297 *\ locale*) |
al@313 | 298 # |
al@313 | 299 # Choose locale |
al@313 | 300 # |
al@313 | 301 LOADING_MSG="$(gettext 'Please wait...')" |
al@313 | 302 loading_msg |
al@313 | 303 cur_loc=$(locale | grep LANG | cut -d= -f2) |
al@318 | 304 cat << EOT |
al@313 | 305 <h3 id="locale">$(gettext 'Choose locale')</h3> |
al@313 | 306 |
al@313 | 307 <p>$(gettext 'Current locale settings:')</p> |
al@313 | 308 <pre>$(locale)</pre> |
al@313 | 309 |
al@313 | 310 <p>$(gettext 'Locales that are currently installed on the machine:')</p> |
al@313 | 311 <pre>$(locale -a)</pre> |
al@313 | 312 |
al@313 | 313 <p>$(gettext 'Available locales:')</p> |
al@318 | 314 EOT |
al@313 | 315 |
al@318 | 316 is_installed "glibc-locale" |
al@318 | 317 [ $? = 1 ] && |
al@318 | 318 msg tip $(gettext \ |
paul@319 | 319 "Can't see your language?<br/>You can \ |
al@318 | 320 <a href='/pkgs.cgi?do=Install&glibc-locale'>install glibc-locale</a> \ |
paul@319 | 321 to see a larger list of available locales.") |
al@318 | 322 |
al@318 | 323 cat << EOT |
al@313 | 324 <form method="get" action="$SCRIPT_NAME"> |
al@313 | 325 <div class="outbox"> |
al@313 | 326 <table class="zebra fixed"> |
al@313 | 327 <thead> |
al@313 | 328 <tr><td style="width:9em">$(gettext 'Code')</td> |
al@313 | 329 <td style="width:10em">$(gettext 'Language')</td> |
al@313 | 330 <td style="width:10em">$(gettext 'Territory')</td> |
al@313 | 331 <td>$(gettext 'Description')</td> |
al@313 | 332 </tr> |
al@313 | 333 </thead> |
al@313 | 334 </table> |
al@313 | 335 |
al@313 | 336 <div style="max-height: 16em; overflow:auto"> |
al@313 | 337 <table class="zebra fixed"> |
al@313 | 338 <col style="width:9em"> |
al@313 | 339 <col style="width:10em"> |
al@313 | 340 <col style="width:10em"> |
al@313 | 341 <col> |
al@313 | 342 <tbody style="max-height:10em; overflow:auto"> |
al@313 | 343 EOT |
al@313 | 344 for locale in $(find /usr/share/i18n/locales -type f | sort) |
al@313 | 345 do |
al@313 | 346 locale_name=$(basename $locale) |
al@313 | 347 locale_title=$(grep -m 1 -e '^ *title' $locale | cut -d'"' -f2) |
al@313 | 348 if [ -n "$locale_title" ]; then |
al@313 | 349 sel=""; [ "$locale_name" == "$cur_loc" ] && sel="checked" |
al@313 | 350 cat << EOT |
al@313 | 351 <tr><td><input type="radio" name="gen_locale" value="$locale_name" $sel />$locale_name</td> |
al@313 | 352 <td>$(gettext -d iso_639 "$(grep -m 1 -e '^ *language' $locale | cut -d '"' -f2)")</td> |
al@313 | 353 <td>$(gettext -d iso_3166 "$(grep -m 1 -e '^ *territory' $locale | cut -d '"' -f2)")</td> |
al@313 | 354 <td>$locale_title</td> |
al@313 | 355 </tr> |
al@313 | 356 EOT |
al@313 | 357 fi |
al@313 | 358 done |
al@313 | 359 cat << EOT |
al@313 | 360 </tbody> |
al@313 | 361 </table> |
al@313 | 362 </div> |
al@313 | 363 </div> |
al@313 | 364 <p><input type="submit" value="$(gettext 'Activate')" /></p> |
al@313 | 365 </form> |
al@313 | 366 EOT |
al@313 | 367 ;; |
al@313 | 368 |
al@313 | 369 |
pankso@110 | 370 *) |
pankso@110 | 371 # |
pankso@110 | 372 # Defaut system settings page |
pankso@110 | 373 # |
pankso@110 | 374 cat << EOT |
pankso@110 | 375 <div id="wrapper"> |
al@303 | 376 <h2>$(gettext 'System settings')</h2> |
al@303 | 377 <p>$(gettext 'Manage system time, users or language settings')<p> |
pankso@110 | 378 </div> |
pankso@110 | 379 <div id="actions"> |
pankso@110 | 380 <a class="button" href="$SCRIPT_NAME?users"> |
pascal@336 | 381 <img src="$IMAGES/user.png" />$(gettext 'Manage users')</a> |
pascal@336 | 382 <a class="button" href="$SCRIPT_NAME?groups"> |
pascal@336 | 383 <img src="$IMAGES/users.png" />$(gettext 'Manage groups')</a> |
pankso@110 | 384 </div> |
pankso@42 | 385 |
al@312 | 386 <section> |
al@303 | 387 <h3>$(gettext 'System time')</h3> |
al@303 | 388 |
pascal@338 | 389 <form method="get" action="$SCRIPT_NAME"> |
al@303 | 390 <table> |
pascal@338 | 391 <tr><td>$(gettext 'Time zome:')</td><td> |
pascal@338 | 392 <select name="tz"> |
pascal@338 | 393 $(cd /usr/share/zoneinfo ; find * -type f | while read tz; do |
pascal@338 | 394 if [ "$(cat /etc/TZ)" == "$tz" ]; then |
pascal@338 | 395 echo "<option selected>$tz</option>" |
pascal@338 | 396 else |
pascal@338 | 397 echo "<option>$tz</option>" |
pascal@338 | 398 fi |
pascal@338 | 399 done) |
pascal@338 | 400 </select> |
pascal@338 | 401 <input type="submit" name="settz" value="$(gettext 'Change')" /></td></tr> |
al@303 | 402 <tr><td>$(gettext 'System time:')</td><td>$(date)</td></tr> |
al@303 | 403 <tr><td>$(gettext 'Hardware clock:')</td><td>$(hwclock -r)</tr> |
al@303 | 404 </table> |
pascal@338 | 405 </form> |
pascal@337 | 406 <form method="get" action="$SCRIPT_NAME"> |
pascal@338 | 407 <input type="submit" name="date" value="$(gettext 'Set date')" /> |
pascal@337 | 408 <select name="day"> |
pascal@337 | 409 $(for i in $(seq 1 31); do echo "<option>$i</option>"; done) |
pascal@337 | 410 </select> |
pascal@337 | 411 <select name="month"> |
pascal@337 | 412 $(for i in 01 02 03 04 05 06 07 08 09 10 11 12; do |
pascal@337 | 413 date -d ${i}010101 '+%m %B' | \ |
pascal@337 | 414 sed 's|\(.*\) \(.*\)|<option value="\1">\2</option>|' |
pascal@337 | 415 done) |
pascal@337 | 416 </select> |
pascal@337 | 417 <select name="year"> |
pascal@337 | 418 $(for i in $(seq 2010 2030); do echo "<option>$i</option>"; done) |
pascal@337 | 419 </select> |
pascal@337 | 420 - <select name="hour"> |
pascal@337 | 421 $(for i in $(seq 0 23); do printf "<option>%02d</option>" $i; done) |
pascal@337 | 422 </select> |
pascal@337 | 423 : <select name="min"> |
pascal@337 | 424 $(for i in $(seq 0 59); do printf "<option>%02d</option>" $i; done) |
pascal@337 | 425 </select> |
pascal@337 | 426 : <select name="sec"> |
pascal@337 | 427 $(for i in $(seq 0 59); do printf "<option>%02d</option>" $i; done) |
pascal@337 | 428 </select> |
pascal@337 | 429 </form> |
al@303 | 430 <a class="button" href="$SCRIPT_NAME?rdate">$(gettext 'Sync online')</a> |
al@303 | 431 <a class="button" href="$SCRIPT_NAME?hwclock">$(gettext 'Set hardware clock')</a> |
al@312 | 432 </section> |
pankso@110 | 433 EOT |
pankso@110 | 434 # |
pankso@110 | 435 # Locale settings |
pankso@110 | 436 # |
pankso@110 | 437 cat << EOT |
al@312 | 438 <section> |
al@303 | 439 <h3 id="locale">$(gettext 'System language')</h3> |
pankso@42 | 440 <p> |
pankso@42 | 441 EOT |
pankso@42 | 442 # Check if a new locale was requested |
pankso@42 | 443 if [ -n "$new_locale" ]; then |
pankso@42 | 444 rm -rf /usr/lib/locale/$new_locale |
pankso@42 | 445 localedef -i $new_locale -c -f UTF-8 \ |
pankso@42 | 446 /usr/lib/locale/$new_locale |
pankso@42 | 447 # System configuration |
pankso@42 | 448 echo "LANG=$new_locale" > /etc/locale.conf |
pankso@42 | 449 echo "LC_ALL=$new_locale" >> /etc/locale.conf |
al@318 | 450 msg warn "$(eval_gettext \ |
al@318 | 451 'You must logout and login again to your current session to use $new_locale locale.')" |
pankso@42 | 452 else |
al@313 | 453 gettext 'Current system locale:'; echo -n " <strong>" |
al@313 | 454 locale | grep LANG | cut -d= -f2 |
pankso@42 | 455 fi |
pankso@42 | 456 cat << EOT |
al@313 | 457 </strong> <a class="button" href="$SCRIPT_NAME?locale">$(gettext 'Change')</a></p> |
al@312 | 458 </section> |
pankso@110 | 459 |
al@312 | 460 <section> |
al@303 | 461 <h3 id="keymap">$(gettext 'Console keymap')</h3> |
pascal@141 | 462 <p> |
pascal@141 | 463 EOT |
pascal@141 | 464 # Check if a new keymap was requested |
pascal@141 | 465 if [ -n "$new_keymap" ]; then |
pascal@141 | 466 echo "$new_keymap" > /etc/keymap.conf |
pascal@141 | 467 if [ -x /bin/loadkeys ]; then |
pascal@141 | 468 loadkeys $new_keymap |
pascal@141 | 469 else |
pascal@141 | 470 loadkmap < /usr/share/kmap/$new_keymap.kmap |
pascal@141 | 471 fi |
pascal@141 | 472 fi |
pascal@142 | 473 keymap=$(cat /etc/keymap.conf) |
al@303 | 474 eval_gettext 'Current console keymap: $keymap' |
pascal@142 | 475 echo "</p>" |
pascal@142 | 476 if [ -n "$keymap" ]; then |
pascal@142 | 477 case "$keymap" in |
pascal@142 | 478 fr_CH*) |
pascal@142 | 479 keymap="ch" ;; |
pascal@142 | 480 ru) |
pascal@142 | 481 keymap="us,ru(winkeys)" ;; |
pascal@142 | 482 slovene) |
pascal@142 | 483 keymap=si ;; |
pascal@142 | 484 *) |
pascal@142 | 485 keymap=${keymap%-lat*} |
pascal@142 | 486 keymap=${keymap%-abnt2} ;; |
pascal@142 | 487 esac |
pascal@142 | 488 keyboard_config=/etc/X11/xorg.conf.d/40-Keyboard.conf |
pascal@142 | 489 cat << EOT |
pascal@142 | 490 <form method="get" action="$SCRIPT_NAME"> |
al@303 | 491 $(gettext 'Suggested keymap for Xorg:') |
pascal@142 | 492 <input type="submit" name "apply_xorg_kbd" value="$keymap" /> |
pascal@142 | 493 <a class="button" href="index.cgi?file=$keyboard_config"> |
al@303 | 494 <img src="$IMAGES/edit.png" />$(gettext 'Edit')</a> |
pascal@142 | 495 </form> |
pascal@142 | 496 EOT |
pascal@142 | 497 fi |
pascal@141 | 498 cat << EOT |
pascal@141 | 499 <form method="get" action="$SCRIPT_NAME"> |
al@303 | 500 $(gettext 'Available keymaps:') |
pascal@141 | 501 <select name="gen_keymap"> |
pascal@141 | 502 $(list_keymaps) |
pascal@141 | 503 </select> |
al@303 | 504 <input type="submit" value="$(gettext 'Activate')" /> |
pascal@141 | 505 </form> |
al@312 | 506 </section> |
pascal@141 | 507 |
al@312 | 508 <section> |
al@303 | 509 <h2>$(gettext 'Panel configuration')</h2> |
al@303 | 510 |
pankso@110 | 511 <form method="get" action="$SCRIPT_NAME"> |
pankso@110 | 512 <p> |
al@303 | 513 $(gettext 'Style:') |
pankso@110 | 514 <select name="style"> |
pankso@110 | 515 $(list_styles) |
pankso@110 | 516 </select> |
al@303 | 517 <input type="submit" value="$(gettext 'Activate')" /> |
pankso@110 | 518 </p> |
pankso@110 | 519 </form> |
pankso@110 | 520 <form method="get" action="$SCRIPT_NAME"> |
pankso@110 | 521 <p> |
al@303 | 522 $(gettext 'Panel password:') |
pankso@110 | 523 <input type="password" name="panel_pass"/> |
al@303 | 524 <input type="submit" value="$(gettext 'Change')" /> |
pankso@110 | 525 </p> |
pankso@110 | 526 </form> |
pankso@110 | 527 <p> |
al@303 | 528 $(gettext 'Configuration files:') |
pankso@110 | 529 <a class="button" href="index.cgi?file=$CONFIG"> |
al@303 | 530 <img src="$IMAGES/edit.png" />$(gettext 'Panel')</a> |
pankso@110 | 531 <a class="button" href="index.cgi?file=$HTTPD_CONF"> |
al@303 | 532 <img src="$IMAGES/edit.png" />$(gettext 'Server')</a> |
pankso@110 | 533 </p> |
pankso@110 | 534 <p> |
al@303 | 535 $(gettext 'TazPanel provides a debuging mode and page:') |
al@303 | 536 <a href="/index.cgi?debug">debug</a> |
pankso@110 | 537 </p> |
al@312 | 538 </section> |
pankso@42 | 539 EOT |
pankso@110 | 540 ;; |
pankso@110 | 541 esac |
pankso@42 | 542 |
pankso@42 | 543 xhtml_footer |
pankso@42 | 544 exit 0 |