#!/bin/bash

if [ "$#" -ne 1 ]; then
    echo "Illegal number of parameters"
fi

TYPE=$1

my_dir="$(dirname "$0")"
DIR_RETURN=`pwd`

cd "$my_dir"

source ./config

# Create paths
mkdir -p "/var/www/$PROJECT_BUILDNAME"
mkdir -p /home/$PROJECT_AUTHOR/{private,storage}/$PROJECT_BUILDNAME
mkdir -p /var/log/$PROJECT_AUTHOR/$PROJECT_BUILDNAME

# Copy application
cp -r ./public/* /var/www/$PROJECT_BUILDNAME/
cp -r ./private/* /home/$PROJECT_AUTHOR/private/$PROJECT_BUILDNAME/

# Chown stuff
chown -R www-data:www-data /var/www/$PROJECT_BUILDNAME
chown -R www-data:www-data /home/$PROJECT_AUTHOR
chown -R www-data:www-data /var/log/$PROJECT_AUTHOR

# Make bin executables
chmod 0744 /home/$PROJECT_AUTHOR/private/$PROJECT_BUILDNAME/bin/*

# Apache
if [[ $TYPE == "webserver" ]]; then
    cat ./os/000-${PROJECT_TYPE}.template.conf | 
        sed -e "s/§PROJECT_BUILDNAME§/${PROJECT_BUILDNAME}/g" \
        > /etc/apache2/sites-available/000-default.conf

    a2enmod rewrite
fi

# Overwrite opcache default config
cat ./os/opcache.template.ini | 
	sed -e "s/§PROJECT_BUILDNAME§/${PROJECT_BUILDNAME}/g" \
	> /usr/local/etc/php/conf.d/opcache.ini

# Add config to php.ini
cat ./os/php.template.ini > /usr/local/etc/php/php.ini

# Generate Entrypoint
cp "./os/${TYPE}-entrypoint" "/usr/local/bin/$PROJECT_BUILDNAME-entrypoint"
chmod 0744 /usr/local/bin/$PROJECT_BUILDNAME-entrypoint


cd "$DIR_RETURN"
