#!/bin/bash

. /usr/lib/eole/ihm.sh

USER="genconfig"
# Never rename ${USER_HOME} to ${HOME} or this script will fail ;-)
USER_HOME=$(getent passwd ${USER} | awk -F':' '{print $6}')
XFILE="${USER_HOME}/.Xauthority"
BROWSER="chromium-browser"
BROWSER_OPT="--start-maximized --disable-translate"
SERVER="127.0.0.1:5000"
APP_URL="http://$SERVER/genconfig/?application"
BASHRC="${USER_HOME}/.bashrc"
PREFS_DIR="${USER_HOME}/.local"
#export XDG_DOWNLOAD_DIR="$USER_HOME"

if [ -f $BASHRC ]
then
    sed -i 's/^HISTSIZE/#HISTSIZE/g' $BASHRC
    sed -i 's/^HISTFILESIZE/#HISTFILESIZE/g' $BASHRC
fi

mkdir -p $PREFS_DIR
chown -R $USER: $PREFS_DIR

if [ -f $XFILE ];then
    #FIXME: works only with SSH connexions
    if pgrep -f ${BROWSER} >/dev/null ;then
        EchoRouge "Quelqu'un utilise gen_config en ce moment, il est impossible de lancer gen_config plusieurs fois en même temps."
        exit 1
    else
        #echo "Deleting old $XFILE"
        echo "Suppression de l'ancien $XFILE"
        rm $XFILE
    fi
fi

tcpcheck 1 $SERVER >/dev/null 2>&1
if [ "$?" = "1" ]; then
    EchoRouge "gen_config n'est pas joignable, veuillez consulter les journaux d'eoleflask pour en savoir plus :"
    EchoRouge "/var/log/eoleflask/eolegenconfig.log"
    EchoRouge "et relancer le service"
    exit 1
fi

if [ -n "$SSH_CLIENT" -a -n "$DISPLAY" ];then
    # ${BROWSER} on backend over SSH
    touch $XFILE
    chown $USER: $XFILE
    sux - $USER ${BROWSER} ${BROWSER_OPT} --app="${APP_URL}" #> /dev/null
elif [ -n "$SSH_CLIENT" ]; then
    #echo 'Missing DISPLAY. Enable SSH option "ForwardX11".'
    echo "DISPLAY manquant. Activer l'option SSH: 'ForwardX11'"
    exit 1
else
    #FIXME
    touch $XFILE
    chown $USER: $XFILE
    # Si lancé depuis X
    if [ -n "$DISPLAY" ]
    then
        ${BROWSER} ${BROWSER_OPT} --app="${APP_URL}"

        exit
    fi

    # Mode console
    if [ -e /tmp/.X0-lock ]
    then
        [ -e /tmp/.X1-lock ] && EchoRouge "Trop de serveur X demarre" && exit 1
        OPTXINIT="-- :1"
    fi
    TMPF=$(mktemp -p /tmp)
    TMPF2=$(mktemp -p /tmp)
    /bin/echo -e "/usr/bin/numlockx;\n/usr/bin/matchbox-window-manager -use_titlebar no -use_desktop_mode decorated &\nsu - $USER -c '${BROWSER} ${BROWSER_OPT} ${APP_URL}' > $TMPF2 2>&1 " >$TMPF
    /bin/echo -e "/usr/bin/numlockx;\n/usr/bin/matchbox-window-manager -use_titlebar no -use_desktop_mode decorated &\nsu - $USER -c '${BROWSER} ${BROWSER_OPT} --app=\"${APP_URL}\"' > $TMPF2 2>&1 " >$TMPF
    chmod a+x $TMPF
    xinit $TMPF $OPTXINIT >/dev/null 2>&1
    cat $TMPF2
    rm $TMPF $TMPF2
fi

#Removing the .Xauthority file
rm -f $XFILE
