tazpanel annotate settings.cgi @ rev 109

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