tazpanel annotate index.cgi @ rev 90
index.cgi: add edit button
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Thu Apr 14 13:14:34 2011 +0200 (2011-04-14) |
parents | 25602bc63ca7 |
children | 783e2405d384 |
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 |
pankso@14 | 10 # Common functions from libtazpanel |
pankso@14 | 11 . lib/libtazpanel |
pankso@14 | 12 get_config |
pascal@81 | 13 header |
pankso@2 | 14 |
pankso@22 | 15 # Include gettext helper script. |
pankso@22 | 16 . /usr/bin/gettext.sh |
pankso@22 | 17 |
pankso@22 | 18 # Export package name for gettext. |
pankso@39 | 19 TEXTDOMAIN='tazpanel' |
pankso@22 | 20 export TEXTDOMAIN |
pankso@22 | 21 |
pankso@2 | 22 # |
pankso@49 | 23 # Things to do before displaying the page |
pankso@49 | 24 # |
pankso@49 | 25 |
pascal@81 | 26 [ -n "$(GET panel_pass)" ] && |
pascal@81 | 27 sed -i s@/:root:.*@/:root:$(GET panel_pass)@ $HTTPD_CONF |
pankso@49 | 28 |
pankso@49 | 29 # |
pankso@2 | 30 # Commands |
pankso@2 | 31 # |
pankso@2 | 32 |
pascal@81 | 33 case " $(GET) " in |
pascal@81 | 34 *\ file\ *) |
pankso@56 | 35 # |
paul@60 | 36 # Handle files (may have an edit function, we will see) |
pankso@56 | 37 # |
pankso@56 | 38 TITLE="- File" |
pankso@56 | 39 xhtml_header |
pascal@81 | 40 file="$(GET file)" |
pascal@81 | 41 echo "<h2>$file</h2>" |
pascal@90 | 42 if [ "$(GET action)" == "edit" ]; then |
pascal@90 | 43 cat <<EOT |
pascal@90 | 44 <form method="post" action="/index.cgi?file=$file"> |
pascal@90 | 45 <img src="/styles/default/images/edit.png" /> |
pascal@90 | 46 <input type="submit" value="`gettext "Save"`"> |
pascal@90 | 47 <textarea name="content" rows="30" style="width: 100%;"> |
pascal@90 | 48 $(cat $file) |
pascal@90 | 49 </textarea> |
pascal@90 | 50 </form> |
pascal@90 | 51 EOT |
pascal@90 | 52 else |
pascal@90 | 53 [ -n "$(POST content)" ] && |
pascal@90 | 54 sed "s/`echo -en '\r'` /\n/g" > $file <<EOT |
pascal@90 | 55 $(POST content) |
pascal@90 | 56 EOT |
pascal@90 | 57 cat <<EOT |
pascal@90 | 58 <div id="actions"> |
pascal@90 | 59 <a class="button" href='/index.cgi?file=$file&action=edit'> |
pascal@90 | 60 <img src="/styles/default/images/edit.png" />`gettext "Edit"`</a> |
pascal@90 | 61 |
pascal@90 | 62 </div> |
pascal@90 | 63 <pre> |
pascal@90 | 64 EOT |
pascal@90 | 65 # Handle file type by extension as a Web Server does it. |
pascal@90 | 66 case "$file" in |
pascal@90 | 67 *.conf|*.lst) |
pascal@90 | 68 syntax_highlighter conf ;; |
pascal@90 | 69 *.sh|*.cgi) |
pascal@90 | 70 syntax_highlighter sh ;; |
pascal@90 | 71 *) |
pascal@90 | 72 cat ;; |
pascal@90 | 73 esac < $file |
pascal@90 | 74 echo '</pre>' |
pascal@90 | 75 fi ;; |
pascal@81 | 76 *\ debug\ *) |
pankso@53 | 77 TITLE="- Debug" |
pankso@53 | 78 xhtml_header |
pankso@55 | 79 echo '<h2>HTTP Environment</h2>' |
pankso@55 | 80 echo '<pre>' |
pascal@81 | 81 httpinfo |
pankso@55 | 82 echo '</pre>' ;; |
pankso@2 | 83 *) |
pankso@14 | 84 # |
pankso@2 | 85 # Default xHTML content |
pankso@14 | 86 # |
pankso@8 | 87 xhtml_header |
pascal@81 | 88 [ -n "$(GET gen_locale)" ] && new_locale=$(GET gen_locale) |
pascal@81 | 89 [ -n "$(GET rdate)" ] && echo "" |
pankso@2 | 90 cat << EOT |
pankso@13 | 91 <div id="wrapper"> |
pankso@14 | 92 <h2>`gettext "Host:"` `hostname`</h2> |
paul@52 | 93 <p>`gettext "SliTaz administration and configuration Panel"`<p> |
pankso@14 | 94 </div> |
pankso@14 | 95 |
pankso@14 | 96 <h3>`gettext "Summary"`</h3> |
pankso@14 | 97 <div id="summary"> |
pankso@33 | 98 <p> |
pankso@33 | 99 `gettext "Uptime:"` `uptime` |
pankso@33 | 100 </p> |
pankso@33 | 101 <p> |
pankso@33 | 102 `gettext "Memory in Mb"` |
pankso@33 | 103 `free -m | grep Mem: | awk \ |
pankso@33 | 104 '{print "| Total:", $2, "| Used:", $3, "| Free:", $4}'` |
pankso@33 | 105 </p> |
pankso@33 | 106 <!-- Close summary --> |
pankso@33 | 107 </div> |
pankso@14 | 108 |
pankso@33 | 109 <h4>`gettext "Network status"`</h4> |
pankso@33 | 110 `list_network_interfaces` |
pankso@33 | 111 |
pankso@33 | 112 <h4>`gettext "Filesystem usage statistics"`</h4> |
pankso@14 | 113 <pre> |
pankso@14 | 114 `df -h | grep ^/dev` |
pankso@14 | 115 </pre> |
pankso@49 | 116 |
pankso@76 | 117 <h3>`gettext "Panel Activity"`</h3> |
pankso@76 | 118 <pre> |
pankso@76 | 119 $(cat $LOG_FILE | tail -n 6) |
pankso@76 | 120 </pre> |
pankso@76 | 121 |
pankso@49 | 122 <h3>`gettext "Panel settings"`</h3> |
pankso@49 | 123 <form method="get" action="$SCRIPT_NAME"> |
pankso@49 | 124 <div> |
pankso@54 | 125 `gettext "Panel password:"` |
pascal@81 | 126 <input type="password" name="panel_pass"/> |
pankso@54 | 127 <input type="submit" value="`gettext "Change"`" /> |
pankso@49 | 128 </div> |
pankso@49 | 129 </form> |
pankso@53 | 130 <p> |
paul@60 | 131 $(gettext "TazPanel provides a debuging mode and page:") |
pankso@54 | 132 <a href='$SCRIPT_NAME?debug'>debug</a> |
pankso@53 | 133 </p> |
pankso@49 | 134 |
pankso@2 | 135 EOT |
pankso@2 | 136 ;; |
pankso@2 | 137 esac |
pankso@2 | 138 |
pankso@14 | 139 xhtml_footer |
pankso@14 | 140 exit 0 |