#!/bin/sh

# phpbugtracker reconfigure script
# required parameters: dbname, dbuser, dbpasswd, 
# admin_email, admin_passwd
#
#
# here is also some standard parameters, that must be specified:
# vhost_path - full path to vhost root directory
# domain_name - name of domain
# install_prefix - path of application inside vhost directory
# ssl_target_directory - true, if application is in httpsdocs



read_params()
{
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

# now we have full set of parameters, stored in variables
# 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
}
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 \
			dbuser dbpasswd dbname \
			admin_email admin_name admin_passwd \
			locale company_name admin_fullname; do 
		check_parameter "$pname"
	done

}


parse_params()
{
	if [ "X${ssl_target_directory}" = "Xtrue" ]; then
		proto="https"
		documents_directory="httpsdocs"
	else
		proto="http"
		documents_directory="httpdocs"
	fi
	root_d="${vhost_path}/${documents_directory}/${install_path}"

};

edit_sql()
{
	sql_file="${root_d}/tmp_sql_update_file.sql"
	sql="update phpads_config set language = '${locale}', admin = '${admin_name}', \
company_name = '${company_name}', admin_fullname = '${admin_fullname}', admin_email = '${admin_email}'"
	if [ "X${admin_passwd}" != "XNone" ]; then
		sql="${sql}, admin_pw = '${admin_passwd}'"
	fi
	sql="${sql} where configid = 0;"
	echo ${sql} >${sql_file}

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

};

read_params
check_params
parse_params

edit_sql
exit 0
