tazpanel annotate index.cgi @ rev 53

Add a debug page and a QUERY_STRING parser so we can use names CASE WANT VAR_1 VAR_2
author Christophe Lincoln <pankso@slitaz.org>
date Sun Apr 10 21:28:13 2011 +0200 (2011-04-10)
parents 730f8bcacabc
children 6104795d77ff
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@2 15
pankso@22 16 # Include gettext helper script.
pankso@22 17 . /usr/bin/gettext.sh
pankso@22 18
pankso@22 19 # Export package name for gettext.
pankso@39 20 TEXTDOMAIN='tazpanel'
pankso@22 21 export TEXTDOMAIN
pankso@22 22
pankso@53 23
pankso@53 24
pankso@2 25 #
pankso@49 26 # Things to do before displaying the page
pankso@49 27 #
pankso@49 28
pankso@49 29 case "$QUERY_STRING" in
pankso@49 30 panel-pass=*)
pankso@49 31 new=${QUERY_STRING#*=}
pankso@49 32 sed -i s@/:root:.*@/:root:$new@ $HTTPD_CONF ;;
pankso@49 33 *) continue ;;
pankso@49 34 esac
pankso@49 35
pankso@49 36 #
pankso@2 37 # Commands
pankso@2 38 #
pankso@2 39
pankso@2 40 case "$QUERY_STRING" in
pankso@53 41 debug*)
pankso@53 42 TITLE="- Debug"
pankso@53 43 query_string_parser
pankso@53 44 xhtml_header
pankso@53 45 cat << EOT
pankso@53 46 <pre>
pankso@53 47 QUERY_STRING="$QUERY_STRING"
pankso@53 48
pankso@53 49 Fuction: query_string_parser (<a href="?debug=test=var1=var2">test</a>)
pankso@53 50
pankso@53 51 CASE="$CASE"
pankso@53 52 WANT="$WANT"
pankso@53 53 VAR_1="$VAR_1"
pankso@53 54 VAR_2="$VAR_2"
pankso@53 55 </pre>
pankso@53 56 EOT
pankso@53 57 ;;
pankso@2 58 *)
pankso@14 59 #
pankso@2 60 # Default xHTML content
pankso@14 61 #
pankso@8 62 xhtml_header
pankso@49 63 debug_info
pankso@42 64 case "$QUERY_STRING" in
pankso@42 65 gen-locale=*)
pankso@42 66 new_locale=${QUERY_STRING#gen-locale=} ;;
pankso@42 67 rdate)
pankso@42 68 echo "" ;;
pankso@42 69 esac
pankso@2 70 cat << EOT
pankso@13 71 <div id="wrapper">
pankso@14 72 <h2>`gettext "Host:"` `hostname`</h2>
paul@52 73 <p>`gettext "SliTaz administration and configuration Panel"`<p>
pankso@14 74 </div>
pankso@14 75
pankso@14 76 <h3>`gettext "Summary"`</h3>
pankso@14 77 <div id="summary">
pankso@33 78 <p>
pankso@33 79 `gettext "Uptime:"` `uptime`
pankso@33 80 </p>
pankso@33 81 <p>
pankso@33 82 `gettext "Memory in Mb"`
pankso@33 83 `free -m | grep Mem: | awk \
pankso@33 84 '{print "| Total:", $2, "| Used:", $3, "| Free:", $4}'`
pankso@33 85 </p>
pankso@33 86 <!-- Close summary -->
pankso@33 87 </div>
pankso@14 88
pankso@33 89 <h4>`gettext "Network status"`</h4>
pankso@33 90 `list_network_interfaces`
pankso@33 91
pankso@33 92 <h4>`gettext "Filesystem usage statistics"`</h4>
pankso@14 93 <pre>
pankso@14 94 `df -h | grep ^/dev`
pankso@14 95 </pre>
pankso@49 96
pankso@49 97 <h3>`gettext "Panel settings"`</h3>
pankso@49 98 <form method="get" action="$SCRIPT_NAME">
pankso@49 99 <div>
pankso@49 100 <input type="submit" value="`gettext "Change Panel password"`" />
pankso@49 101 <input type="password" name="panel-pass"/>
pankso@49 102 </div>
pankso@49 103 </form>
pankso@53 104 <p>
pankso@53 105 $(gettext "TazPanel provide a debuging mode and page:")
pankso@53 106 <a href='$SCRIPT_NAME?debug'>debug</a>
pankso@53 107 </p>
pankso@49 108
pankso@2 109 EOT
pankso@2 110 ;;
pankso@2 111 esac
pankso@2 112
pankso@14 113 xhtml_footer
pankso@14 114 exit 0