tazpanel annotate index.cgi @ rev 40

Move network shared function (used by summary) to libtazpanel and include libtazpanel in POT file
author Christophe Lincoln <pankso@slitaz.org>
date Wed Apr 06 06:17:23 2011 +0200 (2011-04-06)
parents 5f2f88618292
children a7b1d69663c3
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@22 14 # Include gettext helper script.
pankso@22 15 . /usr/bin/gettext.sh
pankso@22 16
pankso@22 17 # Export package name for gettext.
pankso@39 18 TEXTDOMAIN='tazpanel'
pankso@22 19 export TEXTDOMAIN
pankso@22 20
pankso@2 21 #
pankso@2 22 # Commands
pankso@2 23 #
pankso@2 24
pankso@2 25 case "$QUERY_STRING" in
pankso@13 26 boot)
pankso@14 27 #
pankso@13 28 # Everything until user login
pankso@14 29 #
pankso@25 30 TITLE="- Boot"
pankso@13 31 xhtml_header
pankso@13 32 cat << EOT
pankso@13 33 <div id="wrapper">
pankso@14 34 <h2>`gettext "Boot &amp; startup"`</h2>
pankso@14 35 <p>
pankso@14 36 `gettext "Everything that appends before user login."`
pankso@14 37 </p>
pankso@14 38 </div>
pankso@13 39
pankso@13 40 <h3>`gettext "Kernel cmdline"`</h3>
pankso@13 41 <pre>
pankso@13 42 `cat /proc/cmdline`
pankso@13 43 </pre>
pankso@13 44 EOT
pankso@14 45 ;;
pankso@13 46 users|user=*)
pankso@14 47 #
pankso@13 48 # Manage system user accounts
pankso@14 49 #
pankso@8 50 TITLE="- Users"
pankso@8 51 xhtml_header
pankso@13 52 cmdline=`echo ${QUERY_STRING#user*=} | sed s'/&/ /g'`
pankso@13 53 # Parse cmdline
pankso@13 54 for opt in $cmdline
pankso@2 55 do
pankso@13 56 case $opt in
pankso@13 57 adduser=*)
pankso@13 58 user=${opt#adduser=}
pankso@13 59 cmd=adduser ;;
pankso@13 60 deluser=*)
pankso@13 61 user=${opt#deluser=}
pankso@13 62 deluser $user ;;
pankso@13 63 passwd=*)
pankso@13 64 pass=${opt#passwd=} ;;
pankso@13 65 esac
pankso@2 66 done
pankso@13 67 case "$cmd" in
pankso@13 68 adduser)
pankso@13 69 echo "$user"
pankso@13 70 echo $pass
pankso@13 71 adduser -D $user
pankso@13 72 echo "$pass" | chpasswd
pankso@13 73 for g in audio cdrom floppy video
pankso@13 74 do
pankso@13 75 addgroup $user $g
pankso@13 76 done ;;
pankso@13 77 *) continue ;;
pankso@13 78 esac
pankso@13 79 cat << EOT
pankso@13 80 <div id="wrapper">
pankso@14 81 <h2>`gettext "Manage users"`</h2>
pankso@14 82 <p>`gettext "Manage human users on your SliTaz system"`</p>
pankso@14 83 </div>
pankso@13 84 <form method="get" action="$SCRIPT_NAME">
pankso@13 85 EOT
pankso@13 86 table_start
pankso@13 87 cat << EOT
pankso@13 88 <tr id="thead">
pankso@25 89 <td>`gettext "Login"`</td>
pankso@13 90 <td>`gettext "User ID"`</td>
pankso@13 91 <td>`gettext "Name"`</td>
pankso@13 92 <td>`gettext "Home"`</td>
pankso@13 93 <td>`gettext "SHell"`</td>
pankso@13 94 </tr>
pankso@13 95 EOT
pankso@13 96 for i in `cat /etc/passwd | cut -d ":" -f 1`
pankso@13 97 do
pankso@13 98 if [ -d /home/$i ]; then
pankso@13 99 login=$i
pankso@13 100 uid=`cat /etc/passwd | grep $i | cut -d ":" -f 3`
pankso@13 101 gid=`cat /etc/passwd | grep $i | cut -d ":" -f 4`
pankso@13 102 name=`cat /etc/passwd | grep $i | cut -d ":" -f 5 | \
pankso@13 103 sed s/,,,//`
pankso@13 104 home=`cat /etc/passwd | grep $i | cut -d ":" -f 6`
pankso@13 105 shell=`cat /etc/passwd | grep $i | cut -d ":" -f 7`
pankso@13 106 echo '<tr>'
pankso@13 107 echo "<td><input type='hidden' name='user' />
pankso@13 108 <input type='checkbox' name='deluser' value='$login' />
pankso@13 109 <img src='$IMAGES/user.png' />$login</td>"
pankso@13 110 echo "<td>$uid:$gid</td>"
pankso@13 111 echo "<td>$name</td>"
pankso@13 112 echo "<td>$home</td>"
pankso@13 113 echo "<td>$shell</td>"
pankso@13 114 echo '</tr>'
pankso@13 115 fi
pankso@13 116 done
pankso@13 117 table_end
pankso@13 118 cat << EOT
pankso@14 119 <div>
pankso@14 120 <input type="submit" value="`gettext "Delete selected user"`" />
pankso@14 121 </div>
pankso@13 122 </form>
pankso@13 123
pankso@25 124 <h3>`gettext "Add a new user"`</h3>
pankso@13 125 <form method="get" action="$SCRIPT_NAME">
pankso@28 126 <input type="hidden" name="user" />
pankso@25 127 <p>`gettext "User login:"`</p>
pankso@28 128 <p><input type="text" name="adduser" size="30" /></p>
pankso@25 129 <p>`gettext "User password:"`</p>
pankso@28 130 <p><input type="password" name="passwd" size="30" /></p>
pankso@25 131 <input type="submit" value="`gettext "Create user"`" />
pankso@28 132 </form>
pankso@13 133 EOT
pankso@13 134 ;;
pankso@2 135 hardware)
pankso@14 136 #
pankso@14 137 # Hardware drivers, devices, filesystem, screen
pankso@14 138 #
pankso@8 139 TITLE="- Hardware"
pankso@8 140 xhtml_header
pankso@13 141 cat << EOT
pankso@13 142 <div id="wrapper">
pankso@14 143 <h2>`gettext "Drivers &amp; Devices"`</h2>
pankso@14 144 <p>`gettext "Manage your computer hardware`</p>
pankso@14 145 </div>
pankso@13 146 EOT
pankso@2 147 echo '<pre>'
pankso@14 148 fdisk -l | fgrep Disk
pankso@13 149 echo '</pre>'
pankso@14 150 echo '<pre>'
pankso@14 151 df -h | grep ^/dev
pankso@14 152 echo '</pre>'
pankso@14 153 echo '<pre>'
pankso@14 154 lspci
pankso@14 155 echo '</pre>'
pankso@14 156 ;;
pankso@2 157 *)
pankso@14 158 #
pankso@2 159 # Default xHTML content
pankso@14 160 #
pankso@8 161 xhtml_header
pankso@2 162 cat << EOT
pankso@13 163 <div id="wrapper">
pankso@14 164 <h2>`gettext "Host:"` `hostname`</h2>
pankso@14 165 <p>`gettext "SliTaz administration et configuration Panel"`<p>
pankso@14 166 </div>
pankso@14 167
pankso@14 168 <h3>`gettext "Summary"`</h3>
pankso@14 169 <div id="summary">
pankso@33 170 <p>
pankso@33 171 `gettext "Uptime:"` `uptime`
pankso@33 172 </p>
pankso@33 173 <p>
pankso@33 174 `gettext "Memory in Mb"`
pankso@33 175 `free -m | grep Mem: | awk \
pankso@33 176 '{print "| Total:", $2, "| Used:", $3, "| Free:", $4}'`
pankso@33 177 </p>
pankso@33 178 <!-- Close summary -->
pankso@33 179 </div>
pankso@14 180
pankso@33 181 <h4>`gettext "Network status"`</h4>
pankso@33 182 `list_network_interfaces`
pankso@33 183
pankso@33 184 <h4>`gettext "Filesystem usage statistics"`</h4>
pankso@14 185 <pre>
pankso@14 186 `df -h | grep ^/dev`
pankso@14 187 </pre>
pankso@2 188 EOT
pankso@2 189 ;;
pankso@2 190 esac
pankso@2 191
pankso@14 192 xhtml_footer
pankso@14 193 exit 0