#!/bin/bash

## Description: Install OpenMage
## Usage: install-openmage <version>
## Example: "install-openmage 19.4.6"

if [ $# -ne 1 ]; then
	echo "usage: ddev install-openmage <version>"
	exit 1
fi

CURRENT_DIR=$(dirname "$0")

MAGENTO_VERSION=$1
MAGENTO_DB_NAME="magento_${MAGENTO_VERSION//[-.]/_}"
MAGENTO_ROOT_DIR="/opt/magento-test-environments/magento_${MAGENTO_VERSION//[-.]/_}"
MAGENTO_SUBDOMAIN="${MAGENTO_VERSION//[-_.]/-}"

fix_permissions() {
	sudo chown -R "$(id -u):$(id -g)" /opt/magento-test-environments
}

check_if_db_exists() {
	echo "SHOW DATABASES" | mysql -hdb -udb -pdb | grep -q "$MAGENTO_DB_NAME"

	if [ $? -eq 1 ]; then
		echo "CREATE DATABASE ${MAGENTO_DB_NAME}" | mysql -hdb -uroot -proot

		if [ $? -eq 0 ]; then
			echo "Database ${MAGENTO_DB_NAME} created"
		fi

		echo "GRANT ALL PRIVILEGES ON *.* TO 'db'@'%'" | mysql -hdb -uroot -proot

		if [ $? -eq 0 ]; then
			echo "Database privileges updated"
		fi
	fi
}

install_magento() {
	if [ -d "$MAGENTO_ROOT_DIR" ]; then
		echo "Magento in $MAGENTO_ROOT_DIR already exists. Skip installation"
		exit 0
	fi

	if [ ! -f "./app/etc/local.xml" ]; then
		echo -e "=========================================================="
		echo -e "> Setup Magento ${MAGENTO_VERSION} ..."
		echo -e "=========================================================="

		check_if_db_exists

		if [ ! -d $MAGENTO_ROOT_DIR ]; then

			/var/www/html/bin/n98-magerun install \
				--dbHost="db" \
				--dbUser="db" \
        --dbPass="db" \
				--dbName="${MAGENTO_DB_NAME}" \
				--installSampleData=yes \
        --useDefaultConfigParams=yes \
        --magentoVersionByName="openmage-${MAGENTO_VERSION}" \
        --installationFolder="${MAGENTO_ROOT_DIR}" \
				--baseUrl="http://${MAGENTO_SUBDOMAIN}.${DDEV_PROJECT}.ddev.site/"

		fi
	fi
}

fix_permissions
install_magento
