tazpanel annotate index.cgi @ rev 58

index.cgi: Add some colors to config file
author Christophe Lincoln <pankso@slitaz.org>
date Mon Apr 11 19:23:25 2011 +0200 (2011-04-11)
parents 769f91a0718d
children 294029941298
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 #
pankso@56 42 # Handle files (may have an edit function, 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 # HTML entities: -e 's|&|\&amp;|g' -e 's|<|\&lt;|g' -e 's|>|\&gt;|g'
pankso@58 50 case "$WANT" in
pankso@58 51 *.conf|*.lst)
pankso@58 52 cat $WANT | sed \
pankso@58 53 -e s"#^\#\([^']*\)#<span style='color: \#555;'>\0</span>#"g \
pankso@58 54 -e s"#^[A-Z]\([^']*\)=#<span style='color: \#000073;'>\0</span>#"g \
pankso@58 55 -e s"#^[a-z]\([^']*\)#<span style='color: \#730c00;'>\0</span>#"g \
pankso@58 56 -e s"#\"\([^']*\)\"#<span style='color: \#730c00;'>\0</span>#"g ;;
pankso@58 57 *)
pankso@58 58 cat $WANT ;;
pankso@58 59 esac
pankso@56 60 echo '</pre>' ;;
pankso@53 61 debug*)
pankso@53 62 TITLE="- Debug"
pankso@53 63 xhtml_header
pankso@53 64 cat << EOT
pankso@55 65 <h2>QUERY_STRING</h2>
pankso@53 66 <pre>
pankso@53 67 QUERY_STRING="$QUERY_STRING"
pankso@53 68
pankso@53 69 Fuction: query_string_parser (<a href="?debug=test=var1=var2">test</a>)
pankso@53 70
pankso@53 71 CASE="$CASE"
pankso@53 72 WANT="$WANT"
pankso@53 73 VAR_1="$VAR_1"
pankso@53 74 VAR_2="$VAR_2"
pankso@53 75 </pre>
pankso@53 76 EOT
pankso@55 77 echo '<h2>HTTP Environment</h2>'
pankso@55 78 local var
pankso@55 79 local info
pankso@55 80 echo '<pre>'
pankso@55 81 for var in SERVER_SOFTWARE SERVER_NAME SERVER_PORT GATEWAY_INTERFACE \
pankso@55 82 AUTH_TYPE REMOTE_ADDR REMOTE_PORT HTTP_HOST HTTP_USER_AGENT \
pankso@55 83 HTTP_ACCEPT_LANGUAGE REQUEST_METHOD REQUEST_URI QUERY_STRING \
pankso@55 84 CONTENT_LENGTH CONTENT_TYPE SCRIPT_NAME SCRIPT_FILENAME PWD
pankso@55 85 do
pankso@55 86 eval info=\$$var
pankso@55 87 echo "$var=\"$info\""
pankso@55 88 done
pankso@55 89 echo '</pre>' ;;
pankso@2 90 *)
pankso@14 91 #
pankso@2 92 # Default xHTML content
pankso@14 93 #
pankso@8 94 xhtml_header
pankso@49 95 debug_info
pankso@42 96 case "$QUERY_STRING" in
pankso@42 97 gen-locale=*)
pankso@42 98 new_locale=${QUERY_STRING#gen-locale=} ;;
pankso@42 99 rdate)
pankso@42 100 echo "" ;;
pankso@42 101 esac
pankso@2 102 cat << EOT
pankso@13 103 <div id="wrapper">
pankso@14 104 <h2>`gettext "Host:"` `hostname`</h2>
paul@52 105 <p>`gettext "SliTaz administration and configuration Panel"`<p>
pankso@14 106 </div>
pankso@14 107
pankso@14 108 <h3>`gettext "Summary"`</h3>
pankso@14 109 <div id="summary">
pankso@33 110 <p>
pankso@33 111 `gettext "Uptime:"` `uptime`
pankso@33 112 </p>
pankso@33 113 <p>
pankso@33 114 `gettext "Memory in Mb"`
pankso@33 115 `free -m | grep Mem: | awk \
pankso@33 116 '{print "| Total:", $2, "| Used:", $3, "| Free:", $4}'`
pankso@33 117 </p>
pankso@33 118 <!-- Close summary -->
pankso@33 119 </div>
pankso@14 120
pankso@33 121 <h4>`gettext "Network status"`</h4>
pankso@33 122 `list_network_interfaces`
pankso@33 123
pankso@33 124 <h4>`gettext "Filesystem usage statistics"`</h4>
pankso@14 125 <pre>
pankso@14 126 `df -h | grep ^/dev`
pankso@14 127 </pre>
pankso@49 128
pankso@49 129 <h3>`gettext "Panel settings"`</h3>
pankso@49 130 <form method="get" action="$SCRIPT_NAME">
pankso@49 131 <div>
pankso@54 132 `gettext "Panel password:"`
pankso@49 133 <input type="password" name="panel-pass"/>
pankso@54 134 <input type="submit" value="`gettext "Change"`" />
pankso@49 135 </div>
pankso@49 136 </form>
pankso@53 137 <p>
pankso@54 138 $(gettext "TazPanel provide a debuging mode and page:")
pankso@54 139 <a href='$SCRIPT_NAME?debug'>debug</a>
pankso@53 140 </p>
pankso@49 141
pankso@2 142 EOT
pankso@2 143 ;;
pankso@2 144 esac
pankso@2 145
pankso@14 146 xhtml_footer
pankso@14 147 exit 0