#!/bin/bash

if [ "$EUID" -ne 0 ]
  then echo "Please run as root"
  exit
fi

SITES_FOLDER=/etc/apache2/sites-available

USER_DOMAIN=$1.$2.dunahousedev.hu
PROJECT_DOMAIN=$2.dunahousedev.hu

USER_FILE=$SITES_FOLDER/$USER_DOMAIN.conf
PROJECT_FILE=$SITES_FOLDER/$PROJECT_DOMAIN.conf
LOG_DIR=/home/users/$1/logs
WAS_CREATION=false


if [ -f "$USER_FILE" ]; then
    echo "$USER_FILE exists."
else 
    echo "$USER_FILE does not exist."
    cd $SITES_FOLDER
    touch $USER_DOMAIN.conf
    
    echo "<VirtualHost *:80>" >> $USER_DOMAIN.conf
    echo "ServerName $USER_DOMAIN" >> $USER_DOMAIN.conf
    echo "ServerAlias www.$USER_DOMAIN" >> $USER_DOMAIN.conf
    echo "ServerAdmin biro.gergo@dh.hu" >> $USER_DOMAIN.conf
    echo "DocumentRoot /home/users/$1/repos/$2" >> $USER_DOMAIN.conf
    echo "ErrorLog $LOG_DIR/${USER_DOMAIN}_error.log" >> $USER_DOMAIN.conf
    echo "CustomLog $LOG_DIR/${USER_DOMAIN}_access.log combined" >> $USER_DOMAIN.conf
    
    
    echo "<Directory \"/home/users/$1/repos/$2\">" >> $USER_DOMAIN.conf
    echo "Allowoverride all" >> $USER_DOMAIN.conf
    echo "Order allow,deny" >> $USER_DOMAIN.conf
    echo "Allow from all" >> $USER_DOMAIN.conf
    echo "Require all granted " >> $USER_DOMAIN.conf
    echo "</Directory>" >> $USER_DOMAIN.conf
    
    
    
    echo "</VirtualHost>" >> $USER_DOMAIN.conf
    
    echo "$USER_FILE created"
    
    a2ensite $USER_DOMAIN.conf
    WAS_CREATION=true
    
fi

if [ -f "$PROJECT_FILE" ]; then
    echo "$PROJECT_FILE exists."
else 
    echo "$PROJECT_FILE does not exist."
    
    cd $SITES_FOLDER
    touch $PROJECT_DOMAIN.conf
    
    echo "<VirtualHost *:80>" >> $PROJECT_DOMAIN.conf
    echo "ServerName $PROJECT_DOMAIN" >> $PROJECT_DOMAIN.conf
    echo "ServerAlias www.$PROJECT_DOMAIN" >> $PROJECT_DOMAIN.conf
    echo "ServerAdmin biro.gergo@dh.hu" >> $PROJECT_DOMAIN.conf
    echo "DocumentRoot /home/projects/$2" >> $PROJECT_DOMAIN.conf
    echo "ErrorLog $LOG_DIR/${PROJECT_DOMAIN}_error.log" >> $PROJECT_DOMAIN.conf
    echo "CustomLog $LOG_DIR/${PROJECT_DOMAIN}_access.log combined" >> $PROJECT_DOMAIN.conf
    
    echo "<Directory \"/home/projects/$2\">" >> $PROJECT_DOMAIN.conf
    echo "Allowoverride all" >> $PROJECT_DOMAIN.conf
    echo "Order allow,deny" >> $PROJECT_DOMAIN.conf
    echo "Allow from all" >> $PROJECT_DOMAIN.conf
    echo "Require all granted " >> $PROJECT_DOMAIN.conf
    echo "</Directory>" >> $PROJECT_DOMAIN.conf
    
    echo "</VirtualHost>" >> $PROJECT_DOMAIN.conf
    
    echo "$PROJECT_FILE created"
    
    a2ensite $PROJECT_DOMAIN.conf
    WAS_CREATION=true
fi

if $WAS_CREATION ; then
	echo "Was creation so apache reload needed!"
	systemctl reload apache2
fi

#sudo certbot --apache --non-interactive --agree-tos --email bojti.attila@dh.hu -d $USER_DOMAIN
certbot certificates | grep -q "$USER_DOMAIN" || certbot --apache --non-interactive --agree-tos --email bojti.attila@dh.hu -d $USER_DOMAIN
#sudo certbot --apache --non-interactive --agree-tos --email bojti.attila@dh.hu -d $PROJECT_DOMAIN
certbot certificates | grep -q "$PROJECT_DOMAIN" || certbot --apache --non-interactive --agree-tos --email bojti.attila@dh.hu -d $PROJECT_DOMAIN

cd /home/projects/$2
git fetch --all
git reset --hard origin/main
chmod -R 777 /home/projects/$2


echo "--OK--"
