tazpanel annotate lib/libtazpanel @ rev 51

Implement daemons management
author Christophe Lincoln <pankso@slitaz.org>
date Sat Apr 09 05:45:44 2011 +0200 (2011-04-09)
parents cf15cb2ff715
children cb8779b378d4
rev   line source
pankso@15 1 #!/bin/sh
pankso@15 2 #
pankso@15 3 # Common functions for TazPanel CGI and cmdline interface
pankso@15 4 #
pankso@15 5
pankso@40 6 # Include gettext helper script.
pankso@40 7 . /usr/bin/gettext.sh
pankso@40 8
pankso@40 9 # Export package name for gettext.
pankso@40 10 TEXTDOMAIN='tazpanel'
pankso@40 11 export TEXTDOMAIN
pankso@40 12
pankso@15 13 # We need a config file first
pankso@15 14 get_config() {
pankso@15 15 CONFIG="/etc/slitaz/tazpanel.conf"
pankso@15 16 [ -f $CONFIG ] && . $CONFIG
pankso@15 17 [ -f tazpanel.conf ] && . tazpanel.conf
pankso@15 18 [ ! -f $PANEL/lib/libtazpanel ] && \
pankso@15 19 echo "No config file or libtazpanel found: $CONFIG" && \
pankso@15 20 exit 1
pankso@15 21 }
pankso@15 22
pankso@49 23 # DEBUG mode
pankso@49 24 debug_info() {
pankso@49 25 if [ $DEBUG == "1" ]; then
pankso@49 26 echo "<div class='debug'>$REQUEST_METHOD ${QUERY_STRING}</div>"
pankso@49 27 fi
pankso@49 28 }
pankso@49 29
pankso@51 30 # LOG activities
pankso@51 31 log() {
pankso@51 32 grep ^[a-zA-Z0-9] | sed s'/\.*\]//' >> $LOG_FILE
pankso@51 33 }
pankso@51 34
pankso@40 35 # Network interface status
pankso@40 36 interface_status() {
pankso@40 37 if ifconfig | grep -A 1 $i | grep -q inet; then
pankso@40 38 ip=`ifconfig | grep -A 1 $i | grep inet | \
pankso@40 39 awk '{ print $2 }' | cut -d ":" -f 2`
pankso@40 40 echo "<td>connected</td><td>$ip</td>"
pankso@40 41 else
pankso@40 42 echo "<td>----</td><td>----</td>"
pankso@40 43 fi
pankso@40 44 }
pankso@40 45
pankso@40 46 # Catch network interface (used in summary and network main page)
pankso@40 47 list_network_interfaces() {
pankso@40 48 table_start
pankso@40 49 cat << EOT
pankso@40 50 <tr id="thead">
pankso@40 51 <td>`gettext "Interface"`</td>
pankso@40 52 <td>`gettext "Name"`</td>
pankso@40 53 <td>`gettext "Status"`</td>
pankso@40 54 <td>`gettext "IP Address"`</td>
pankso@40 55 </tr>
pankso@40 56 EOT
pankso@40 57 for i in `ls /sys/class/net`
pankso@40 58 do
pankso@40 59 case $i in
pankso@40 60 eth*)
pankso@41 61 echo "<tr><td><a href='/network.cgi?eth'>
pankso@41 62 <img src='$IMAGES/ethernet.png' />$i</a></td>
pankso@40 63 <td>Ethernet</td> `interface_status`</tr>" ;;
pankso@40 64 wlan*|ath*|ra*)
pankso@41 65 echo "<tr><td><a href='/network.cgi?wifi'>
pankso@41 66 <img src='$IMAGES/wireless.png' />$i</a></td>
pankso@40 67 <td>Wireless</td> `interface_status`</tr>" ;;
pankso@40 68 lo)
pankso@40 69 echo "<tr><td><img src='$IMAGES/loopback.png' />$i</td>
pankso@40 70 <td>Loopback</td> `interface_status`</tr>" ;;
pankso@40 71 *)
pankso@40 72 continue ;;
pankso@40 73 esac
pankso@40 74 done
pankso@40 75 table_end
pankso@40 76 }
pankso@40 77
pankso@15 78 #
pankso@15 79 # xHTML 5 (header and footer skel are from the style)
pankso@15 80 #
pankso@15 81
pankso@44 82 loading_msg() {
pankso@44 83 cat << EOT
pankso@44 84 <script type="text/javascript">
pankso@44 85 document.write('<div id="loading"><img src="/styles/default/images/loader.gif" />$LOADING_MSG</div>');
pankso@44 86 </script>
pankso@44 87 EOT
pankso@44 88 }
pankso@44 89
pankso@15 90 xhtml_header() {
pankso@32 91 cat ${PANEL}$HEADER | sed s/'- %TITLE%'/"$TITLE"/
pankso@15 92 }
pankso@15 93
pankso@15 94 xhtml_footer() {
pankso@32 95 cat ${PANEL}$FOOTER
pankso@15 96 }
pankso@15 97
pankso@15 98 table_start() {
pankso@15 99 cat << EOT
pankso@15 100 <table>
pankso@15 101 <tbody>
pankso@15 102 EOT
pankso@15 103 }
pankso@15 104
pankso@15 105 table_end () {
pankso@15 106 cat << EOT
pankso@15 107 </tbody>
pankso@15 108 </table>
pankso@15 109 EOT
pankso@45 110
pankso@15 111 }