#!/bin/sh
# mambo postinstall/reconfigure 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

# list of parameters for mambo:
# mambo_dbuser
# mambo_dbpasswd
# mambo_dbname
# mambo_admin_email
# mambo_admin_login
# mambo_admin_passwd

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_all_parameters()
{
	for pname in domain_name install_prefix ssl_target_directory \
			mambo_dbuser mambo_dbpasswd mambo_dbname \
			mambo_admin_email mambo_admin_login mambo_admin_passwd \
			mambo_editor_email mambo_editor_login mambo_editor_passwd ; do

		check_parameter "$pname"
	done

}

parse_standard_parameters()
{
	if test "$ssl_target_directory" = true; then
		proto="https"
		documents_directory="httpsdocs"
	else
		proto="http"
		documents_directory="httpdocs"
	fi
	root_d="${vhost_path}/${documents_directory}/${install_prefix}"
}


edit_sql()
{
    sqlfile="$root_d/temp_sql_configure.sql"
    sql1="update jos_users set username = '$mambo_admin_login', email = '$mambo_admin_email', password = md5('$mambo_admin_passwd') where id = 62;"
    sql2="update jos_users set username = '$mambo_editor_login', email = '$mambo_editor_email', password = md5('$mambo_editor_passwd') where id = 63;"
    
	echo $sql1>$sqlfile
	echo $sql2>>$sqlfile

    ${MYSQL_BIN_D}/mysql -u"${mambo_dbuser}" -p"${mambo_dbpasswd}" ${mambo_dbname} <$sqlfile
    rm -f $sqlfile

};

edit_conf()
{
	sed -e "s|\(_mailfrom = \).*|\1\"${mambo_admin_email}\";|g" ${conf_file}>${conf_file}.copy
	mv -f ${conf_file}.copy ${conf_file}
	chmod 777 ${conf_file}
}

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
}

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_all_parameters
parse_standard_parameters
edit_sql

conf_file="${root_d}/configuration.php"
edit_conf 

exit 0
