#!/bin/sh

# Wiki postinstall script

# 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

# and some additional Wiki's parameters:
# dbname,dbuser,dbpasswd,admin_name,admin_passwd,locale


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

	while read var val; do
		case "$var" in
			[A-Z]*) eval "$var"='"$val"';;
		esac; 
	done </etc/psa/psa.conf

};

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_name admin_passwd \
			locale; do 
		check_parameter "$pname"
	done

}




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


backup_config()
{
	if [ ! -f "$1.orig" ]; then
		# backup original config file
		mv "$1" "$1.orig"
	fi
};

#edit_admin_file()
#{ 
#  regexp1="s/\(wikiadmin.*\"\).*\"/\1${admin_name}\"/g"
#  regexp2="s/\(adminpasswd.*\"\).*\"/\1${admin_passwd}\"/g"
#  
#sed -e "${regexp1}" -e "${regexp2}" $1 >$1.copy
#mv -f $1.copy $1
#
#};


edit_config()
{
#	virt_path="${vhost_path}/httpdocs/${install_prefix}"
	regexp1="s/_dbname_/${dbname}/g"
	regexp2="s/_dbuser_/${dbuser}/g"
	regexp3="s/_dbpasswd_/${dbpasswd}/g"
	regexp4="s/_locale_/${locale}/g"
	regexp5="s!_virt_path_!${root_d}!g"
	regexp6="s/_admin_user_/${admin_name}/g"
	regexp7="s/_admin_pass_/${admin_passwd}/g"
	regexp8="s/_def_lang_/${locale}/g"
	
	sed -e "${regexp1}" -e "${regexp2}" -e "${regexp3}" -e "${regexp4}" -e "${regexp5}" -e "${regexp6}" -e "${regexp7}" -e "${regexp8}" $1 > $1.copy
	mv -f $1.copy $1
};

# now we have full set of parameters, stored in variables
read_params
check_params
parse_params

root_d="${vhost_path}/${documents_directory}/${install_prefix}"

conf_file="${root_d}/config/config.ini"
#admin_file="${root_d}/admin.php"
#mysql_schema_file="${root_d}/schemas/mysql-initialize.sql"
mysql_schema_file="${root_d}/schema.sql"
#mysql_base_file="${root_d}/schemas/wiki-base.sql"

# generate Wiki config file
#edit_admin_file ${admin_file}
edit_config ${conf_file}

# form Wiki database

${MYSQL_BIN_D}/mysql -u"${dbuser}" -p"${dbpasswd}" "${dbname}" < "${mysql_schema_file}"
#${MYSQL_BIN_D}/mysql -u"${dbuser}" -p"${dbpasswd}" "${dbname}" < "${mysql_base_file}"

# move away installation directory


exit 0
