tazpanel view index.cgi @ rev 29

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