tazpanel annotate index.cgi @ rev 14

Massive improvement to inedx.cgi, up Makefile, smatter tazpanel cmdline
author Christophe Lincoln <pankso@slitaz.org>
date Sun Apr 03 17:43:32 2011 +0200 (2011-04-03)
parents 64f564036b88
children c630f623ac7c
rev   line source
pankso@2 1 #!/bin/sh
pankso@2 2 #
pankso@14 3 # Main CGI interface for TazPanel. In on word: KISS. Use the main cas form
pankso@14 4 # command so we are faster and dont load unneeded function. If nececarry
pankso@14 5 # you can use the lib/ dir to handle external resources.
pankso@2 6 #
pankso@2 7 echo "Content-Type: text/html"
pankso@2 8 echo ""
pankso@2 9
pankso@14 10 # Common functions from libtazpanel
pankso@14 11 . lib/libtazpanel
pankso@14 12 get_config
pankso@2 13
pankso@2 14 #
pankso@2 15 # Commands
pankso@2 16 #
pankso@2 17
pankso@2 18 case "$QUERY_STRING" in
pankso@13 19 boot)
pankso@14 20 #
pankso@13 21 # Everything until user login
pankso@14 22 #
pankso@13 23 TITLE="- Network"
pankso@13 24 xhtml_header
pankso@13 25 cat << EOT
pankso@13 26 <div id="wrapper">
pankso@14 27 <h2>`gettext "Boot &amp; startup"`</h2>
pankso@14 28 <p>
pankso@14 29 `gettext "Everything that appends before user login."`
pankso@14 30 </p>
pankso@14 31 </div>
pankso@13 32
pankso@13 33 <h3>`gettext "Kernel cmdline"`</h3>
pankso@13 34 <pre>
pankso@13 35 `cat /proc/cmdline`
pankso@13 36 </pre>
pankso@13 37 EOT
pankso@14 38 ;;
pankso@13 39 users|user=*)
pankso@14 40 #
pankso@13 41 # Manage system user accounts
pankso@14 42 #
pankso@8 43 TITLE="- Users"
pankso@8 44 xhtml_header
pankso@13 45 cmdline=`echo ${QUERY_STRING#user*=} | sed s'/&/ /g'`
pankso@13 46 # Parse cmdline
pankso@13 47 for opt in $cmdline
pankso@2 48 do
pankso@13 49 case $opt in
pankso@13 50 adduser=*)
pankso@13 51 user=${opt#adduser=}
pankso@13 52 cmd=adduser ;;
pankso@13 53 deluser=*)
pankso@13 54 user=${opt#deluser=}
pankso@13 55 deluser $user ;;
pankso@13 56 passwd=*)
pankso@13 57 pass=${opt#passwd=} ;;
pankso@13 58 esac
pankso@2 59 done
pankso@13 60 case "$cmd" in
pankso@13 61 adduser)
pankso@13 62 echo "$user"
pankso@13 63 echo $pass
pankso@13 64 adduser -D $user
pankso@13 65 echo "$pass" | chpasswd
pankso@13 66 for g in audio cdrom floppy video
pankso@13 67 do
pankso@13 68 addgroup $user $g
pankso@13 69 done ;;
pankso@13 70 *) continue ;;
pankso@13 71 esac
pankso@13 72 cat << EOT
pankso@13 73 <div id="wrapper">
pankso@14 74 <h2>`gettext "Manage users"`</h2>
pankso@14 75 <p>`gettext "Manage human users on your SliTaz system"`</p>
pankso@14 76 </div>
pankso@13 77 <form method="get" action="$SCRIPT_NAME">
pankso@13 78 EOT
pankso@13 79 table_start
pankso@13 80 cat << EOT
pankso@13 81 <tr id="thead">
pankso@13 82 <td>`gettext "Name"`</td>
pankso@13 83 <td>`gettext "User ID"`</td>
pankso@13 84 <td>`gettext "Name"`</td>
pankso@13 85 <td>`gettext "Home"`</td>
pankso@13 86 <td>`gettext "SHell"`</td>
pankso@13 87 </tr>
pankso@13 88 EOT
pankso@13 89 for i in `cat /etc/passwd | cut -d ":" -f 1`
pankso@13 90 do
pankso@13 91 if [ -d /home/$i ]; then
pankso@13 92 login=$i
pankso@13 93 uid=`cat /etc/passwd | grep $i | cut -d ":" -f 3`
pankso@13 94 gid=`cat /etc/passwd | grep $i | cut -d ":" -f 4`
pankso@13 95 name=`cat /etc/passwd | grep $i | cut -d ":" -f 5 | \
pankso@13 96 sed s/,,,//`
pankso@13 97 home=`cat /etc/passwd | grep $i | cut -d ":" -f 6`
pankso@13 98 shell=`cat /etc/passwd | grep $i | cut -d ":" -f 7`
pankso@13 99 echo '<tr>'
pankso@13 100 echo "<td><input type='hidden' name='user' />
pankso@13 101 <input type='checkbox' name='deluser' value='$login' />
pankso@13 102 <img src='$IMAGES/user.png' />$login</td>"
pankso@13 103 echo "<td>$uid:$gid</td>"
pankso@13 104 echo "<td>$name</td>"
pankso@13 105 echo "<td>$home</td>"
pankso@13 106 echo "<td>$shell</td>"
pankso@13 107 echo '</tr>'
pankso@13 108 fi
pankso@13 109 done
pankso@13 110 table_end
pankso@13 111 cat << EOT
pankso@14 112 <div>
pankso@14 113 <input type="submit" value="`gettext "Delete selected user"`" />
pankso@14 114 </div>
pankso@13 115 </form>
pankso@13 116
pankso@13 117 <h3>`gettext "Add a user"`</h3>
pankso@13 118 <form method="get" action="$SCRIPT_NAME">
pankso@14 119 <input type="hidden" name="user" size="30" />
pankso@14 120 <p>
pankso@14 121 `gettext ""`
pankso@14 122 <input type="text" name="adduser" size="30" />
pankso@14 123 </p>
pankso@14 124 <p>
pankso@14 125 `gettext ""`
pankso@14 126 <input type="password" name="passwd" size="30" />
pankso@14 127 </p>
pankso@14 128 <input type="submit" value="`gettext ""`Create user" />
pankso@13 129 </form
pankso@13 130 EOT
pankso@13 131 ;;
pankso@2 132 network)
pankso@14 133 #
pankso@13 134 # Network configuration
pankso@14 135 #
pankso@8 136 TITLE="- Network"
pankso@8 137 xhtml_header
pankso@13 138 cat << EOT
pankso@13 139 <div id="wrapper">
pankso@14 140 <h2>`gettext "Networking`</h2>
pankso@14 141 <p>`gettext "Manage network connection and services`</p>
pankso@14 142 </div>
pankso@14 143
pankso@14 144 <h3>Output of: ifconfig -a</h3>
pankso@14 145 <pre>
pankso@14 146 `ifconfig -a`
pankso@14 147 </pre>
pankso@13 148 EOT
pankso@14 149 ;;
pankso@2 150 hardware)
pankso@14 151 #
pankso@14 152 # Hardware drivers, devices, filesystem, screen
pankso@14 153 #
pankso@8 154 TITLE="- Hardware"
pankso@8 155 xhtml_header
pankso@13 156 cat << EOT
pankso@13 157 <div id="wrapper">
pankso@14 158 <h2>`gettext "Drivers &amp; Devices"`</h2>
pankso@14 159 <p>`gettext "Manage your computer hardware`</p>
pankso@14 160 </div>
pankso@13 161 EOT
pankso@2 162 echo '<pre>'
pankso@14 163 fdisk -l | fgrep Disk
pankso@13 164 echo '</pre>'
pankso@14 165 echo '<pre>'
pankso@14 166 df -h | grep ^/dev
pankso@14 167 echo '</pre>'
pankso@14 168 echo '<pre>'
pankso@14 169 lspci
pankso@14 170 echo '</pre>'
pankso@14 171 ;;
pankso@2 172 *)
pankso@14 173 #
pankso@2 174 # Default xHTML content
pankso@14 175 #
pankso@8 176 xhtml_header
pankso@2 177 cat << EOT
pankso@13 178 <div id="wrapper">
pankso@14 179 <h2>`gettext "Host:"` `hostname`</h2>
pankso@14 180 <p>`gettext "SliTaz administration et configuration Panel"`<p>
pankso@14 181 </div>
pankso@14 182
pankso@14 183 <h3>`gettext "Summary"`</h3>
pankso@14 184 <div id="summary">
pankso@14 185
pankso@2 186 <p>
pankso@14 187 `gettext "Uptime:"` `uptime`
pankso@2 188 </p>
pankso@14 189 <p>
pankso@14 190 `gettext "Memory in Mb:"`
pankso@14 191 `free -m | grep Mem: | awk \
pankso@14 192 '{print "| Total:", $2, "| Used:", $3, "| Free:", $4}'`
pankso@14 193 </p>
pankso@14 194 <p>
pankso@14 195 `gettext "Filesystem usage statistics:"`
pankso@14 196 </p>
pankso@14 197 <pre>
pankso@14 198 `df -h | grep ^/dev`
pankso@14 199 </pre>
pankso@14 200
pankso@14 201 <!-- Close summary -->
pankso@14 202 </div>
pankso@2 203 EOT
pankso@2 204 ;;
pankso@2 205 esac
pankso@2 206
pankso@14 207 xhtml_footer
pankso@14 208 exit 0