tazpanel annotate index.cgi @ rev 13
A bunch of change, users mangement, javascript small function, css, tazpg.cgi
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Sun Apr 03 03:21:00 2011 +0200 (2011-04-03) |
parents | ab6120f11be4 |
children | 2ea20065417a |
rev | line source |
---|---|
pankso@2 | 1 #!/bin/sh |
pankso@2 | 2 # |
pankso@13 | 3 # Main CGI interface for TazPanel. In on word: KISS |
pankso@2 | 4 # |
pankso@2 | 5 echo "Content-Type: text/html" |
pankso@2 | 6 echo "" |
pankso@2 | 7 |
pankso@13 | 8 # We need a config file first |
pankso@13 | 9 CONFIG="/etc/slitaz/tazpanel.conf" |
pankso@13 | 10 [ -f $CONFIG ] && . $CONFIG |
pankso@13 | 11 [ -f tazpanel.conf ] && . tazpanel.conf |
pankso@13 | 12 [ -z $PANEL ] && echo "No config file found" && exit 1 |
pankso@2 | 13 |
pankso@13 | 14 # xHTML 5 header |
pankso@8 | 15 xhtml_header() { |
pankso@8 | 16 cat $HEADER | sed s/'- %TITLE%'/"$TITLE"/ |
pankso@8 | 17 } |
pankso@2 | 18 |
pankso@13 | 19 table_start() { |
pankso@13 | 20 cat << EOT |
pankso@13 | 21 <table> |
pankso@13 | 22 <tbody> |
pankso@13 | 23 EOT |
pankso@13 | 24 } |
pankso@13 | 25 |
pankso@13 | 26 table_end () { |
pankso@13 | 27 cat << EOT |
pankso@13 | 28 </tbody> |
pankso@13 | 29 </table> |
pankso@13 | 30 EOT |
pankso@13 | 31 } |
pankso@2 | 32 |
pankso@2 | 33 # |
pankso@2 | 34 # Commands |
pankso@2 | 35 # |
pankso@2 | 36 |
pankso@2 | 37 case "$QUERY_STRING" in |
pankso@13 | 38 boot) |
pankso@13 | 39 # Everything until user login |
pankso@13 | 40 TITLE="- Network" |
pankso@13 | 41 xhtml_header |
pankso@13 | 42 cat << EOT |
pankso@13 | 43 <div id="wrapper"> |
pankso@13 | 44 <h2>`gettext "Boot & startup"`</h2> |
pankso@13 | 45 <p> |
pankso@13 | 46 `gettext "Everything that appends before user login."` |
pankso@13 | 47 </p> |
pankso@13 | 48 |
pankso@13 | 49 <h3>`gettext "Kernel cmdline"`</h3> |
pankso@13 | 50 <pre> |
pankso@13 | 51 `cat /proc/cmdline` |
pankso@13 | 52 </pre> |
pankso@13 | 53 EOT |
pankso@13 | 54 echo '</div>' ;; |
pankso@13 | 55 users|user=*) |
pankso@13 | 56 # Manage system user accounts |
pankso@8 | 57 TITLE="- Users" |
pankso@8 | 58 xhtml_header |
pankso@13 | 59 |
pankso@13 | 60 cmdline=`echo ${QUERY_STRING#user*=} | sed s'/&/ /g'` |
pankso@13 | 61 #user=`echo ${cmdline} | sed s'/=/ /' | awk '{print $1}'` |
pankso@13 | 62 #cmd=`echo ${cmdline} | sed s'/=/ /' |awk '{print $2}'` |
pankso@13 | 63 |
pankso@13 | 64 [ $DEBUG == "1" ] && echo \ |
pankso@13 | 65 "<p class='debug'>$cmdline</p>" |
pankso@13 | 66 #$REQUEST_METHOD $QUERY_STRING |
pankso@13 | 67 # Parse cmdline |
pankso@13 | 68 for opt in $cmdline |
pankso@2 | 69 do |
pankso@13 | 70 case $opt in |
pankso@13 | 71 adduser=*) |
pankso@13 | 72 user=${opt#adduser=} |
pankso@13 | 73 cmd=adduser ;; |
pankso@13 | 74 deluser=*) |
pankso@13 | 75 user=${opt#deluser=} |
pankso@13 | 76 deluser $user ;; |
pankso@13 | 77 passwd=*) |
pankso@13 | 78 pass=${opt#passwd=} ;; |
pankso@13 | 79 esac |
pankso@2 | 80 done |
pankso@13 | 81 case "$cmd" in |
pankso@13 | 82 adduser) |
pankso@13 | 83 echo "$user" |
pankso@13 | 84 echo $pass |
pankso@13 | 85 adduser -D $user |
pankso@13 | 86 echo "$pass" | chpasswd |
pankso@13 | 87 for g in audio cdrom floppy video |
pankso@13 | 88 do |
pankso@13 | 89 addgroup $user $g |
pankso@13 | 90 done ;; |
pankso@13 | 91 *) continue ;; |
pankso@13 | 92 esac |
pankso@13 | 93 cat << EOT |
pankso@13 | 94 <div id="wrapper"> |
pankso@13 | 95 <h2>`gettext "Manage users"`</h2> |
pankso@13 | 96 <div>`gettext "Manage human users on your SliTaz system"`</div> |
pankso@13 | 97 <form method="get" action="$SCRIPT_NAME"> |
pankso@13 | 98 EOT |
pankso@13 | 99 table_start |
pankso@13 | 100 cat << EOT |
pankso@13 | 101 <tr id="thead"> |
pankso@13 | 102 <td>`gettext "Name"`</td> |
pankso@13 | 103 <td>`gettext "User ID"`</td> |
pankso@13 | 104 <td>`gettext "Name"`</td> |
pankso@13 | 105 <td>`gettext "Home"`</td> |
pankso@13 | 106 <td>`gettext "SHell"`</td> |
pankso@13 | 107 </tr> |
pankso@13 | 108 EOT |
pankso@13 | 109 for i in `cat /etc/passwd | cut -d ":" -f 1` |
pankso@13 | 110 do |
pankso@13 | 111 if [ -d /home/$i ]; then |
pankso@13 | 112 login=$i |
pankso@13 | 113 uid=`cat /etc/passwd | grep $i | cut -d ":" -f 3` |
pankso@13 | 114 gid=`cat /etc/passwd | grep $i | cut -d ":" -f 4` |
pankso@13 | 115 name=`cat /etc/passwd | grep $i | cut -d ":" -f 5 | \ |
pankso@13 | 116 sed s/,,,//` |
pankso@13 | 117 home=`cat /etc/passwd | grep $i | cut -d ":" -f 6` |
pankso@13 | 118 shell=`cat /etc/passwd | grep $i | cut -d ":" -f 7` |
pankso@13 | 119 echo '<tr>' |
pankso@13 | 120 echo "<td><input type='hidden' name='user' /> |
pankso@13 | 121 <input type='checkbox' name='deluser' value='$login' /> |
pankso@13 | 122 <img src='$IMAGES/user.png' />$login</td>" |
pankso@13 | 123 echo "<td>$uid:$gid</td>" |
pankso@13 | 124 echo "<td>$name</td>" |
pankso@13 | 125 echo "<td>$home</td>" |
pankso@13 | 126 echo "<td>$shell</td>" |
pankso@13 | 127 echo '</tr>' |
pankso@13 | 128 fi |
pankso@13 | 129 done |
pankso@13 | 130 table_end |
pankso@13 | 131 #`gettext "Selection:"` |
pankso@13 | 132 cat << EOT |
pankso@13 | 133 <div> |
pankso@13 | 134 <input type="submit" value="`gettext "Delete selected user"`" /> |
pankso@13 | 135 </div> |
pankso@13 | 136 |
pankso@13 | 137 </form> |
pankso@13 | 138 </div> |
pankso@13 | 139 |
pankso@13 | 140 <h3>`gettext "Add a user"`</h3> |
pankso@13 | 141 <form method="get" action="$SCRIPT_NAME"> |
pankso@13 | 142 <input type="hidden" name="user" size="30" /> |
pankso@13 | 143 <p> |
pankso@13 | 144 `gettext ""` |
pankso@13 | 145 <input type="text" name="adduser" size="30" /> |
pankso@13 | 146 </p> |
pankso@13 | 147 <p> |
pankso@13 | 148 `gettext ""` |
pankso@13 | 149 <input type="password" name="passwd" size="30" /> |
pankso@13 | 150 </p> |
pankso@13 | 151 <input type="submit" value="`gettext ""`Create user" /> |
pankso@13 | 152 </form |
pankso@13 | 153 EOT |
pankso@13 | 154 ;; |
pankso@2 | 155 network) |
pankso@13 | 156 # Network configuration |
pankso@8 | 157 TITLE="- Network" |
pankso@8 | 158 xhtml_header |
pankso@13 | 159 cat << EOT |
pankso@13 | 160 <div id="wrapper"> |
pankso@13 | 161 <h2>`gettext "Connections`</h2> |
pankso@13 | 162 EOT |
pankso@2 | 163 echo '<pre>' |
pankso@2 | 164 ifconfig |
pankso@13 | 165 echo '</pre>' |
pankso@13 | 166 echo '</div>' ;; |
pankso@2 | 167 hardware) |
pankso@8 | 168 TITLE="- Hardware" |
pankso@8 | 169 xhtml_header |
pankso@13 | 170 cat << EOT |
pankso@13 | 171 <div id="wrapper"> |
pankso@13 | 172 <h2>`gettext "Drivers & Devices"`</h2> |
pankso@13 | 173 EOT |
pankso@2 | 174 echo '<pre>' |
pankso@2 | 175 lspci |
pankso@13 | 176 echo '</pre>' |
pankso@13 | 177 echo '</div>' ;; |
pankso@2 | 178 *) |
pankso@2 | 179 # Default xHTML content |
pankso@8 | 180 xhtml_header |
pankso@2 | 181 cat << EOT |
pankso@13 | 182 <div id="wrapper"> |
pankso@13 | 183 <h2>`gettext "Host:"` `hostname`</h2> |
pankso@2 | 184 <p> |
pankso@2 | 185 Uptime: `uptime` |
pankso@2 | 186 </p> |
pankso@2 | 187 EOT |
pankso@13 | 188 echo '</div>' |
pankso@2 | 189 ;; |
pankso@2 | 190 esac |
pankso@2 | 191 |
pankso@2 | 192 # xHTML 5 footer |
pankso@2 | 193 cat $FOOTER |