tazpanel annotate lib/libtazpanel @ rev 94
libtazpanel: improve log function for better activity overview
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Thu Apr 14 19:46:48 2011 +0200 (2011-04-14) |
parents | 783e2405d384 |
children | 2392cabdcc3d |
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 |
pascal@81 | 6 # Get parameters with GET, POST and FILE functions |
pascal@81 | 7 . /usr/bin/httpd_helper.sh |
pascal@81 | 8 |
pankso@40 | 9 # Include gettext helper script. |
pankso@40 | 10 . /usr/bin/gettext.sh |
pankso@40 | 11 |
pankso@40 | 12 # Export package name for gettext. |
pankso@40 | 13 TEXTDOMAIN='tazpanel' |
pankso@40 | 14 export TEXTDOMAIN |
pankso@40 | 15 |
pankso@15 | 16 # We need a config file first |
pankso@15 | 17 get_config() { |
pankso@15 | 18 CONFIG="/etc/slitaz/tazpanel.conf" |
pankso@15 | 19 [ -f $CONFIG ] && . $CONFIG |
pankso@15 | 20 [ -f tazpanel.conf ] && . tazpanel.conf |
pankso@15 | 21 [ ! -f $PANEL/lib/libtazpanel ] && \ |
pankso@15 | 22 echo "No config file or libtazpanel found: $CONFIG" && \ |
pankso@15 | 23 exit 1 |
pankso@15 | 24 } |
pankso@15 | 25 |
pankso@74 | 26 # Syntax highlighting for config file and SHell scripts |
pankso@76 | 27 # HTML entities: -e 's|&|\&|g' -e 's|<|\<|g' -e 's|>|\>|g' |
pankso@74 | 28 syntax_highlighter() { |
pankso@74 | 29 case $1 in |
pankso@74 | 30 conf) |
pankso@74 | 31 sed -e s"#^\#\([^']*\)#<span class='conf-comment'>\0</span>#"g \ |
pankso@74 | 32 -e s"#^[A-Z]\([^']*\)=#<span class='conf-var'>\0</span>#"g \ |
pankso@74 | 33 -e s"#^[a-z]\([^']*\)#<span class='conf-var'>\0</span>#"g \ |
pankso@74 | 34 -e s"#\"\([^']*\)\"#<span class='conf-val'>\0</span>#"g ;; |
pankso@75 | 35 sh) |
pankso@75 | 36 sed -e s"#^\#\([^']*\)#<span class='sh-comment'>\0</span>#"g \ |
pascal@91 | 37 -e s"#\"\([^']*\)\"#<span class='sh-val'>\0</span>#"g ;; |
pascal@91 | 38 diff) |
pankso@94 | 39 sed -e 's|&|\&|g' -e 's|<|\<|g' -e 's|>|\>|g' \ |
pascal@91 | 40 -e s"#^-\([^']*\).#<span style='color: red;'>\0</span>#"g \ |
pascal@91 | 41 -e s"#^+\([^']*\).#<span style='color: green;'>\0</span>#"g \ |
pascal@91 | 42 -e s"#@@\([^']*\)@@#<span style='color: blue;'>@@\1@@</span>#"g ;; |
pankso@74 | 43 esac |
pankso@53 | 44 } |
pankso@53 | 45 |
pankso@51 | 46 # LOG activities |
pankso@51 | 47 log() { |
pankso@94 | 48 grep ^[a-zA-Z0-9] | sed s'/\.*\]//' | \ |
pankso@94 | 49 sed s"#[^']*#$date : \0#" >> $LOG_FILE |
pankso@51 | 50 } |
pankso@51 | 51 |
pankso@40 | 52 # Network interface status |
pankso@40 | 53 interface_status() { |
pankso@40 | 54 if ifconfig | grep -A 1 $i | grep -q inet; then |
pankso@40 | 55 ip=`ifconfig | grep -A 1 $i | grep inet | \ |
pankso@40 | 56 awk '{ print $2 }' | cut -d ":" -f 2` |
pankso@40 | 57 echo "<td>connected</td><td>$ip</td>" |
pankso@40 | 58 else |
pankso@40 | 59 echo "<td>----</td><td>----</td>" |
pankso@40 | 60 fi |
pankso@40 | 61 } |
pankso@40 | 62 |
pankso@40 | 63 # Catch network interface (used in summary and network main page) |
pankso@40 | 64 list_network_interfaces() { |
pankso@40 | 65 table_start |
pankso@40 | 66 cat << EOT |
pankso@40 | 67 <tr id="thead"> |
pankso@40 | 68 <td>`gettext "Interface"`</td> |
pankso@40 | 69 <td>`gettext "Name"`</td> |
pankso@40 | 70 <td>`gettext "Status"`</td> |
pankso@40 | 71 <td>`gettext "IP Address"`</td> |
pankso@40 | 72 </tr> |
pankso@40 | 73 EOT |
pankso@40 | 74 for i in `ls /sys/class/net` |
pankso@40 | 75 do |
pankso@40 | 76 case $i in |
pankso@40 | 77 eth*) |
pankso@41 | 78 echo "<tr><td><a href='/network.cgi?eth'> |
pankso@41 | 79 <img src='$IMAGES/ethernet.png' />$i</a></td> |
pankso@40 | 80 <td>Ethernet</td> `interface_status`</tr>" ;; |
pankso@40 | 81 wlan*|ath*|ra*) |
pankso@41 | 82 echo "<tr><td><a href='/network.cgi?wifi'> |
pankso@41 | 83 <img src='$IMAGES/wireless.png' />$i</a></td> |
pankso@40 | 84 <td>Wireless</td> `interface_status`</tr>" ;; |
pankso@40 | 85 lo) |
pankso@40 | 86 echo "<tr><td><img src='$IMAGES/loopback.png' />$i</td> |
pankso@40 | 87 <td>Loopback</td> `interface_status`</tr>" ;; |
pankso@40 | 88 *) |
pankso@40 | 89 continue ;; |
pankso@40 | 90 esac |
pankso@40 | 91 done |
pankso@40 | 92 table_end |
pankso@40 | 93 } |
pankso@40 | 94 |
pankso@15 | 95 # |
pankso@15 | 96 # xHTML 5 (header and footer skel are from the style) |
pankso@15 | 97 # |
pankso@15 | 98 |
pankso@44 | 99 loading_msg() { |
pankso@44 | 100 cat << EOT |
pankso@44 | 101 <script type="text/javascript"> |
pankso@44 | 102 document.write('<div id="loading"><img src="/styles/default/images/loader.gif" />$LOADING_MSG</div>'); |
pankso@44 | 103 </script> |
pankso@44 | 104 EOT |
pankso@44 | 105 } |
pankso@44 | 106 |
pankso@15 | 107 xhtml_header() { |
pankso@32 | 108 cat ${PANEL}$HEADER | sed s/'- %TITLE%'/"$TITLE"/ |
pankso@67 | 109 if [ $DEBUG == "1" ]; then |
pascal@81 | 110 local i |
pascal@81 | 111 local j |
pascal@81 | 112 local x |
pascal@81 | 113 args="" |
pascal@81 | 114 for x in GET POST COOKIE ; do |
pascal@81 | 115 for i in $($x) ; do |
pascal@81 | 116 if [ $($x $i count) -gt 1 ]; then |
pascal@81 | 117 for j in $(seq 1 $($x $i count)); do |
pascal@81 | 118 args="$args $x($i,$j)='$($x $i $j)'" |
pascal@81 | 119 done |
pascal@81 | 120 else |
pascal@81 | 121 args="$args $x($i)='$($x $i)'" |
pascal@81 | 122 fi |
pascal@81 | 123 done |
pascal@81 | 124 done |
pascal@81 | 125 for i in $(FILE); do |
pascal@81 | 126 for j in name size type tmpname ; do |
pascal@81 | 127 args="$args FILE($i,$j)=$(FILE $i $j)" |
pascal@81 | 128 done |
pascal@81 | 129 done |
pankso@70 | 130 cat << EOT |
pankso@70 | 131 <pre class='debug'> |
pascal@81 | 132 QUERY_STRING="$QUERY_STRING"$args |
pankso@70 | 133 </pre> |
pankso@70 | 134 EOT |
pankso@67 | 135 fi |
pankso@15 | 136 } |
pankso@15 | 137 |
pankso@15 | 138 xhtml_footer() { |
pankso@32 | 139 cat ${PANEL}$FOOTER |
pankso@15 | 140 } |
pankso@15 | 141 |
pankso@15 | 142 table_start() { |
pankso@15 | 143 cat << EOT |
pankso@15 | 144 <table> |
pankso@15 | 145 <tbody> |
pankso@15 | 146 EOT |
pankso@15 | 147 } |
pankso@15 | 148 |
pankso@15 | 149 table_end () { |
pankso@15 | 150 cat << EOT |
pankso@15 | 151 </tbody> |
pankso@15 | 152 </table> |
pankso@15 | 153 EOT |
pankso@45 | 154 |
pankso@15 | 155 } |