tazpanel diff index.cgi @ rev 364

Add TAZPANEL_DAEMON support
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sat Jun 29 17:06:39 2013 +0200 (2013-06-29)
parents 2983cb632d9f
children 63efec6f5791
line diff
     1.1 --- a/index.cgi	Sat Feb 02 12:18:44 2013 +0100
     1.2 +++ b/index.cgi	Sat Jun 29 17:06:39 2013 +0200
     1.3 @@ -61,6 +61,17 @@
     1.4  #
     1.5  
     1.6  case " $(GET) " in
     1.7 +	*\ exec\ *)
     1.8 +		exec="$(GET exec)"
     1.9 +		TITLE=$(gettext 'TazPanel - exec')
    1.10 +		xhtml_header
    1.11 +		cat << EOT
    1.12 +<h2>$exec</h2>
    1.13 +<pre>
    1.14 +$($exec 2>&1 | htmlize)
    1.15 +</pre>
    1.16 +EOT
    1.17 +		;;
    1.18  	*\ file\ *)
    1.19  		#
    1.20  		# Handle files
    1.21 @@ -89,16 +100,32 @@
    1.22  EOT
    1.23  #The space before textarea gets muddled when the form is submitted.
    1.24  #It prevents anything else from getting messed up
    1.25 +		elif [ "$(GET action)" == "setvar" ]; then
    1.26 +			data="$(. $(GET file) ;eval echo \$$(GET var))"
    1.27 +			cat <<EOT
    1.28 +<form method="post" action="$SCRIPT_NAME?file=$file">
    1.29 +	<img src="$IMAGES/edit.png" />
    1.30 +	<input type="submit" value="$(gettext 'Save')">
    1.31 +	$(GET var) : 
    1.32 +	<input type="hidden" name="var" value="$(GET var)">
    1.33 +	<input type="text" name="content" value="${data:-$(GET default)}">
    1.34 +</form>
    1.35 +EOT
    1.36  		elif [ "$(GET action)" == "diff" ]; then
    1.37  			echo '<pre id="diff">'
    1.38  			file_is_modified $file diff | syntax_highlighter diff
    1.39  			echo '</pre>'
    1.40  		else
    1.41  			R=$(echo -en '\r')
    1.42 -			[ -n "$(POST content)" ] &&
    1.43 -				sed "s/$R /\n/g;s/$R%0//g" > $file <<EOT
    1.44 +			if [ -n "$(POST content)" ]; then
    1.45 +				if [ -n "$(POST var)" ]; then
    1.46 +					sed -i "s|^\\($(POST var)=\\).*|\1\"$(POST content)\"|" $file
    1.47 +				else
    1.48 +					sed "s/$R /\n/g;s/$R%0//g" > $file <<EOT
    1.49  $(POST content)
    1.50  EOT
    1.51 +				fi
    1.52 +			fi
    1.53  			cat <<EOT
    1.54  <div id="actions">
    1.55  	<a class="button" href='$SCRIPT_NAME?file=$file&action=edit'>