#!/bin/bash

# Récupération des variables
RunCmd=CreoleRun
container_path_web=$(CreoleGet container_path_web)
proxy_client_adresse=$(CreoleGet proxy_client_adresse "")
proxy_client_port=$(CreoleGet proxy_client_port "")

activer_sso=$(CreoleGet activer_sso)
eolesso_adresse=$(CreoleGet eolesso_adresse)
eolesso_port=$(CreoleGet eolesso_port)
dispatcher=$(CreoleGet dispatcher non)

if [ "$dispatcher" == "oui" ]
then
    # fixes #19732 et #20034
    CreoleRun "a2enmod headers" web

    cd $container_path_web"/var/www/html/edispatcher"

    echo -n "Mise à jour des dépendances (vendor)..."
    if [ ! -z $proxy_client_adresse ]; then
      export http_proxy="${proxy_client_adresse}:${proxy_client_port}"
      export https_proxy="${proxy_client_adresse}:${proxy_client_port}"
    fi
    export HTTP_PROXY_REQUEST_FULLURI=false
    export HTTPS_PROXY_REQUEST_FULLURI=false
    php composer.phar -n install >/tmp/composer.log 2>&1
    if [ $? -ne 0 ] ; then
        echo ""
        echo " -> Echec de l'instatlation des dépendances (/tmp/composer.log)"
        exit 1
    fi


    # Récupération de la liste des établissements
    LOG="/tmp/etabs.log"
    WGETOPT=" --no-check-certificate  -O /tmp/etabs.json -o $LOG"

    # pas de proxy si sso en local
    if [ "$activer_sso" == "local" ]; then
      WGETOPT="$WGETOPT --no-proxy"
    fi

    [ "$activer_sso" == "non" ] && echo "SSO soit être distant ou local" && exit 1

    wget https://$eolesso_adresse:$eolesso_port/etabs $WGETOPT
    if [ $? -ne 0 ]; then
      echo "Erreur lors de la récupération de la liste des établissements"
      echo "Url utilisée : https://$eolesso_adresse:$eolesso_port/etabs "
      echo "plus de détails dans $LOG"
      exit 1
    fi

     # Positionnement des droits sur etabs.ini si existant
    if [ -e utils/etabs.ini ]; then
      chown www-data.www-data utils/etabs.ini
      chmod g+r utils/etabs.ini
    fi

    [ ! -d $container_path_web/var/www/html/edispatcher/utils ] && mkdir -p $container_path_web/var/www/html/edispatcher/utils/
    cp /tmp/etabs.json $container_path_web/var/www/html/edispatcher/utils/etabs.json

    # Une copie de secours au cas ou
    if [ ! -e arena/mxServices.sqlite.old -a -e arena/mxServices.sqlite  ]; then
        cp arena/mxServices.sqlite arena/mxServices.sqlite.old
    fi

    # Lancement du script
    # uniquement si la base existe
    if [ -e arena/mxServices.sqlite ]; then
      php utils/convertFavorisToDatabase.php
    fi

    # ref #20698
    # Création de la structure applicative
    php utils/createStructure.php

    echo ""
    echo ""
fi

exit 0
