#!/bin/bash

VER_ASTERISK="1.4.28";
VER_LIBPRI="1.4.10.2";
VER_ADDONS="1.4.10";
VER_DAHDI="2.2.0.2+2.2.0";
VER_FREEPBX="2.5.1";

VER="0.3.4";

echo "##################################################################"
echo "#         Installation automatisée d'Asterisk + FreePBX          #"
echo "#                                                                #"
echo "#               Yoann QUERET - yoann@queret.net                  #"
echo "#               http://www.queret.net/asterisk/                  #"
echo "#                                                                #"
echo "#  options : -a  : Installation automatique (quasiement)         #"
echo "#            -v  : Pas de vérification de nouvelle version       #"
echo "#                                                                #"
echo "### ---------------------------------------------------------- ###"
echo "-> Asterisk ${VER_ASTERISK}"
echo "-> LibPri ${VER_LIBPRI}"
echo "-> Dahdi Linux + Dahdi Tools current verison"
echo "-> Addons ${VER_ADDONS}"
echo "-> FreePBX ${VER_FREEPBX} (+ apache2 php5 mysql5)"
echo "### ---------------------------------------------------------- ###"
echo "#               Appuyez sur <Entrer> pour continuer              #"
echo "##################################################################"
read

echo "##################################################################"
echo "#   == PRE-REQUIS SYSTEME ==                                     #"
echo "#     Ce script d'installation est prévu pour fonctionner sur    #"
echo "#     un Linux à base de Debian avec un kernel 2.6               #"
echo "#                                                                #"
echo "#   == PRE-REQUIS RESEAU ==                                      #"
echo "#     Votre serveur doit être connecté à internet, afin de       #"
echo "#     télécharger les paquets nécessaires.                       #"
echo "#                                                                #"
echo "#     Le fichier /etc/apt/sources.list doit être à jour          #"
echo "#                                                                #"
echo "### ---------------------------------------------------------- ###"
echo "#               Appuyez sur <Entrer> pour continuer              #"
echo "##################################################################"
read

# CHECK PARAM.
FULL_AUTO="0";
VER_NO_CHECK="0";
while getopts av o
do case "$o" in
    a) FULL_AUTO="1";;
    v) VER_NO_CHECK="1";;
esac

done

echo "+----------------------------------------------------------------+"
echo "| Vérification que le script est bien exécuté depuis             |"
echo "| l'utilisateur root (uid 0)                                     |"
echo "+----------------------------------------------------------------+"
if [ $FULL_AUTO != "1" ]; then
	echo " Appuyez sur <Entrer> pour continuer"
	read
fi

if [ $UID != "0" ]; then
	echo " ERREUR : Ce script doit être lancé depuis l'utilisateur ROOT (UID 0)"
	echo " (Utilisez su ou sudo)"
	echo ""
	echo " L'installation ne peut continuer"
	exit
fi
echo "UID 0 trouvé, on peut continuer ..."

if [ $VER_NO_CHECK != "1" ]; then
	echo "+----------------------------------------------------------------+"
	echo "| Vérification de l'existence d'une version plus récente         |"
	echo "| de ce script                                                   |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	wget -q http://www.queret.net/download/Asterisk_FreePBX/scripts/current_version -O /tmp/current_version
	e=$?
	if test $e = 1; then
		echo "ERREUR : Lors du téléchargement du numero de version courante."
		exit 1;
		fi
	if [ $(stat -c%s "/tmp/current_version") == "0" ]; then
		echo " ERREUR : Impossible de récupérer le numéro de version courante de ce script."
		echo "          Vérifier les paramètres réseaux."
		echo ""
		echo " L'installation ne peut continuer"
		exit
	fi
	VER_SRV=`cat /tmp/current_version`
	if [ ${VER_SRV} != ${VER} ]; then
		echo " Il existe une version plus récente de ce script."
		echo "     - Vous utilisez la version : ${VER}"
		echo "     - La dernière version est : ${VER_SRV}"
		echo " Plus d'informations sur : http://www.queret.net/asterisk/"
		echo ""
		echo " L'installation ne peut continuer"
		exit
	fi
	echo "Vous utilisez la dernière version du script"
fi

echo "+----------------------------------------------------------------+"
echo "| Test de votre système (Version de Linux et version de kernel)  |"
echo "+----------------------------------------------------------------+"
if [ $FULL_AUTO != "1" ]; then
	echo " Appuyez sur <Entrer> pour continuer"
	read
fi
KERNEL_VERSION=`uname -r`
KERNEL_VERSION=`echo ${KERNEL_VERSION} | sed -e "s/\-\(.*\)//"`
KERNEL_VERSION=`echo ${KERNEL_VERSION} | sed -e "s/[a-z]\(.*\)//"`
KERNEL_UP_VERSION=`echo ${KERNEL_VERSION} | sed -e "s/\(2\.[4,6]\)\(.*\)/\1/"`

if [ ${KERNEL_UP_VERSION} != '2.6' ]; then
	echo " ERREUR : Ce script est prévu pour être utilisé avec un kernel 2.6."
	echo "          Hors, vous utilisez un kernel : ${KERNEL_UP_VERSION}"
	echo " L'installation ne peut continuer"
	exit
fi

if [ ! -f /etc/debian_version ]; then
	echo " ERREUR : Ce script est prévu pour être utilisé sur une distribution basée sur Debian."
	echo " L'installation ne peut continuer"
	exit
fi

echo " Vous utilisez une distribution basée sur Debian, avec un kernel ${KERNEL_UP_VERSION}."
echo " Les prérequis système sont corrects, nous pouvons lancer l'installation"
if [ $FULL_AUTO != "1" ]; then
	echo " Appuyer sur <Entrer> pour continuer"
	read
fi

clear
echo "##################################################################"
echo "# PART 1 - Installation d'Asterisk                               #"
echo "### ---------------------------------------------------------- ###"
if [ $FULL_AUTO != "1" ]; then
echo "#               Appuyez sur <Entrer> pour continuer              #"
echo "##################################################################"
read
fi

echo "+----------------------------------------------------------------+"
echo "| Vérifie la présence d'une version précédente d'Asterisk        |"
echo "+----------------------------------------------------------------+"
if [ $FULL_AUTO != "1" ]; then
	echo " Appuyez sur <Entrer> pour continuer"
	read
fi
if [ -f /usr/sbin/asterisk ]; then
	echo "Asterisk semble déjà être installé."
	key=""
	while [ "$key" != "y" ] && [ "$key" != "N" ];do
		echo ""
		read -n 1 -p "Voulez-vous ré-installer Asterisk ? [y/N]" key
	done
	echo ""
	if [ $key == "N" ]; then
		ASTERISK_INSTALLATION_DISABLE="1";
	fi
fi


if [ "${ASTERISK_INSTALLATION_DISABLE}" != "1" ]; then
	echo "+----------------------------------------------------------------+"
	echo "| Téléchargement des sources dans /tmp/asterisk/                 |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	if [ ! -d /tmp/asterisk/ ]; then
		mkdir /tmp/asterisk/
	fi

	# ASTERISK
	wget http://downloads.digium.com/pub/telephony/asterisk/releases/asterisk-${VER_ASTERISK}.tar.gz -O /tmp/asterisk/asterisk-${VER_ASTERISK}.tar.gz
	e=$?
        if test $e = 1; then
                echo "ERREUR : Lors du téléchargement de : http://downloads.digium.com/pub/telephony/asterisk/releases/asterisk-${VER_ASTERISK}.tar.gz"
                exit 1;
                fi
	wget http://downloads.digium.com/pub/telephony/asterisk/releases/asterisk-${VER_ASTERISK}.tar.gz.sha1 -O /tmp/asterisk/asterisk-${VER_ASTERISK}.tar.gz.sha1
	e=$?
        if test $e = 1; then
                echo "ERREUR : Lors du téléchargement de : http://downloads.digium.com/pub/telephony/asterisk/releases/asterisk-${VER_ASTERISK}.tar.gz.sha1"
                exit 1;
                fi

	# DAHDI
	wget http://downloads.digium.com/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-${VER_DAHDI}.tar.gz -O /tmp/asterisk/dahdi-linux-complete-${VER_DAHDI}.tar.gz
	e=$?
        if test $e = 1; then
                echo "ERREUR : Lors du téléchargement de : http://downloads.digium.com/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-${VER_DAHDI}.tar.gz"
                exit 1;
                fi
	wget http://downloads.digium.com/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-${VER_DAHDI}.tar.gz.sha1 -O /tmp/asterisk/dahdi-linux-complete-${VER_DAHDI}.tar.gz.sha1
	e=$?
        if test $e = 1; then
                echo "ERREUR : Lors du téléchargement de : http://downloads.digium.com/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-${VER_DAHDI}.tar.gz.sha1"
                exit 1;
                fi

	# LIBPRI
	wget http://downloads.digium.com/pub/telephony/libpri/releases/libpri-${VER_LIBPRI}.tar.gz -O /tmp/asterisk/libpri-${VER_LIBPRI}.tar.gz
	e=$?
        if test $e = 1; then
                echo "ERREUR : Lors du téléchargement de : http://downloads.digium.com/pub/telephony/libpri/releases/libpri-${VER_LIBPRI}.tar.gz"
                exit 1;
                fi
	wget http://downloads.digium.com/pub/telephony/libpri/releases/libpri-${VER_LIBPRI}.tar.gz.sha1 -O /tmp/asterisk/libpri-${VER_LIBPRI}.tar.gz.sha1
	e=$?
        if test $e = 1; then
                echo "ERREUR : Lors du téléchargement de : http://downloads.digium.com/pub/telephony/libpri/releases/libpri-${VER_LIBPRI}.tar.gz.sha1"
                exit 1;
                fi

	# ASTERISK ADDONS
	wget http://downloads.digium.com/pub/telephony/asterisk/releases/asterisk-addons-${VER_ADDONS}.tar.gz -O /tmp/asterisk/asterisk-addons-${VER_ADDONS}.tar.gz
	e=$?
        if test $e = 1; then
                echo "ERREUR : Lors du téléchargement de : http://downloads.digium.com/pub/telephony/asterisk/releases/asterisk-addons-${VER_ADDONS}.tar.gz"
                exit 1;
                fi
	wget http://downloads.digium.com/pub/telephony/asterisk/releases/asterisk-addons-${VER_ADDONS}.tar.gz.sha1 -O /tmp/asterisk/asterisk-addons-${VER_ADDONS}.tar.gz.sha1
	e=$?
        if test $e = 1; then
                echo "ERREUR : Lors du téléchargement de : http://downloads.digium.com/pub/telephony/asterisk/releases/asterisk-addons-${VER_ADDONS}.tar.gz.sha1"
                exit 1;
                fi
	
	echo "+----------------------------------------------------------------+"
	echo "| Construction de l'environnement de compilation                 |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	aptitude update
	aptitude -y install kernel-package g++ libncurses5-dev linux-kernel-headers sqlite libnewt-dev libusb-dev zlib1g-dev libmysqlclient15-dev libsqlite0-dev libsnmp-dev

	echo "+----------------------------------------------------------------+"
	echo "| Téléchargement des sources du kernel                           |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	if [ ! -d /tmp/kernel/ ]; then
		mkdir /tmp/kernel/
	fi
	wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-${KERNEL_VERSION}.tar.bz2 -O /tmp/kernel/linux-${KERNEL_VERSION}.tar.bz2
	e=$?
        if test $e = 1; then
                echo "ERREUR : Lors du téléchargement de : ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-${KERNEL_VERSION}.tar.bz2"
                exit 1;
                fi

	echo "+----------------------------------------------------------------+"
	echo "| Configuration des sources du kernel                            |"
	echo "+----------------------------------------------------------------+"
	#echo "****************************************************************"
	#echo "** == ATTENTION ==                                            **"
	#echo "** Si vous ne comprenez pas ce que vous faite,                **"
	#echo "** Appuyez juste sur <Entrer> lors des questions suivantes.   **"
	#echo "**                                                            **"
	#echo "** Les éléments NEW correspondent à des nouvelles options     **"
	#echo "** pour votre kernel                                          **"
	#echo "****************************************************************"
	echo "--"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	cd /usr/src/
	tar xvjf /tmp/kernel/linux-${KERNEL_VERSION}.tar.bz2
	if [ -h /usr/src/linux ]; then
		unlink /usr/src/linux
	fi
	ln -s /usr/src/linux-${KERNEL_VERSION} /usr/src/linux
	cd /usr/src/linux/
	cp /boot/config-`uname -r` ./.config

	echo "== ATTENTION =="
	echo "Si vous ne comprenez pas la question suivante, veuillez choisir NON,"
	echo "les options standard et optimisées seront alors utilisées."
	echo "--"
	key=""
	while [ "$key" != "y" ] && [ "$key" != "N" ];do
		echo ""
		read -n 1 -p "Voulez-vous sélectionner les nouveaux modules du kernel à compiler. Notez bien que ce kernel ne sera pas installer, nous avons ici juste besoin des headers pour compiler asterisk ? [y/N]" key
	done
	echo ""
	if [ $key == "y" ]; then
		make oldconfig
		else
		yes "" | make oldconfig
	fi
	
	make prepare
	make prepare scripts
	
	echo "+----------------------------------------------------------------+"
	echo "| Décompression des sources dans /usr/src/                        |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	cd /usr/src/
	tar zxvf /tmp/asterisk/asterisk-${VER_ASTERISK}.tar.gz
	tar zxvf /tmp/asterisk/asterisk-addons-${VER_ADDONS}.tar.gz
	tar zxvf /tmp/asterisk/libpri-${VER_LIBPRI}.tar.gz 
	tar zxvf /tmp/asterisk/dahdi-linux-complete-${VER_DAHDI}.tar.gz
	
	echo "+----------------------------------------------------------------+"
	echo "| Compilation de Dahdi Linux                                     |"
	echo "+----------------------------------------------------------------+"
	# http://www.debian-resources.org/node/129
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	cd /usr/src/dahdi-linux-complete-${VER_DAHDI}
	make all
	make install
	make config
	
	echo "+----------------------------------------------------------------+"
	echo "| Compilation de libpri                                          |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	cd /usr/src/libpri-${VER_LIBPRI}
	make install
	
	echo "+----------------------------------------------------------------+"
	echo "| Compilation de Asterisk                                        |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyer sur <Entrer> pour continuer"
		read
	fi
	cd /usr/src/asterisk-${VER_ASTERISK}
	
	echo "> Application d'un patch sur le fichier apps/app_voicemail.c"
	echo "> VOIR http://forums.digium.com/viewtopic.php?t=18332"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	
	sed -i "s/\(chmod(template*\)\(.*\)/\/* \1\2 *\//" /usr/src/asterisk-${VER_ASTERISK}/apps/app_voicemail.c
	sed -i "s/\(chmod(newtmp*\)\(.*\)/\/* \1\2 *\//" /usr/src/asterisk-${VER_ASTERISK}/apps/app_voicemail.c
	sed -i "s/\(chmod(tmptxtfile*\)\(.*\)/\/* \1\2 *\//" /usr/src/asterisk-${VER_ASTERISK}/apps/app_voicemail.c

	echo "> Application d'un patch sur le fichier apps/app_voicemail.c"
	echo "> VOIR http://www.asterisk-france.net/community/showthread.php?p=30494"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi

	sed -i "s/\(res = ast_play_and_wait(chan, \"vm-no\");\)/res = say_and_wait(chan, 0 , chan->language);/" /usr/src/asterisk-${VER_ASTERISK}/apps/app_voicemail.c
	
	./configure
	
	MAKEOPTS="/usr/src/asterisk-${VER_ASTERISK}/menuselect.makeopts"
	
# 	echo 'MENUSELECT_APPS=app_ivrdemo app_osplookup app_rpt app_skel' >> ${MAKEOPTS}
# 	echo 'MENUSELECT_CDR=cdr_odbc cdr_pgsql cdr_radius cdr_tds' >> ${MAKEOPTS}
# 	echo 'MENUSELECT_CHANNELS=chan_alsa chan_gtalk chan_h323 chan_misdn chan_nbs chan_vpb' >> ${MAKEOPTS}
# 	echo 'MENUSELECT_CODECS=codec_ilbc codec_speex' >> ${MAKEOPTS}
# 	echo 'MENUSELECT_FORMATS=format_ogg_vorbis' >> ${MAKEOPTS}
# 	echo 'MENUSELECT_FUNCS=func_curl func_odbc' >> ${MAKEOPTS}
# 	echo 'MENUSELECT_PBX=pbx_gtkconsole' >> ${MAKEOPTS}
# 	echo 'MENUSELECT_RES=res_config_odbc res_config_pgsql res_crypto res_jabber res_odbc res_snmp' >> ${MAKEOPTS}
# 	echo 'MENUSELECT_OPTS_app_voicemail=' >> ${MAKEOPTS}
# 	echo 'MENUSELECT_CFLAGS=LOADABLE_MODULES' >> ${MAKEOPTS}
# 	echo 'MENUSELECT_EMBED=apps cdr channels codecs formats funcs pbx res' >> ${MAKEOPTS}
# 	echo 'MENUSELECT_CORE_SOUNDS=CORE-SOUNDS-EN-WAV CORE-SOUNDS-EN-ULAW CORE-SOUNDS-EN-ALAW CORE-SOUNDS-EN-GSM CORE-SOUNDS-EN-G729 CORE-SOUNDS-EN-G722' >> ${MAKEOPTS}
# 	echo 'MENUSELECT_MOH=MOH-FREEPLAY-WAV MOH-FREEPLAY-ULAW MOH-FREEPLAY-ALAW MOH-FREEPLAY-GSM MOH-FREEPLAY-G729 MOH-FREEPLAY-G722' >> ${MAKEOPTS}
# 	echo 'MENUSELECT_EXTRA_SOUNDS=EXTRA-SOUNDS-EN-WAV EXTRA-SOUNDS-EN-ULAW EXTRA-SOUNDS-EN-ALAW EXTRA-SOUNDS-EN-GSM EXTRA-SOUNDS-EN-G729 EXTRA-SOUNDS-EN-G722' >> ${MAKEOPTS}
# 	echo 'MENUSELECT_BUILD_DEPS=res_adsi chan_local res_indications app_meetme res_monitor res_smdi res_features' >> ${MAKEOPTS}

	echo 'MENUSELECT_APPS=app_ivrdemo app_osplookup app_rpt app_skel' >> ${MAKEOPTS}
	echo 'MENUSELECT_CDR=cdr_odbc cdr_pgsql cdr_radius cdr_tds' >> ${MAKEOPTS}
	echo 'MENUSELECT_CHANNELS=chan_alsa chan_features chan_gtalk chan_h323 chan_misdn chan_nbs chan_vpb' >> ${MAKEOPTS}
	echo 'MENUSELECT_CODECS=codec_ilbc codec_speex' >> ${MAKEOPTS}
	echo 'MENUSELECT_FORMATS=format_ogg_vorbis' >> ${MAKEOPTS}
	echo 'MENUSELECT_FUNCS=func_curl func_odbc' >> ${MAKEOPTS}
	echo 'MENUSELECT_PBX=pbx_gtkconsole' >> ${MAKEOPTS}
	echo 'MENUSELECT_RES=res_config_odbc res_config_pgsql res_jabber res_odbc' >> ${MAKEOPTS}
	echo 'MENUSELECT_OPTS_app_voicemail=' >> ${MAKEOPTS}
	echo 'MENUSELECT_CFLAGS=LOADABLE_MODULES' >> ${MAKEOPTS}
	echo 'MENUSELECT_EMBED=apps cdr channels codecs formats funcs pbx res' >> ${MAKEOPTS}
	echo 'MENUSELECT_CORE_SOUNDS=CORE-SOUNDS-EN-WAV CORE-SOUNDS-EN-ULAW CORE-SOUNDS-EN-ALAW CORE-SOUNDS-EN-GSM CORE-SOUNDS-EN-G729 CORE-SOUNDS-EN-G722' >> ${MAKEOPTS}
	echo 'MENUSELECT_MOH=MOH-OPSOUND-WAV MOH-OPSOUND-ULAW MOH-OPSOUND-ALAW MOH-OPSOUND-GSM MOH-OPSOUND-G729 MOH-OPSOUND-G722' >> ${MAKEOPTS} 
	echo 'MENUSELECT_EXTRA_SOUNDS=EXTRA-SOUNDS-EN-WAV EXTRA-SOUNDS-EN-ULAW EXTRA-SOUNDS-EN-ALAW EXTRA-SOUNDS-EN-GSM EXTRA-SOUNDS-EN-G729 EXTRA-SOUNDS-EN-G722' >> ${MAKEOPTS}
	echo 'MENUSELECT_BUILD_DEPS=res_adsi chan_local res_indications app_meetme res_monitor res_smdi res_features' >> ${MAKEOPTS}
	echo 'MENUSELECT_DEPSFAILED=MENUSELECT_APPS=app_osplookup' >> ${MAKEOPTS}
	echo 'MENUSELECT_DEPSFAILED=MENUSELECT_CDR=cdr_odbc' >> ${MAKEOPTS}
	echo 'MENUSELECT_DEPSFAILED=MENUSELECT_CDR=cdr_pgsql' >> ${MAKEOPTS}
	echo 'MENUSELECT_DEPSFAILED=MENUSELECT_CDR=cdr_radius' >> ${MAKEOPTS}
	echo 'MENUSELECT_DEPSFAILED=MENUSELECT_CDR=cdr_tds' >> ${MAKEOPTS}
	echo 'MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_alsa' >> ${MAKEOPTS}
	echo 'MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_gtalk' >> ${MAKEOPTS}
	echo 'MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_h323' >> ${MAKEOPTS}
	echo 'MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_misdn' >> ${MAKEOPTS}
	echo 'MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_nbs' >> ${MAKEOPTS}
	echo 'MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_vpb' >> ${MAKEOPTS}
	echo 'MENUSELECT_DEPSFAILED=MENUSELECT_CODECS=codec_speex' >> ${MAKEOPTS}
	echo 'MENUSELECT_DEPSFAILED=MENUSELECT_FORMATS=format_ogg_vorbis' >> ${MAKEOPTS}
	echo 'MENUSELECT_DEPSFAILED=MENUSELECT_FUNCS=func_curl' >> ${MAKEOPTS}
	echo 'MENUSELECT_DEPSFAILED=MENUSELECT_FUNCS=func_odbc' >> ${MAKEOPTS}
	echo 'MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_config_odbc' >> ${MAKEOPTS}
	echo 'MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_config_pgsql' >> ${MAKEOPTS}
	echo 'MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_jabber' >> ${MAKEOPTS}
	echo 'MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_odbc' >> ${MAKEOPTS}

	
	if [ $FULL_AUTO != "1" ]; then
		echo "== ATTENTION =="
		echo "Si vous ne comprenez pas la question suivante, veuillez choisir NON,"
		echo "les options standard et optimisées seront alors utilisées."
		echo "--"
		key=""
		while [ "$key" != "y" ] && [ "$key" != "N" ];do
			echo ""
			read -n 1 -p "Voulez-vous sélectionner les modules Asterisk à installer ? [y/N]" key
		done
		echo ""
		if [ $key == "y" ]; then
			make menuconfig
	
		fi
	fi
	make install
	make samples
	
	echo "+----------------------------------------------------------------+"
	echo "| Compilation des Addons Asterisk                                |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	cd /usr/src/asterisk-addons-${VER_ADDONS}
	./configure
	
	if [ $FULL_AUTO != "1" ]; then
		echo "== ATTENTION =="
		echo "Si vous ne comprenez pas la question suivante, veuillez choisir NON,"
		echo "les options standard et optimisées seront alors utilisées."
		echo "--"
		key=""
		while [ "$key" != "y" ] && [ "$key" != "N" ];do
			echo ""
			read -n 1 -p "Voulez-vous sélectionner les modules des addons d'Asterisk à installer ? [y/N]" key
		done
		echo ""
		if [ $key == "y" ]; then
			make menuconfig
		fi
	fi
	make install
	
	
	echo "+----------------------------------------------------------------+"
	echo "| Liens Symboliques (Modules)                                    |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	if [ -h /lib/modules/`uname -r`/asterisk ]; then
		unlink /lib/modules/`uname -r`/asterisk
	fi
	ln -s /lib/modules/${KERNEL_VERSION}/ /lib/modules/`uname -r`/asterisk
	depmod
	
	echo "+----------------------------------------------------------------+"
	echo "| Lancement de dahdi_dummy au démarrage                          |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	echo dahdi_dummy >> /etc/modules

	
	echo "+----------------------------------------------------------------+"
	echo "| Prompt FR (Voix Française)                                     |"
	echo "+----------------------------------------------------------------+"
	key="y"
	if [ $FULL_AUTO != "1" ]; then
		key=""
		while [ "$key" != "y" ] && [ "$key" != "N" ];do
			echo ""
			read -n 1 -p "Voulez-vous installer les voix françaises ? [y/N]" key
		done
		echo ""
	fi
	if [ $key == "y" ]; then
		wget http://www.queret.net/download/Asterisk_FreePBX/prompt/fr/prompt-fr-france-aurelie_bassard_2.1_repack.tgz -O /tmp/asterisk/prompt-fr-france-aurelie_bassard_2.1_repack.tgz
		e=$?
	        if test $e = 1; then
        	        echo "ERREUR : Lors du téléchargement de : http://www.queret.net/download/Asterisk_FreePBX/prompt/fr/prompt-fr-france-aurelie_bassard_2.1_repack.tgz"
                	exit 1;
	                fi
		cd /var/lib/asterisk/
		tar zxvf /tmp/asterisk/prompt-fr-france-aurelie_bassard_2.1_repack.tgz

		cp /var/lib/asterisk/sounds/digits/fr /var/lib/asterisk/sounds/fr/digits -R
		cp /var/lib/asterisk/sounds/dictate/fr /var/lib/asterisk/sounds/fr/dictate -R
		cp /var/lib/asterisk/sounds/ha/fr /var/lib/asterisk/sounds/fr/ha -R
		cp /var/lib/asterisk/sounds/letters/fr /var/lib/asterisk/sounds/fr/letters -R
		cp /var/lib/asterisk/sounds/phonetic/fr /var/lib/asterisk/sounds/fr/phonetic -R
		cp /var/lib/asterisk/sounds/silence/fr /var/lib/asterisk/sounds/fr/silence -R
		cp /var/lib/asterisk/sounds/wx/fr /var/lib/asterisk/sounds/fr/wx -R
	fi
	
	
	echo "##################################################################"
	echo "# PART1 : Installation d'Asterisk : TERMINEE                     #"
	echo "### ---------------------------------------------------------- ###"
	if [ $FULL_AUTO != "1" ]; then
	echo "#               Appuyez sur <Entrer> pour continuer              #"
	echo "##################################################################"
	read
	fi

	ASTERISK_INSTALLATION="1";
fi


###################################################################################################

###################################################################################################

###################################################################################################


clear
echo "##################################################################"
echo "# PART 2 - Installation de FreePBX                               #"
echo "### ---------------------------------------------------------- ###"
if [ $FULL_AUTO != "1" ]; then
echo "#               Appuyez sur <Entrer> pour continuer              #"
echo "##################################################################"
read
fi

if [ -f /usr/local/sbin/amportal ]; then
	echo "FreePBX semble déjà être installé."
	echo "La ré-installation de FreePBX effacera toutes les données."
	key=""
	while [ "$key" != "y" ] && [ "$key" != "N" ];do
		echo ""
		read -n 1 -p "Voulez-vous vraiment ré-installer FreePBX ? [y/N]" key
	done
	echo ""
	if [ $key == "N" ]; then
		FREEPBX_INSTALLATION_DISABLE="1";
	fi
fi

if [ "${FREEPBX_INSTALLATION_DISABLE}" != "1" ]; then
	echo "+----------------------------------------------------------------+"
	echo "| Construction de l'environnement                                |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	aptitude update
	aptitude install -y apache2 php5 php5-cli mysql-server-5.0 php-pear php5-mysql php-db libapache2-mod-php5 php5-gd php5-curl
	
	echo "+----------------------------------------------------------------+"
	echo "| Téléchargement des sources dans /tmp/freepbx/                  |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	if [ ! -d /tmp/freepbx/ ]; then
		mkdir /tmp/freepbx/
	fi
	wget http://www.queret.net/download/Asterisk_FreePBX/freepbx/freepbx-${VER_FREEPBX}.tar.gz -O /tmp/freepbx/freepbx-${VER_FREEPBX}.tar.gz
	e=$?
        if test $e = 1; then
                echo "ERREUR : Lors du téléchargement de : freepbx-${VER_FREEPBX}.tar.gz"
                exit 1;
                fi
	
	echo "+----------------------------------------------------------------+"
	echo "| Décompression des sources de freepbx dans /usr/src/            |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	cd /usr/src
	tar zxvf /tmp/freepbx/freepbx-${VER_FREEPBX}.tar.gz
	
	echo "+----------------------------------------------------------------+"
	echo "| Changement de la taille maximum des upload PHP                 |"
	echo "|            & du maximum de mémoire par scripts PHP             |"
	echo "|            & du magic quotes gpc PHP                           |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	if [ ! -f  /etc/php5/apache2/php.ini-orig ]; then
		cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini-orig
	fi
	sed -i "s/\(upload_max_filesize *= *\)\(.*\)/\120M/" /etc/php5/apache2/php.ini
	sed -i "s/\(memory_limit *= *\)\(.*\)/\1100M/" /etc/php5/apache2/php.ini
	sed -i "s/\(magic_quotes_gpc *= *\)\(.*\)/\1Off/" /etc/php5/apache2/php.ini
	
	echo "+----------------------------------------------------------------+"
	echo "| Musique d'attente (Lien symbolique)                            |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	if [ -h /var/lib/asterisk/mohmp3 ]; then
		unlink /var/lib/asterisk/mohmp3
	fi
	ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3
	
	echo "+----------------------------------------------------------------+"
	echo "| Utilisateur & Permissions du user Asterisk                     |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyer sur <Entrer> pour continuer"
		read
	fi
	adduser asterisk --quiet --no-create-home --disabled-password --gecos "asterisk PBX" --home /var/lib/asterisk
	adduser www-data asterisk
	
	echo "+----------------------------------------------------------------+"
	echo "| Changement de l'utilisateur www-data en Asterisk pour Apache   |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	if [ ! -f  /etc/apache2/apache2.conf-orig ]; then
		cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf-orig
	fi
	
	sed -i "s/\(^User *\)\(.*\)/\1asterisk/" /etc/apache2/apache2.conf
	sed -i "s/\(^Group *\)\(.*\)/\1asterisk/" /etc/apache2/apache2.conf
	
	echo "+----------------------------------------------------------------+"
	echo "| Vérifie si un mot de passe ROOT MySQL a été spécifié ?         |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi

	SQL_RESULT=`echo "show databases;" | mysql -u root  2>&1`
	SQL_RESULT=`echo "${SQL_RESULT}" | sed "s/\(.*\)\(Access denied\)\(.*\)/\2/"`
	SQL_ROOT_PASSWORD=""
	if [ "${SQL_RESULT}" = "Access denied" ]; then
		echo "Il semble que vous avez spécifié un mot de passe root pour mysql"
	fi
	
	key=""
	while [ "${SQL_RESULT}" = "Access denied" ];do
		read -p "Veuillez indiquer le mot de passe root MySQL ? " SQL_ROOT_PASSWORD
		if [ "${SQL_ROOT_PASSWORD}" != "" ]; then
			SQL_ROOT_PASSWORD="-p${SQL_ROOT_PASSWORD}"
		fi
		SQL_RESULT=`echo "show databases;" | mysql -u root  ${SQL_ROOT_PASSWORD} 2>&1`
		SQL_RESULT=`echo "${SQL_RESULT}" | sed "s/\(.*\)\(Access denied\)\(.*\)/\2/"`
		if [ "${SQL_RESULT}" = "Access denied" ]; then
			echo "ERREUR : Le mot de passe saisi ne semble pas être correct."
		fi
	done

	echo "+----------------------------------------------------------------+"
	echo "| MySQL                                                          |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	echo "CREATE DATABASE IF NOT EXISTS asteriskcdrdb;" | mysql -u root ${SQL_ROOT_PASSWORD}
	echo "CREATE DATABASE IF NOT EXISTS asterisk;" | mysql -u root ${SQL_ROOT_PASSWORD}
	echo "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';" | mysql -u root ${SQL_ROOT_PASSWORD}
	echo "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';" | mysql -u root ${SQL_ROOT_PASSWORD}
	
	sed -i "s/\(CREATE TABLE cdr\)/DROP TABLE IF EXISTS \`cdr\`;\n\1/" /usr/src/freepbx-${VER_FREEPBX}/SQL/cdr_mysql_table.sql
	mysql -u asteriskuser -pamp109 asteriskcdrdb < /usr/src/freepbx-${VER_FREEPBX}/SQL/cdr_mysql_table.sql
	mysql -u asteriskuser -pamp109 asterisk < /usr/src/freepbx-${VER_FREEPBX}/SQL/newinstall.sql
	
	echo "+----------------------------------------------------------------+"
	echo "| Configuration de Asterisk pour utilisation avec FreePBX        |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	if [ ! -f  /etc/asterisk/asterisk.conf.orig ]; then
		cp /etc/asterisk/asterisk.conf /etc/asterisk/asterisk.conf.orig
	fi
	sed -i "s/\(astrundir *=> *\)\(.*\)/\1\/var\/run\/asterisk/" /etc/asterisk/asterisk.conf
	
	if [ ! -d /var/run/asterisk ]; then
		mkdir /var/run/asterisk
	fi
	chown -R asterisk:asterisk /var/run/asterisk
	
	echo "+----------------------------------------------------------------+"
	echo "| Démarrage de Asterisk Post Installation                        |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	if [ -f /var/run/asterisk/asterisk.pid ]; then
		/usr/local/sbin/amportal stop
		echo "Veuillez patienter ..."
		sleep 8;
	fi
	if [ -f /var/run/asterisk/asterisk.pid ]; then
		asteriskPID=$(cat /var/run/asterisk/asterisk.pid)
		kill -9 $(cat /var/run/asterisk/asterisk.pid)
	fi
	/usr/sbin/asterisk
	
	echo "+----------------------------------------------------------------+"
	echo "| Modification des fichiers de configuration de FreePBX          |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	cp /usr/src/freepbx-${VER_FREEPBX}/install_amp /usr/src/freepbx-${VER_FREEPBX}/install_amp-orig
	sed -i "s/\(^\$webroot*\)\(.*\)/\1 = \"\/var\/www\";/" /usr/src/freepbx-${VER_FREEPBX}/install_amp
	chmod 755 /usr/src/freepbx-${VER_FREEPBX}/install_amp
	
	LOCAL_IP=`ifconfig eth0 | egrep -o '([0-9]{1,3}\.){3}[0-9]{1,3}' | head -1`
	sed -i "s/xx.xx.xx.xx/${LOCAL_IP}/g" "/usr/src/freepbx-${VER_FREEPBX}/install_amp"
	
	chmod 755 /usr/src/freepbx-${VER_FREEPBX}/install_amp
	
	echo "+----------------------------------------------------------------+"
	echo "| Installation de FreePBX                                        |"
	echo "+----------------------------------------------------------------+"
	echo "| Appuyez simplement sur <Entrer> à chaque question.             |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	if [ -f /etc/amportal.conf ]; then
		mv /etc/amportal.conf /etc/amportal.conf.old
	fi
	if [ -f /etc/asterisk/manager.conf ]; then
		mv /etc/asterisk/manager.conf /etc/asterisk/manager.conf.old
	fi
	if [ -f /etc/asterisk/vm_email.inc ]; then
		mv /etc/asterisk/vm_email.inc /etc/asterisk/vm_email.inc.old
	fi
	if [ -f /etc/asterisk/indications.conf ]; then
		mv /etc/asterisk/indications.conf /etc/asterisk/indications.conf.old
	fi
	if [ -f /etc/asterisk/cdr_mysql.conf ]; then
		mv /etc/asterisk/cdr_mysql.conf /etc/asterisk/cdr_mysql.conf.old
	fi

	echo "== ATTENTION =="
	echo "Si vous ne comprenez pas la question suivante, veuillez choisir NON,"
	echo "les options standard et optimisées seront alors utilisées."
	echo "--"
	key=""
	while [ "$key" != "y" ] && [ "$key" != "N" ];do
		echo ""
		read -n 1 -p "Voulez-vous vérifier les elements de configuration de FreePBX ? [y/N]" key
	done
	echo ""
	if [ $key == "N" ]; then
		sed -i "s/\(\$key\ \=\ trim*\)/#\1/" /usr/src/freepbx-${VER_FREEPBX}/install_amp
	fi
	
	cd /usr/src/freepbx-${VER_FREEPBX}/
	./install_amp
	
	/usr/src/freepbx-${VER_FREEPBX}/apply_conf.sh
	

	echo "+----------------------------------------------------------------+"
	echo "| Mis en place de l'Authentification pour l'interface d'admin    |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	sed -i "s/\(^AUTHTYPE=*\)\(.*\)/\1database/" /etc/amportal.conf

	echo "+----------------------------------------------------------------+"
	echo "| Arrêt de Asterisk Post Installation                            |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	asteriskPID=$(cat /var/run/asterisk/asterisk.pid)
	kill -9 $(cat /var/run/asterisk/asterisk.pid)
	echo "Veuillez patienter ..."
	sleep 8;
	
	echo "+----------------------------------------------------------------+"
	echo "| Remove Apache2 Redirect                                        |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	sed -i "s/\(RedirectMatch*\)\(.*\)//" /etc/apache2/sites-enabled/000-default
	
	echo "+----------------------------------------------------------------+"
	echo "| Redémarrage de apache                                          |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	/etc/init.d/apache2 restart
	
	echo "+----------------------------------------------------------------+"
	echo "| Changement des droits                                          |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	
	chown -R asterisk:asterisk /etc/asterisk
	chmod 770 /etc/asterisk/
	
	chown -R asterisk:asterisk /var/lib/asterisk/
	chmod 770 /var/lib/asterisk/
	
	chown -R asterisk:asterisk /var/www/
	
	
	echo "+----------------------------------------------------------------+"
	echo "| Copie des images manquantes                                    |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	cp /var/www/admin/modules/dashboard/images/notify_* /var/www/admin/images/

	echo "+----------------------------------------------------------------+"
	echo "| FOP - Interface en francais                                    |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi

	key="y"
	if [ $FULL_AUTO != "1" ]; then
		key=""
		while [ "$key" != "y" ] && [ "$key" != "N" ];do
			echo ""
			read -n 1 -p "Voulez-vous installer le support FR pour FOP ? [y/N]" key
		done
		echo ""
	fi
	if [ $key == "y" ]; then
		FILE="/var/www/panel/op_lang_fr.cfg"
		echo "; Language configuration file" >> ${FILE}
		echo ";" >> ${FILE}
		echo "; Laurent Mele - lmele@infoclip.fr" >> ${FILE}
		echo "; 2005" >> ${FILE}
		echo ";" >> ${FILE}
		echo "dialing=Numérotation" >> ${FILE}
		echo "calling=Appel de $1" >> ${FILE}
		echo "incoming=Appel entrant du $1" >> ${FILE}
		echo "parked=Parqué au $1" >> ${FILE}
		echo "registered=Enregistré" >> ${FILE}
		echo "notregistered=Non enregistré" >> ${FILE}
		echo "reachable=Disponible. $1" >> ${FILE}
		echo "unreachable=Indisponible $1" >> ${FILE}
		echo "lagged=Lenteur $1" >> ${FILE}
		echo "newold=Nouveau $1, Ancien $2" >> ${FILE}
		echo "waitingonqueue=$1 utilisateur$2 en attente" >> ${FILE}
		echo "memberonconference=$1 participant$2" >> ${FILE}
		echo "version_mismatch=Incohérence de version Client/Serveur!" >> ${FILE}
		echo "; client side" >> ${FILE}
		echo "clid_label=Information" >> ${FILE}
		echo "detail_title=Détails du dernier appel" >> ${FILE}
		echo "detail_from=De:" >> ${FILE}
		echo "detail_to=Vers:" >> ${FILE}
		echo "detail_duration=Durée:" >> ${FILE}
		echo "security_code_title=Entrez le code de sécurité" >> ${FILE}
		echo "btn_security_text=Authentification de l''administrateur" >> ${FILE}
		echo "btn_restart_text=Redémarre Asterisk" >> ${FILE}
		echo "btn_reload_text=Recharge la configuration" >> ${FILE}
		echo "btn_debug_text=Ouvre/Ferme la fenêtre de déverminage" >> ${FILE}
		echo "btn_help_text=Ouvre la fenêtre d''aide" >> ${FILE}
		echo "tab_call_text=Appel" >> ${FILE}
		echo "tab_queue_text=File d''attente" >> ${FILE}
		echo "calls_taken_text=Appels pris" >> ${FILE}
		echo "no_data_text=Pas d''information disponible" >> ${FILE}
		echo "debug_window_title=Fenêtre de déverminage" >> ${FILE}
		echo "paused=En pause" >> ${FILE}
		echo "idle=Inactif" >> ${FILE}
		echo "channels=$1 canal$2 utilisé" >> ${FILE}

		FILE="/var/www/panel/help_fr.html"
		echo "<p>Avant de faire des actions, vous devez entrer votre mot de passe.<br />" >> ${FILE}
		echo "<br />" >> ${FILE}
		echo "Après vous pouvez:" >> ${FILE}
		echo "<ul>" >> ${FILE}
		echo "<li> Transférer les appels: en déplaceant l'icône du téléphone et en le déposant sur la destination que vous voulez</li>" >> ${FILE}
		echo "<li> Interrompre un appel: en double cliquant sur le bouton rouge</li>" >> ${FILE}
		echo "<li> Créer un appel: en déplaceant une extension valide vers une destination valide</li>" >> ${FILE}
		echo "<li> Conférence: vous pouvez ajouter une tierce personne à un appel en cours en déplaceant une extension valide vers un appel existant. </li>" >> ${FILE}
		echo "</ul>" >> ${FILE}
		echo "Vous pouvez aussi ajouter des informations complémentaires dans la boîte Info avant de transférer l'appel ou de le créer. Si du texte est ajouté dans la boîte Info, il sera utilisé comme texte dans l'identifiant de l'appel par exemple: 555-1212 Jean Martin/IBM " >> ${FILE}
		echo "</p>" >> ${FILE}

	fi
	sed -i 's/language=en/language=fr/' /var/www/panel/op_server.cfg
	
	echo "+----------------------------------------------------------------+"
	echo "| Script de démarrage (Asterisk+FreePBX)                          |"
	echo "| /etc/init.d/freepbx [start|stop|restart]                       |"
	echo "+----------------------------------------------------------------+"
	if [ $FULL_AUTO != "1" ]; then
		echo " Appuyez sur <Entrer> pour continuer"
		read
	fi
	STARTUP_SCRIPT="/etc/init.d/freepbx";
	echo "Création du fichier ${STARTUP_SCRIPT} ...";
	
	echo '#!/bin/bash' > ${STARTUP_SCRIPT}
	echo '' >> ${STARTUP_SCRIPT}
	echo 'AMPORTAL_BIN=/usr/local/sbin/amportal' >> ${STARTUP_SCRIPT}
	echo '' >> ${STARTUP_SCRIPT}
	echo 'if [ ! -x ${AMPORTAL_BIN} ]; then'  >> ${STARTUP_SCRIPT}
	echo '        echo "error : amportal binary can not be found (${AMPORTAL_BIN})"' >> ${STARTUP_SCRIPT}
	echo '        exit 0' >> ${STARTUP_SCRIPT}
	echo 'fi' >> ${STARTUP_SCRIPT}
	echo '' >> ${STARTUP_SCRIPT}
	echo '' >> ${STARTUP_SCRIPT}
	echo 'start() {' >> ${STARTUP_SCRIPT}
	echo '	echo "Starting FreePBX ..."' >> ${STARTUP_SCRIPT}
	echo '	${AMPORTAL_BIN} start'  >> ${STARTUP_SCRIPT}
	echo '}' >> ${STARTUP_SCRIPT}
	echo '' >> ${STARTUP_SCRIPT}
	echo 'stop() {' >> ${STARTUP_SCRIPT}
	echo '	echo "Stopping FreePBX ..."' >> ${STARTUP_SCRIPT}
	echo '	${AMPORTAL_BIN} stop'  >> ${STARTUP_SCRIPT}
	echo '}' >> ${STARTUP_SCRIPT}
	echo '' >> ${STARTUP_SCRIPT}
	echo 'case "$1" in' >> ${STARTUP_SCRIPT}
	echo '  start)' >> ${STARTUP_SCRIPT}
	echo '        start' >> ${STARTUP_SCRIPT}
	echo '        ;;' >> ${STARTUP_SCRIPT}
	echo '' >> ${STARTUP_SCRIPT}
	echo '  stop)' >> ${STARTUP_SCRIPT}
	echo '        stop' >> ${STARTUP_SCRIPT}
	echo '        ;;' >> ${STARTUP_SCRIPT}
	echo '' >> ${STARTUP_SCRIPT}
	echo '  restart)' >> ${STARTUP_SCRIPT}
	echo '	stop' >> ${STARTUP_SCRIPT}
	echo '        start' >> ${STARTUP_SCRIPT}
	echo '        ;;' >> ${STARTUP_SCRIPT}
	echo '' >> ${STARTUP_SCRIPT}
	echo '  *)' >> ${STARTUP_SCRIPT}
	echo '        echo $"Usage: $0 {start|stop|restart}"' >> ${STARTUP_SCRIPT}
	echo '        exit 1' >> ${STARTUP_SCRIPT}
	echo 'esac' >> ${STARTUP_SCRIPT}
	echo '' >> ${STARTUP_SCRIPT}
	echo 'exit 0' >> ${STARTUP_SCRIPT}
	chmod 755 ${STARTUP_SCRIPT}
	
	echo "Prise en compte du fichier ${STARTUP_SCRIPT} au boot ..."
	update-rc.d freepbx defaults
	
	
	echo "##################################################################"
	echo "# PART 2 - Installation de FreePBX : TERMINEE                    #"
	echo "### ---------------------------------------------------------- ###"
	if [ $FULL_AUTO != "1" ]; then
	echo "#               Appuyez sur <Entrer> pour continuer              #"
	echo "##################################################################"
	read
	fi

	FREEPBX_INSTALLATION="1";
fi


###################################################################################################

###################################################################################################

###################################################################################################


clear
echo "##################################################################"
echo "# PART 3 - Paramètres de Sécurité                                #"
echo "### ---------------------------------------------------------- ###"
if [ $FULL_AUTO != "1" ]; then
echo "#               Appuyez sur <Entrer> pour continuer              #"
echo "##################################################################"
read
fi

if [ "${FREEPBX_INSTALLATION}" != "1" ]; then
	echo "L'installation de FreePBX n'a pas été effectuée ou finalisée."
	echo "Les paramètres de sécurité ne peuvent être spécifiés."
	exit
fi

echo "+----------------------------------------------------------------+"
echo "| Changement du mot de passe SQL pour le user SQL asteriskuser   |"
echo "| > Change AMPDBPASS=amp109 in /etc/amportal.conf                |"
echo "| > Change password = amp109 in /etc/asterisk/cdr_mysql.conf     |"
echo "| > Change SQL PASSWORD                                          |"
echo "+----------------------------------------------------------------+"
key=""
while [ "$key" == "" ];do
	read -p "NEW asteriskuser SQL password ? " key
done
echo $key
sed -i "s/\(^AMPDBPASS=*\)\(.*\)/\1$key/" /etc/amportal.conf
sed -i "s/\(^password = *\)\(.*\)/\1$key/" /etc/asterisk/cdr_mysql.conf
echo "SET PASSWORD FOR 'asteriskuser'@'localhost' = PASSWORD('$key');" | mysql -u root ${SQL_ROOT_PASSWORD}


echo "+----------------------------------------------------------------+"
echo "| Changement du mot de passe Asterisk Manager                    |"
echo "| > Changer secret = amp111 in /etc/asterisk/manager.conf        |"
echo "| > Changer AMPMGRPASS=amp111 in /etc/amportal.conf              |"
echo "+----------------------------------------------------------------+"
key=""
while [ "$key" == "" ];do
	read -p "NEW Asterisk Manager password ? " key
done
echo $key

sed -i "s/\(^secret = *\)\(.*\)/\1$key/" /etc/asterisk/manager.conf
sed -i "s/\(^AMPMGRPASS=*\)\(.*\)/\1$key/" /etc/amportal.conf


echo "+----------------------------------------------------------------+"
echo "| ATTENTION : N'oubliez pas de changer le mot de passe           |"
echo "| root mysql. Celui-ci par default est null                      |"
echo "| -------------------------------------------------------------- |"
echo "| SET PASSWORD FOR 'root'@'localhost' = PASSWORD('<password>');  |"
echo "+----------------------------------------------------------------+"
key=""
while [ "$key" != "y" ] && [ "$key" != "N" ];do
	echo ""
	read -n 1 -p "Voulez-vous changer le mot de passe root mysql maintenant ? [y/N]" key
done
echo ""
if [ $key == "y" ]; then
	key=""
	while [ "$key" == "" ];do
		read -p "NEW mysql root password ? " key
	done
	echo "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('$key');" | mysql -u root ${SQL_ROOT_PASSWORD}
fi
echo ""
echo "##################################################################"
echo "# PART 3 - Sécurity : OK                                         #"
echo "### ---------------------------------------------------------- ###"
if [ $FULL_AUTO != "1" ]; then
echo "#               Appuyez sur <Entrer> pour continuer              #"
echo "##################################################################"
read
fi

clear
echo "+----------------------------------------------------------------+"
echo "| L'installation est désormais terminée                          |"
echo "| Pour lancer Asterisk+Freepbx vous devez utiliser la commande : |"
echo "| # amportal start                                               |"
echo "|                                                                |"
echo "|        !! NE LANCER JAMAIS DIRECTEMENT ASTERISK !!             |"
echo "|                                                                |"
echo "|   ----------------------------------------------------------   |"
echo "| L'interface web est accessible à cette URL :"
echo "| -> http://${LOCAL_IP}"
echo "|      | login : admin"
echo "|      | password : admin"
echo "|"
echo "| Le mot de passe du FOP (Flash Operator Panel) est :"
echo "| -> passw0rd"
echo "|   ----------------------------------------------------------   |"
echo "|                                                                |"
echo "+----------------------------------------------------------------+"

echo "+----------------------------------------------------------------+"
echo "| C'est fini !                                                   |"
echo "+----------------------------------------------------------------+"
