#!/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 \
			dbuser dbpasswd dbname \
			admin_login admin_passwd ; 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_sql()
{
	sql_file="${root_d}/tmp_sql_update_file.sql"
	sql="update evo_users set user_login = '${admin_login}'"
	if [ "X${admin_passwd}"!="XNone" ]; then
		sql="${sql}, user_pass = '${admin_passwd}',"
	fi
	sql="${sql}  user_email='${admin_email}' where ID=1;"
	echo -n ${sql} >${sql_file}

${MYSQL_BIN_D}/mysql -u${dbuser} -p${dbpasswd} ${dbname} <${sql_file}
rm -f ${sql_file}

if [ $? -ne 0 ] ; then
	echo "An error occured while modifying database ${dbname} user ${dbuser}"
	exit 1
fi

	regexp="s|\(admin_email.*'\).*'|\1${admin_email}'|g"		
	sed -e "${regexp}" "${config_file}" > "${config_file}.copy"
	if [ $? -ne 0 ]; then
		echo "Error while edit config file"
		exit 1
	fi
	mv -f "${config_file}.copy" "${config_file}"



};

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
config_file="${root_d}/conf/_config.php"
root_d="${vhost_path}/${documents_directory}/${install_prefix}"
edit_sql

exit 0
