#!/bin/sh

check_parameter()
{
	local pname="$1"
	if eval "test -z \"\$$pname\"";then
		scrname="`basename "$0"`"
		echo "$scrname: no $pname parameter specified for application"
		exit 1
	fi
}

check_params()
{
	for pname in vhost_path domain_name install_prefix ssl_target_directory \
			smtp_server, mail_domain, mail_domain_server, mail_login ; do 
		check_parameter "$pname"
	done

}



read_conf()
{
	if test -r /etc/psa/psa.conf; then
		while read var val; do
			case "$var" in
				[A-Z]*) eval "$var"='"$val"';;
			esac; 
		done </etc/psa/psa.conf
	else
		echo /etc/psa/psa.conf not found
		exit 1
	fi
}
parse_standard_parameters()
{
	if [ "X${ssl_target_directory}" = "Xtrue" ]; then
		documents_directory="httpsdocs"
		proto="https"
	else
		documents_directory="httpdocs"
		proto="http"
	fi
	root_d="${vhost_path}/${documents_directory}/${install_prefix}"
}

edit_conf_file()
{ 
	if [ "X${smtp_auth}" != "Xyes" ]; then 
		smtp_auth="no"
	fi

  regexp1="s!\(\"domain.*\"\).*\"!\1${mail_domain}\"!g"
  regexp2="s!\(\"server.*\"\).*\"!\1${mail_domain_server}\"!g"
  regexp3="s!\(\$smtp_server.*\"\).*\"!\1${smtp_server}\"!g"
  regexp4="s!\(\"login_type.*\"\).*\"!\1${mail_login}\"!g"
  regexp5="s/\(use_password_for_smtp\).*/\1 = ${smtp_auth};/g"
  regexp6="s!_install_prefix_!${vhost_path}/httpdocs/${install_prefix}!g"


  sed -e "${regexp1}" -e "${regexp2}" -e "${regexp3}" -e "${regexp4}" -e "${regexp5}" -e "${regexp6}"  $1 > $1.copy
  

if [ $? -ne 0 ]; then
	echo "error while edit conf file"
	exit 1
fi

mv -f $1.copy $1

};

var=`cat | awk '{
	eqpos=index($0, "=");
	if (eqpos>1) {
		var=substr($0, 1, eqpos-1);
		val=substr($0, eqpos+1);

		tmp="[\x5c\x5c]";
		tmp2="\x5c\x5c\x5c\x5c";
		gsub(tmp,tmp2,val);


		tmp2="\x5c\x5c\x5c\x22";
		gsub("\"",tmp2,val);
		print var "=\"" val "\"";
	};
}'`

eval $var

read_conf
check_params
parse_standard_parameters

conf_file="${root_d}/inc/config.php"
edit_conf_file $conf_file

exit 0
