#!/bin/bash

function abandon 
{ 
    echo
    echo "$0: abandon du lancement de l'enquête ${ENQUETE}"
    rm -f ${HOME}/.sitecopy/${ENQUETE}
    rm -f ${HOME}/.sitecopy/${ENQUETE}.*
    rm -f ${HOME}/.sitecopy/${REPENQUETE}
    rm -f ${HOME}/.sitecopy/${REPENQUETE}.*
    mv $HOME/.sitecopyrc $HOME/.sitecopyrc-old
    COMAHAWK="BEGIN{etat = 1;} /site/ {if (\$2==\"${ENQUETE}\" || \$2==\"${REPENQUETE}\") etat = 0;else etat = 1;}{if (etat==1) print ;}" ;
    awk "${COMAHAWK}" $HOME/.sitecopyrc-old > $HOME/.sitecopyrc
    chmod 600 $HOME/.sitecopyrc
    exit 1
}

if [ $# -gt 1 ]; then
    echo "$0: Usage: $0 [enquête]"
    exit 1
fi

if [ $# -lt 1 ]; then
    echo
    echo -n "Nom de l'enquête: "
    read ENQUETE
else ENQUETE=$1
fi

PROGDIR=`dirname $0`
source ${PROGDIR}/definitions


if [ ! -f $BASEDIR/$ENQUETE.txt ] ; then
    echo "$0: enquête ${ENQUETE} non trouvée dans"
    echo "           ${BASEDIR}"
    exit 1
fi

if [ ! -d $EDIR ] ; then
    echo
    echo "$0: l'enquête ${ENQUETE} doit d'abord être installée par la commande"
    echo "                     ${PROGDIR}/fabriquer ${ENQUETE}"
    exit 1
fi

if [ ! `hostname -s` = "serveur5" ] ; then
    echo "$0: Le lancement ne peut se faire que depuis serveur5.labri.fr"
    exit 1
fi
	
touch $HOME/.sitecopyrc 
chmod 600 $HOME/.sitecopyrc

if [ ! -d $HOME/.sitecopy ] 
    then
    mkdir $HOME/.sitecopy
    chmod 700 $HOME/.sitecopy
fi

COMAHAWK="BEGIN{etat = 0;} /site/ {if (\$2==\"${ENQUETE}\") etat = 1; else if(etat==1) etat = 0 ;} /local/ {if (etat==1) {if (\$2==\"${WDIR}\") etat = 2 ; else etat = 3 ; }} END{if(etat==2) print \"ok\" ; else if(etat==3) print \"supp\" ; else print \"vide\" ;}"
ETAT=`awk "${COMAHAWK}" $HOME/.sitecopyrc`; 


if [ "${ETAT}" = "supp" ] ; then
    echo
    echo "$0: conflit dans ${HOME}/.sitecopyrc"
    echo "    Commencer par : ${PROGDIR}/nettoyer ${ENQUETE}"
    abandon
elif [ "${ETAT}" = "vide" ] ; then
    cat ${PROGDIR}/sitecopyrc | sed "s/\$ENQUETE/${ENQUETE}/g ; s/\$REPENQUETE/${REPENQUETE}/g ; s/\$ADMIN/${ADMIN}/g ; s+\$WDIR+${WDIR}+g ; s+\$WREPDIR+${WREPDIR}+g; s/\$REPDIR/$(basename ${WREPDIR})/g" >> $HOME/.sitecopyrc 
    echo
    echo "$0: Le premier lancement requiert de très nombreuses identifications"
    echo "    sur www.labri.fr : utiliser le mot de passe courrier"
    echo -n "$0: RETOUR pour continuer..."
    read TOUCHE
    echo
    echo "$0: Mise en place pour sitecopy :"
    echo
    sitecopy -qq -i ${ENQUETE}
    if [ $? -ne 0 ] ; then
	abandon
    fi
    sitecopy -qq -i ${REPENQUETE}
    if [ $? -ne 0 ] ; then
	abandon
    fi
    echo 
    echo "$0: Mise en place par cadaver :"
    echo "   une fois connecté, taper "
    echo "          mkcol ${ENQUETE}"
    echo "          mkcol $(basename ${WREPDIR})"
    echo "          exit"
    echo
    cadaver https://www.labri.fr/Perso/~${ADMIN}
    if [ $? -ne 0 ] ; then
	abandon
    fi
    echo
    echo "$0: Installation des fichiers (sitecopy) :"
else
    echo
    echo "$0: Remise en place pour sitecopy :"
    echo
    sitecopy -qq -i ${ENQUETE}
    echo
    echo "$0: Réinstallation des fichiers (sitecopy) :"
fi
   
echo 
sitecopy -qq -u ${ENQUETE}
if [ $? -ne 0 ] ; then
    abandon
fi

if [ "${ETAT}" = "vide" ] ; then
    touch ${FREPONSES}
    sitecopy -qq -u ${REPENQUETE}
    if [ $? -ne 0 ] ; then
	abandon
    fi
    echo 
    echo "$0: Mise en mode exécutable des scripts (cadaver) :"
    echo "      une fois connecté, taper "
    echo "          cd ${ENQUETE}"
    echo "          chexec + `basename ${FACTION}`"
    echo "          exit"
    echo 
    cadaver https://www.labri.fr/Perso/~${ADMIN}
    if [ $? -ne 0 ] ; then
	abandon 
    fi
    echo
    echo "$0: Ouf !"
    echo "$0: L'enquête ${ENQUETE} est lancée :"
    echo "   transmettre aux participants la référence"
    echo "   http://www.labri.fr/~${ADMIN}/${ENQUETE}"
    echo
    echo "Vous recevrez chaque réponse en copie (sauvegarde de sécurité) :"
    echo "   pensez à filtrer les courriers dont le sujet commence par"
    echo "            \"Reponse enquete ${ENQUETE}\""
else
    echo
    echo -n "$0: Voulez-vous supprimer les réponses déjà obtenues (o/n) ? "
    read SUPP
    if [ "${SUPP}" = "o" -o  "${SUPP}" = "O" ] ; then
	sitecopy -qq -i ${REPENQUETE}
    	touch  ${FREPONSES} 
	sitecopy -qq -u ${REPENQUETE}
	echo
    fi
    echo "$0: L'enquête ${ENQUETE} est relancée."
fi
echo

