tazpanel annotate index.cgi @ rev 76

Show Panel activity and log a few more things to test (we need date in log() and reverse output on main page)
author Christophe Lincoln <pankso@slitaz.org>
date Tue Apr 12 04:24:35 2011 +0200 (2011-04-12)
parents 1780ef64bcd5
children 25602bc63ca7
rev   line source
pankso@2 1 #!/bin/sh
pankso@2 2 #
paul@52 3 # Main CGI interface for TazPanel. In on word: KISS. Use the main css form
paul@52 4 # command so we are faster and do not load unneeded functions. If necessary
pankso@14 5 # you can use the lib/ dir to handle external resources.
pankso@2 6 #
pankso@42 7 # Copyright (C) 2011 SliTaz GNU/Linux - GNU gpl v3
pankso@42 8 #
pankso@2 9 echo "Content-Type: text/html"
pankso@2 10 echo ""
pankso@2 11
pankso@14 12 # Common functions from libtazpanel
pankso@14 13 . lib/libtazpanel
pankso@14 14 get_config
pankso@56 15 query_string_parser
pankso@2 16
pankso@22 17 # Include gettext helper script.
pankso@22 18 . /usr/bin/gettext.sh
pankso@22 19
pankso@22 20 # Export package name for gettext.
pankso@39 21 TEXTDOMAIN='tazpanel'
pankso@22 22 export TEXTDOMAIN
pankso@22 23
pankso@2 24 #
pankso@49 25 # Things to do before displaying the page
pankso@49 26 #
pankso@49 27
pankso@49 28 case "$QUERY_STRING" in
pankso@49 29 panel-pass=*)
pankso@49 30 new=${QUERY_STRING#*=}
pankso@49 31 sed -i s@/:root:.*@/:root:$new@ $HTTPD_CONF ;;
pankso@49 32 *) continue ;;
pankso@49 33 esac
pankso@49 34
pankso@49 35 #
pankso@2 36 # Commands
pankso@2 37 #
pankso@2 38
pankso@2 39 case "$QUERY_STRING" in
pankso@56 40 file=*)
pankso@56 41 #
paul@60 42 # Handle files (may have an edit function, we will see)
pankso@56 43 #
pankso@56 44 TITLE="- File"
pankso@56 45 xhtml_header
pankso@56 46 echo "<h2>$WANT</h2>"
pankso@56 47 echo '<pre>'
pankso@58 48 # Handle file type by extension as a Web Server does it.
pankso@58 49 case "$WANT" in
pankso@58 50 *.conf|*.lst)
pankso@74 51 cat $WANT | syntax_highlighter conf ;;
pankso@75 52 *.sh|*.cgi)
pankso@75 53 cat $WANT | syntax_highlighter sh ;;
pankso@58 54 *)
pankso@58 55 cat $WANT ;;
pankso@58 56 esac
pankso@56 57 echo '</pre>' ;;
pankso@53 58 debug*)
pankso@53 59 TITLE="- Debug"
pankso@53 60 xhtml_header
pankso@53 61 cat << EOT
pankso@55 62 <h2>QUERY_STRING</h2>
pankso@53 63 <pre>
pankso@53 64 QUERY_STRING="$QUERY_STRING"
pankso@53 65
pankso@53 66 Fuction: query_string_parser (<a href="?debug=test=var1=var2">test</a>)
pankso@53 67
pankso@53 68 CASE="$CASE"
pankso@53 69 WANT="$WANT"
pankso@53 70 VAR_1="$VAR_1"
pankso@53 71 VAR_2="$VAR_2"
pankso@53 72 </pre>
pankso@53 73 EOT
pankso@55 74 echo '<h2>HTTP Environment</h2>'
pankso@55 75 local var
pankso@55 76 local info
pankso@55 77 echo '<pre>'
pankso@55 78 for var in SERVER_SOFTWARE SERVER_NAME SERVER_PORT GATEWAY_INTERFACE \
pankso@55 79 AUTH_TYPE REMOTE_ADDR REMOTE_PORT HTTP_HOST HTTP_USER_AGENT \
pankso@55 80 HTTP_ACCEPT_LANGUAGE REQUEST_METHOD REQUEST_URI QUERY_STRING \
pankso@55 81 CONTENT_LENGTH CONTENT_TYPE SCRIPT_NAME SCRIPT_FILENAME PWD
pankso@55 82 do
pankso@55 83 eval info=\$$var
pankso@55 84 echo "$var=\"$info\""
pankso@55 85 done
pankso@55 86 echo '</pre>' ;;
pankso@2 87 *)
pankso@14 88 #
pankso@2 89 # Default xHTML content
pankso@14 90 #
pankso@8 91 xhtml_header
pankso@42 92 case "$QUERY_STRING" in
pankso@42 93 gen-locale=*)
pankso@42 94 new_locale=${QUERY_STRING#gen-locale=} ;;
pankso@42 95 rdate)
pankso@42 96 echo "" ;;
pankso@42 97 esac
pankso@2 98 cat << EOT
pankso@13 99 <div id="wrapper">
pankso@14 100 <h2>`gettext "Host:"` `hostname`</h2>
paul@52 101 <p>`gettext "SliTaz administration and configuration Panel"`<p>
pankso@14 102 </div>
pankso@14 103
pankso@14 104 <h3>`gettext "Summary"`</h3>
pankso@14 105 <div id="summary">
pankso@33 106 <p>
pankso@33 107 `gettext "Uptime:"` `uptime`
pankso@33 108 </p>
pankso@33 109 <p>
pankso@33 110 `gettext "Memory in Mb"`
pankso@33 111 `free -m | grep Mem: | awk \
pankso@33 112 '{print "| Total:", $2, "| Used:", $3, "| Free:", $4}'`
pankso@33 113 </p>
pankso@33 114 <!-- Close summary -->
pankso@33 115 </div>
pankso@14 116
pankso@33 117 <h4>`gettext "Network status"`</h4>
pankso@33 118 `list_network_interfaces`
pankso@33 119
pankso@33 120 <h4>`gettext "Filesystem usage statistics"`</h4>
pankso@14 121 <pre>
pankso@14 122 `df -h | grep ^/dev`
pankso@14 123 </pre>
pankso@49 124
pankso@76 125 <h3>`gettext "Panel Activity"`</h3>
pankso@76 126 <pre>
pankso@76 127 $(cat $LOG_FILE | tail -n 6)
pankso@76 128 </pre>
pankso@76 129
pankso@49 130 <h3>`gettext "Panel settings"`</h3>
pankso@49 131 <form method="get" action="$SCRIPT_NAME">
pankso@49 132 <div>
pankso@54 133 `gettext "Panel password:"`
pankso@49 134 <input type="password" name="panel-pass"/>
pankso@54 135 <input type="submit" value="`gettext "Change"`" />
pankso@49 136 </div>
pankso@49 137 </form>
pankso@53 138 <p>
paul@60 139 $(gettext "TazPanel provides a debuging mode and page:")
pankso@54 140 <a href='$SCRIPT_NAME?debug'>debug</a>
pankso@53 141 </p>
pankso@49 142
pankso@2 143 EOT
pankso@2 144 ;;
pankso@2 145 esac
pankso@2 146
pankso@14 147 xhtml_footer
pankso@14 148 exit 0