#!/bin/bash

# Retrieve arguments
domain=$1
path="/Microsoft-Server-ActiveSync"
app=z-push

# Check domain/path availability
sudo yunohost app checkurl $domain$path -a z-push
if [[ ! $? -eq 0 ]]; then
exit 1
fi

# Prereqs
sudo apt-get install php-soap php5-imap libawl-php php5-xsl -y

# Copy files to the right place
final_path=/var/www/z-push
sudo mkdir -p $final_path
sudo cp -a ../sources/* $final_path

# Configuration
sed -i "s^define('TIMEZONE', .*^define('TIMEZONE', '$(cat /etc/timezone)');^" ../conf/config*.php
sed -i "s@ALIASTOCHANGE@$final_path/@g" ../conf/config*.php

# Enable caldav carddav support
sudo yunohost app list -f baikal --json | grep '"installed": true'
if [ "$?" -eq 0 ]; then
	echo "Detected Baikal"
	caldavdomain=$(sudo yunohost app setting baikal domain)
	caldavpath=$(sudo yunohost app setting baikal path)
	caldavpath=${caldavpath%/}

	# Configuration baikal
	sed -i "s@BAIKALDOMAIN@$caldavdomain@g" ../conf/backend/config*.php
	sed -i "s@BAIKALPATH@$caldavpath@g" ../conf/backend/config*.php
	sed -i "s@DOMAINTOCHANGE@$domain@g" ../conf/backend/config-imap.php

	# Copy config
	sudo cp ../conf/config-combined.php $final_path/config.php
	sudo cp ../conf/backend/config-imap.php $final_path/backend/imap/config.php
	sudo cp ../conf/backend/config-carddav.php $final_path/backend/carddav/config.php
	sudo cp ../conf/backend/config-caldav.php $final_path/backend/caldav/config.php
	sudo cp ../conf/backend/config-combined.php $final_path/backend/combined/config.php
else
	# Copy config
	sudo cp ../conf/config.php $final_path/
	sed -i "s@DOMAINTOCHANGE@$domain@g" ../conf/backend/config-imap.php
	sudo cp ../conf/backend/config-imap.php $final_path/backend/imap/config.php

fi

# Set permissions to z-push directory
sudo chown -R www-data: $final_path


# Create directory
sudo mkdir -p /var/log/z-push
sudo chmod 750 /var/log/z-push
sudo chown www-data:www-data /var/log/z-push

#Copy XMLElement.php
sudo ln -s /usr/share/awl/inc/XML* /var/www/z-push/include/

# Modify Nginx configuration file and copy it to Nginx conf directory
sudo sed -i "s@ALIASTOCHANGE@$final_path/@g" ../conf/nginx.conf
sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/z-push.conf

# Dedicated php-fpm processes
sed -i "s@NAMETOCHANGE@$app@g" ../conf/php-fpm.conf
finalphpconf=/etc/php5/fpm/pool.d/$app.conf
sudo cp ../conf/php-fpm.conf $finalphpconf
sudo chown root: $finalphpconf
sudo chmod 644 $finalphpconf

# Enable api for client
sudo yunohost app setting z-push skipped_uris -v "/"

# Reload Nginx and regenerate SSOwat conf
sudo service nginx reload
sudo yunohost app ssowatconf