# HG changeset patch # User Pascal Bellard # Date 1372518399 -7200 # Node ID 4a8f56bb08cb20b5299fc051a1e964e82dfcc018 # Parent df2865290e55f6179eca6aaa6b754e22f81de967 Add TAZPANEL_DAEMON support diff -r df2865290e55 -r 4a8f56bb08cb boot.cgi --- a/boot.cgi Sun Jun 23 16:55:26 2013 +0300 +++ b/boot.cgi Sat Jun 29 17:06:39 2013 +0200 @@ -81,6 +81,7 @@ $(gettext 'Name') $(gettext 'Description') + $(gettext 'Status') $(gettext 'Action') $(gettext 'PID') @@ -103,6 +104,10 @@ [ echo "RUN_DAEMONS" | fgrep $name ] && boot="on boot" # Standard SliTaz busybox daemons and firewall echo -n "" + cfg="" + grep -qi "^${name}_OPTIONS=" /etc/daemons.conf && cfg="options|$cfg" + [ -s /etc/$name.conf ] && cfg="edit|$cfg" + [ -n "$(which $name)" ] && cfg="man|help|$cfg" case "$name" in firewall) gettext 'SliTaz Firewall with iptable rules' ;; @@ -111,20 +116,25 @@ ntpd) gettext 'Network time protocol daemon' ;; ftpd) + cfg="man|help|edit::/etc/inetd.conf" gettext 'Anonymous FTP server' ;; udhcpd) gettext 'Busybox DHCP server' ;; syslogd|klogd) gettext 'Linux Kernel log daemon' ;; crond) + # FIXME crontab gettext 'Execute scheduled commands' ;; dnsd) + cfg="man|help|edit|options::-d" gettext 'Small static DNS server daemon' ;; tftpd) + cfg="man|help|edit::/etc/inetd.conf" gettext 'Transfer a file on tftp request' ;; inetd) gettext 'Listen for network connections and launch programs' ;; zcip) + cfg="man|help|edit:Script:/etc/zcip.script|options::eth0 /etc/zcip.script" gettext 'Manage a ZeroConf IPv4 link-local address' ;; *) # Description from receipt @@ -132,8 +142,10 @@ [ -d "$LOCALSTATE/installed/${name%d}" ] && pkg=${name%d} [ -d "$LOCALSTATE/installed/${name}-pam" ] && pkg=${name}-pam if [ "$pkg" ]; then + unset SHORT_DESC TAZPANEL_DAEMON . $LOCALSTATE/installed/$pkg/receipt echo -n "$SHORT_DESC" + cfg="${TAZPANEL_DAEMON:-$cfg}" else echo -n "----" fi ;; @@ -148,6 +160,44 @@ [ "$name" = "apache" ] && pid=$(cat /var/run/$name/httpd.pid) # Pidof works for many daemons [ "$pid" ] || pid=$(pidof $name) + echo -n "" + if [ "$cfg" ]; then + IFS="|" + for i in $cfg ; do + IFS=":" + set -- $i + case "$1" in + edit) cat < + +EOT + ;; + options) + key=$(echo $name | tr [a-z] [A-Z])_OPTIONS + cat < + +EOT + ;; + man) cat < + +EOT + ;; + help) cat < + +EOT + ;; + web) cat < + +EOT + ;; + esac + done + fi + echo "" if [ "$pid" ]; then cat << EOT Started diff -r df2865290e55 -r 4a8f56bb08cb hardware.cgi --- a/hardware.cgi Sun Jun 23 16:55:26 2013 +0300 +++ b/hardware.cgi Sat Jun 29 17:06:39 2013 +0200 @@ -12,27 +12,6 @@ TITLE=$(gettext 'TazPanel - Hardware') -ktoh() -{ - k=$1 - if [ $k -lt 1024 ]; then - eval_gettext '${k}K' - return - fi - k=$((($k+512)/1024)) - if [ $k -lt 1024 ]; then - eval_gettext '${k}M' - return - fi - k=$((($k+512)/1024)) - if [ $k -lt 1024 ]; then - eval_gettext '${k}G' - return - fi - k=$((($k+512)/1024)) - eval_gettext '${k}T' -} - lsusb_table() { cat << EOT @@ -318,12 +297,14 @@ if grep -q "^$fs " /proc/swaps; then action="swapoff" set -- $(grep "^$fs " /proc/swaps) - size=$(ktoh $3) - used=$(ktoh $4) - av=$(ktoh $(($3-$4))) + size=$(blk2h $(($3*2))) + used=$(blk2h $(($4*2))) + av=$(blk2h $((2*($3-$4)))) pct=$(((100*$4)/$3))% mp=swap fi + [ -z "$size" ] && + size="$(blk2h $(cat /sys/block/${fs#/dev/}/size /sys/block/*/${fs#/dev/}/size))" cat << EOT diff -r df2865290e55 -r 4a8f56bb08cb index.cgi --- a/index.cgi Sun Jun 23 16:55:26 2013 +0300 +++ b/index.cgi Sat Jun 29 17:06:39 2013 +0200 @@ -61,6 +61,17 @@ # case " $(GET) " in + *\ exec\ *) + exec="$(GET exec)" + TITLE=$(gettext 'TazPanel - exec') + xhtml_header + cat << EOT +

$exec

+
+$($exec 2>&1 | htmlize)
+
+EOT + ;; *\ file\ *) # # Handle files @@ -89,16 +100,32 @@ EOT #The space before textarea gets muddled when the form is submitted. #It prevents anything else from getting messed up + elif [ "$(GET action)" == "setvar" ]; then + data="$(. $(GET file) ;eval echo \$$(GET var))" + cat < + + + $(GET var) : + + + +EOT elif [ "$(GET action)" == "diff" ]; then echo '
'
 			file_is_modified $file diff | syntax_highlighter diff
 			echo '
' else R=$(echo -en '\r') - [ -n "$(POST content)" ] && - sed "s/$R /\n/g;s/$R%0//g" > $file < $file < diff -r df2865290e55 -r 4a8f56bb08cb lib/libtazpanel --- a/lib/libtazpanel Sun Jun 23 16:55:26 2013 +0300 +++ b/lib/libtazpanel Sat Jun 29 17:06:39 2013 +0200 @@ -256,3 +256,15 @@ is_installed() { [ -d "$INSTALLED/$1" ] } + +blk2h() { + echo $1 | awk '{ + n = $0/2 + for (i = 1; n > 1024; i++) + n /= 1024 + f = "%1.0f%c" + if (n < 1000) + f = "%1.1f%c" + printf f,n,substr("KMGT", i, 1) +}' +} diff -r df2865290e55 -r 4a8f56bb08cb styles/default/header.html --- a/styles/default/header.html Sun Jun 23 16:55:26 2013 +0300 +++ b/styles/default/header.html Sat Jun 29 17:06:39 2013 +0200 @@ -59,6 +59,7 @@ src="/styles/default/images/wireless.png" />$(gettext 'Wireless')
  • $(gettext 'Config file')
  • + $(for i in menu.d/network/* ; do [ -f $i ] && . $i menu $i ; done)
  • $(gettext 'Settings')