#!/usr/bin/env bash
set -x
set -e
set -u

function createDirectories() {
    mkdir -p media/collectiveaccess
    mkdir -p import
    mkdir -p data
    mkdir -p log
    mkdir -p backups
}

function linkDirectories() {
    pushd $1
    rm -rf vendor
    rm -rf media
    rm -rf import
    rm -rf app/log
    ln -sf $APP_ROOT/vendor .
    ln -sf $APP_ROOT/media .
    ln -sf $APP_ROOT/import .
    ln -sf $APP_ROOT/log app/
    popd
}

function deployProvidence() {
    ln -sf $APP_ROOT/setup.php $COLLECTIVEACCESS_HOME/
    [ -f $APP_ROOT/$PROFILE.xml ] && ln -sf $APP_ROOT/$PROFILE.xml $COLLECTIVEACCESS_HOME/install/profiles/xml/$PROFILE.xml || echo "No profile exists"
    [ -d $APP_ROOT/plugins ] && ln -sf $APP_ROOT/plugins/* $COLLECTIVEACCESS_HOME/app/plugins/ || echo "No plugins exist"
    [ -d $APP_ROOT/themes ] && ln -sf $APP_ROOT/themes/* $COLLECTIVEACCESS_HOME/themes/ || echo "No themes exist"
    [ -d $APP_ROOT/authAdapters ] && ln -sf $APP_ROOT/authAdapters/* $COLLECTIVEACCESS_HOME/app/lib/Auth/Adapters/ || echo "No authAdapters exist"
}
function deployPawtucket() {
    ln -sf $PAWTUCKET_SOURCE_PATH/setup.php $PAWTUCKET_HOME/setup.php
    if [ -d $PAWTUCKET_SOURCE_PATH ]
    then
        ln -sf $PAWTUCKET_SOURCE_PATH $PAWTUCKET_HOME/themes/$PAWTUCKET_THEME
    else
        echo "No pawtucket theme exists"
    fi
    # override the default templates to prevent duplicate menu items
#    ln -sf $PAWTUCKET_SOURCE_PATH/app/printTemplates/results/* "${PAWTUCKET_HOME}/app/printTemplates/results/"
    # copy the en_US to en_AU
    if [ $DEFAULT_LOCALE = "en_AU" ]
    then
        ln -sf "${PAWTUCKET_HOME}/app/locale/en_GB" "${PAWTUCKET_HOME}/app/locale/en_AU"
    fi
}

function isInstalled() {
    composer show --name-only|grep -q $1
}

createDirectories

if isInstalled 'collectiveaccess/providence'; then
    echo "Deploying Providence"
    ln -sf vendor/collectiveaccess/providence $COLLECTIVEACCESS_HOME
    linkDirectories $COLLECTIVEACCESS_HOME
    deployProvidence
fi
if isInstalled 'collectiveaccess/pawtucket2'; then
    echo "Deploying Pawtucket"
    PAWTUCKET_SOURCE_PATH=$APP_ROOT/pawtucket-theme
    pushd $PAWTUCKET_SOURCE_PATH
    ln -sf $PAWTUCKET_SOURCE_PATH/vendor/collectiveaccess/pawtucket2 $PAWTUCKET_HOME
    linkDirectories $PAWTUCKET_HOME
    deployPawtucket
    popd
fi

