tazpanel annotate settings.cgi @ rev 112
Add some doc/help, use a BSD License and add COPYING file
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Fri Apr 15 11:32:56 2011 +0200 (2011-04-15) |
parents | dbdfa16dfdf2 |
children | 34979c5e823b |
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@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 |
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@110 | 26 # Get the list of panle styles |
pankso@110 | 27 list_styles() { |
pankso@110 | 28 cd $PANEL/styles |
pankso@110 | 29 for style in * |
pankso@110 | 30 do |
pankso@110 | 31 echo "<option value='$style'>$style</option>" |
pankso@110 | 32 done |
pankso@110 | 33 } |
pankso@110 | 34 |
pankso@42 | 35 # |
pankso@42 | 36 # Commands executed before page loading. |
pankso@42 | 37 # |
pankso@42 | 38 |
pascal@81 | 39 case " $(GET) " in |
pascal@81 | 40 *\ user*) |
pankso@42 | 41 # |
pankso@42 | 42 # Manage system user accounts |
pankso@42 | 43 # |
pankso@110 | 44 if [ "$(GET deluser)" ]; then |
pankso@110 | 45 deluser $(GET deluser) |
pankso@110 | 46 fi |
pascal@81 | 47 user=$(GET adduser) |
pascal@81 | 48 if [ -n "$user" ]; then |
pascal@81 | 49 adduser -D $user |
pascal@81 | 50 echo "$(GET passwd)" | chpasswd |
pascal@81 | 51 for g in audio cdrom floppy video |
pascal@81 | 52 do |
pascal@81 | 53 addgroup $user $g |
pascal@81 | 54 done |
pascal@81 | 55 fi ;; |
pascal@81 | 56 *\ gen_locale\ *) |
pascal@81 | 57 new_locale=$(GET gen_locale) ;; |
pascal@81 | 58 *\ rdate\ *) |
pankso@42 | 59 rdate -s tick.greyware.com ;; |
pascal@81 | 60 *\ hwclock\ *) |
pankso@42 | 61 hwclock -w ;; |
pankso@110 | 62 *\ panel_pass*) |
pankso@110 | 63 sed -i s@/:root:.*@/:root:$(GET panel_pass)@ $HTTPD_CONF ;; |
pankso@110 | 64 *\ style*) |
pankso@110 | 65 sed -i s/'^STYLE.*'/"STYLE=\"$(GET style)\""/ $CONFIG |
pankso@110 | 66 . $CONFIG ;; |
pankso@42 | 67 esac |
pankso@42 | 68 |
pankso@42 | 69 # |
pankso@42 | 70 # Default xHTML content |
pankso@42 | 71 # |
pankso@42 | 72 xhtml_header |
pankso@67 | 73 |
pankso@110 | 74 case " $(GET) " in |
pankso@110 | 75 *\ user*) |
pankso@110 | 76 # |
pankso@110 | 77 # Users management |
pankso@110 | 78 # |
pankso@110 | 79 cat <<EOT |
pankso@110 | 80 <h3>`gettext "Manage users"`</h3> |
pankso@110 | 81 <form method="get" action="$SCRIPT_NAME"> |
pankso@110 | 82 $(table_start) |
pankso@110 | 83 <thead> |
pankso@110 | 84 <tr> |
pankso@110 | 85 <td>`gettext "Login"`</td> |
pankso@110 | 86 <td>`gettext "User ID"`</td> |
pankso@110 | 87 <td>`gettext "Name"`</td> |
pankso@110 | 88 <td>`gettext "Home"`</td> |
pankso@110 | 89 <td>`gettext "SHell"`</td> |
pankso@110 | 90 </tr> |
pankso@110 | 91 </thead> |
pankso@42 | 92 EOT |
pankso@110 | 93 for i in `cat /etc/passwd | cut -d ":" -f 1` |
pankso@110 | 94 do |
pankso@110 | 95 if [ -d /home/$i ]; then |
pankso@110 | 96 login=$i |
pankso@110 | 97 uid=`cat /etc/passwd | grep $i | cut -d ":" -f 3` |
pankso@110 | 98 gid=`cat /etc/passwd | grep $i | cut -d ":" -f 4` |
pankso@110 | 99 name=`cat /etc/passwd | grep $i | cut -d ":" -f 5 | \ |
pankso@110 | 100 sed s/,,,//` |
pankso@110 | 101 home=`cat /etc/passwd | grep $i | cut -d ":" -f 6` |
pankso@110 | 102 shell=`cat /etc/passwd | grep $i | cut -d ":" -f 7` |
pankso@110 | 103 echo '<tr>' |
pankso@110 | 104 echo "<td><input type='hidden' name='user' /> |
pankso@110 | 105 <input type='checkbox' name='deluser' value='$login' /> |
pankso@110 | 106 <img src='$IMAGES/user.png' />$login</td>" |
pankso@110 | 107 echo "<td>$uid:$gid</td>" |
pankso@110 | 108 echo "<td>$name</td>" |
pankso@110 | 109 echo "<td>$home</td>" |
pankso@110 | 110 echo "<td>$shell</td>" |
pankso@110 | 111 echo '</tr>' |
pankso@110 | 112 fi |
pankso@110 | 113 done |
pankso@110 | 114 table_end |
pankso@110 | 115 cat << EOT |
pankso@42 | 116 <div> |
pankso@42 | 117 <input type="submit" value="`gettext "Delete selected user"`" /> |
pankso@42 | 118 </div> |
pankso@42 | 119 </form> |
pankso@42 | 120 |
pankso@42 | 121 <h4>`gettext "Add a new user"`</h4> |
pankso@42 | 122 <form method="get" action="$SCRIPT_NAME"> |
pankso@42 | 123 <input type="hidden" name="user" /> |
pankso@42 | 124 <p>`gettext "User login:"`</p> |
pankso@42 | 125 <p><input type="text" name="adduser" size="30" /></p> |
pankso@42 | 126 <p>`gettext "User password:"`</p> |
pankso@42 | 127 <p><input type="password" name="passwd" size="30" /></p> |
pankso@42 | 128 <input type="submit" value="`gettext "Create user"`" /> |
pankso@42 | 129 </form> |
pankso@42 | 130 EOT |
pankso@110 | 131 ;; |
pankso@110 | 132 *) |
pankso@110 | 133 # |
pankso@110 | 134 # Defaut system settings page |
pankso@110 | 135 # |
pankso@110 | 136 cat << EOT |
pankso@110 | 137 <div id="wrapper"> |
pankso@110 | 138 <h2>$(gettext "System settings")</h2> |
pankso@110 | 139 <p>$(gettext "Manage system time, users or language settings")<p> |
pankso@110 | 140 </div> |
pankso@110 | 141 <div id="actions"> |
pankso@110 | 142 <a class="button" href="$SCRIPT_NAME?users"> |
pankso@110 | 143 <img src="$IMAGES/users.png" />$(gettext "Manage users")</a> |
pankso@110 | 144 </div> |
pankso@42 | 145 |
pankso@110 | 146 <h3>`gettext "System time"`</h3> |
pankso@110 | 147 <pre> |
pankso@110 | 148 `gettext "Time zome :"` `cat /etc/TZ` |
pankso@110 | 149 `gettext "System time :"` `date` |
pankso@110 | 150 `gettext "Hardware clock :"` `hwclock -r` |
pankso@110 | 151 </pre> |
pankso@110 | 152 <a class="button" href="$SCRIPT_NAME?rdate">`gettext "Sync online"`</a> |
pankso@110 | 153 <a class="button" href="$SCRIPT_NAME?hwclock">`gettext "Set hardware clock"`</a> |
pankso@110 | 154 EOT |
pankso@110 | 155 # |
pankso@110 | 156 # Locale settings |
pankso@110 | 157 # |
pankso@110 | 158 cat << EOT |
pankso@42 | 159 <a name="locale"></a> |
pankso@42 | 160 <h3>`gettext "System language"`</h3> |
pankso@42 | 161 <p> |
pankso@42 | 162 EOT |
pankso@42 | 163 # Check if a new locale was requested |
pankso@42 | 164 if [ -n "$new_locale" ]; then |
pankso@42 | 165 rm -rf /usr/lib/locale/$new_locale |
pankso@42 | 166 localedef -i $new_locale -c -f UTF-8 \ |
pankso@42 | 167 /usr/lib/locale/$new_locale |
pankso@42 | 168 # System configuration |
pankso@42 | 169 echo "LANG=$new_locale" > /etc/locale.conf |
pankso@42 | 170 echo "LC_ALL=$new_locale" >> /etc/locale.conf |
paul@52 | 171 eval_gettext "You must logout and login again to your current |
pankso@42 | 172 session to use \$new_locale locale." |
pankso@42 | 173 else |
pankso@110 | 174 gettext "Current system locales: " |
pankso@42 | 175 locale -a |
pankso@42 | 176 fi |
pankso@42 | 177 cat << EOT |
pankso@42 | 178 </p> |
pankso@42 | 179 <form method="get" action="$SCRIPT_NAME"> |
pankso@110 | 180 $(gettext "Available locales:") |
pascal@81 | 181 <select name="gen_locale"> |
pankso@42 | 182 <option value="en_US">en_US</options> |
pankso@110 | 183 $(list_locales) |
pankso@42 | 184 </select> |
pankso@110 | 185 <input type="submit" value="$(gettext "Activate")" /> |
pankso@42 | 186 </form> |
pankso@110 | 187 |
pankso@110 | 188 <h3>$(gettext "Panel configuration")</h3> |
pankso@110 | 189 <form method="get" action="$SCRIPT_NAME"> |
pankso@110 | 190 <p> |
pankso@110 | 191 $(gettext "Style:") |
pankso@110 | 192 <select name="style"> |
pankso@110 | 193 $(list_styles) |
pankso@110 | 194 </select> |
pankso@110 | 195 <input type="submit" value="$(gettext "Activate")" /> |
pankso@110 | 196 </p> |
pankso@110 | 197 </form> |
pankso@110 | 198 <form method="get" action="$SCRIPT_NAME"> |
pankso@110 | 199 <p> |
pankso@110 | 200 $(gettext "Panel password:") |
pankso@110 | 201 <input type="password" name="panel_pass"/> |
pankso@110 | 202 <input type="submit" value="$(gettext "Change")" /> |
pankso@110 | 203 </p> |
pankso@110 | 204 </form> |
pankso@110 | 205 <p> |
pankso@110 | 206 $(gettext "Configuration files: ") |
pankso@110 | 207 <a class="button" href="index.cgi?file=$CONFIG"> |
pankso@110 | 208 <img src="$IMAGES/edit.png" />$(gettext "Panel")</a> |
pankso@110 | 209 <a class="button" href="index.cgi?file=$HTTPD_CONF"> |
pankso@110 | 210 <img src="$IMAGES/edit.png" />$(gettext "Server")</a> |
pankso@110 | 211 </p> |
pankso@110 | 212 <p> |
pankso@110 | 213 $(gettext "TazPanel provides a debuging mode and page:") |
pankso@110 | 214 <a href='/index.cgi?debug'>debug</a> |
pankso@110 | 215 </p> |
pankso@42 | 216 EOT |
pankso@110 | 217 ;; |
pankso@110 | 218 esac |
pankso@42 | 219 |
pankso@42 | 220 xhtml_footer |
pankso@42 | 221 exit 0 |