#! /bin/bash
tmp=/tmp/menu
pos=1
pos_calc=0
CLASSME=""
choose_etape1=0
choose_etape2=0
etape1[0]="1 CAT1"
etape1[1]="2 CAT2"
etape1[2]="3 CAT3"
#######################################################
## CAT1
##
etape2_1_type="checklist"
etape2_1[0]="1 TOTO off"
etape2_1[1]="2 TOTO2 off"
etape2_1_1_profil="TOTO_SRV TOTO_PLUGINS_SRV_LINUX DISKBASE"
etape2_1_2_profil="TOTO2_SRV DISKBASE"
# toto
etape3_1_1[0]="1 mach1"
etape3_1_1[1]="2 mach2"
etape3_1_1[2]="3 mach3"
etape3_1_1[3]="4 mach4"
etape3_1_1_1_profil="HOST_MACH1 TOTO_CONF1 C_AGENT T_AGENT"
etape3_1_1_2_profil="HOST_MACH2 TOTO_CONF2 C_AGENT T_AGENT"
etape3_1_1_3_profil="HOST_MACH3 TOTO_CONF3 C_AGENT T_AGENT"
etape3_1_1_4_profil="HOST_MACH4 TOTO_CONF4 C_AGENT T_AGENT"
# toto2
etape3_1_2[0]="1 mach3"
etape3_1_2[1]="2 mach4"
etape3_1_2_1_profil="HOST_MACH3 TOTO2_CONF1 C_AGENT T_AGENT"
etape3_1_2_2_profil="HOST_MACH4 TOTO2_CONF2 C_AGENT T_AGENT"
# toto + toto2
etape3_1_3[0]="1 mach5"
etape3_1_3[1]="2 mach6"
etape3_1_3_1_profil="HOST_MACH5 TOTO2_CONF1 TOTO_CONF3 C_AGENT T_AGENT"
etape3_1_3_2_profil="HOST_MACH6 TOTO2_CONF2 TOTO_CONF4 C_AGENT T_AGENT"
######################################################
## CAT2
##
etape2_2_type="menu"
etape2_2[0]="1 DNS-WINS"
etape2_2[1]="2 LDAP"
etape2_2[2]="3 LVS"
etape2_2[3]="4 SSO"
etape2_2[4]="5 SQUID"
etape2_2[5]="6 C"
etape2_2[6]="7 FAI"
etape2_2_1_profil="DNS-WINS_SRV DISKBASE"
etape2_2_2_profil="LDAP_SRV DISKBASE"
etape2_2_3_profil="LVS_SRV DISKBASE"
etape2_2_4_profil="SSO_SRV DISKBASE"
etape2_2_5_profil="SQUID_SRV DISKBASE"
etape2_2_6_profil="C_SRV DISKBASE"
etape2_2_7_profil="FAI_SRV DISKBASE"
# DNS-WINS
etape3_2_1[0]="1 mach10"
etape3_2_1[1]="2 mach11"
etape3_2_1[2]="3 mach12"
etape3_2_1[3]="4 mach13"
etape3_2_1_1_profil="HOST_MACH10 DNS-WINS_CONF1 T_AGENT VT"
etape3_2_1_2_profil="HOST_MACH11 DNS-WINS_CONF2 T_AGENT VT"
etape3_2_1_3_profil="HOST_MACH12 DNS-WINS_CONF3 T_AGENT VT"
etape3_2_1_4_profil="HOST_MACH13 DNS-WINS_CONF4 T_AGENT VT"
# LDAP
etape3_2_2[0]="1 mach20"
etape3_2_2[1]="2 mach21"
etape3_2_2[2]="3 mach22"
etape3_2_2[3]="4 mach23"
etape3_2_2_1_profil="HOST_MACH20 LDAP_CONF1 T_AGENT VT"
etape3_2_2_2_profil="HOST_MACH21 LDAP_CONF2 T_AGENT VT"
etape3_2_2_3_profil="HOST_MACH22 LDAP_CONF3 T_AGENT VT"
etape3_2_2_4_profil="HOST_MACH23 LDAP_CONF4 T_AGENT VT"
# LVS
etape3_2_3[0]="1 mach30"
etape3_2_3[1]="2 mach31"
etape3_2_3[2]="3 mach32"
etape3_2_3[3]="4 mach33"
etape3_2_3_1_profil="HOST_MACH30 LVS_CONF1 T_AGENT"
etape3_2_3_2_profil="HOST_MACH31 LVS_CONF2 T_AGENT"
etape3_2_3_3_profil="HOST_MACH32 LVS_CONF3 T_AGENT"
etape3_2_3_4_profil="HOST_MACH33 LVS_CONF4 T_AGENT"
# SSO
etape3_2_4[0]="1 mach50"
etape3_2_4[1]="2 mach51"
etape3_2_4_1_profil="HOST_MACH50 SSO_CONF1 T_AGENT"
etape3_2_4_2_profil="HOST_MACH51 SSO_CONF2 T_AGENT"
# SQUID
etape3_2_5[0]="1 mach60"
etape3_2_5[1]="2 mach61"
etape3_2_5[2]="3 mach62"
etape3_2_5[3]="4 mach63"
etape3_2_5_1_profil="HOST_MACH60 SQUID_CONF1 T_AGENT"
etape3_2_5_2_profil="HOST_MACH61 SQUID_CONF2 T_AGENT"
etape3_2_5_3_profil="HOST_MACH62 SQUID_CONF3 T_AGENT"
etape3_2_5_4_profil="HOST_MACH63 SQUID_CONF4 T_AGENT"
# C
etape3_2_6[0]="1 mach100"
etape3_2_6[1]="2 mach101"
etape3_2_6_1_profil="HOST_MACH100 C_CONF1 C_AGENT T_AGENT"
etape3_2_6_2_profil="HOST_MACH101 C_CONF2 C_AGENT T_AGENT"
# FAI
etape3_2_7[0]="1 dappfai"
etape3_2_7_1_profil="HOST_DAPPFAI"
######################################################
## TEST
##
etape2_3_type="menu"
etape2_3[0]="1 TEST"
etape2_3_1_profil="DISKTEST"
# TEST
etape3_3_1[0]="1 test"
etape3_3_1_1_profil="HOST_TEST VT"
#######################################################
etape_1()
{
pos_calc=1
eval dialog --clear --title \"Installation - Etape 1\" --menu \"Veuillez choisir:\" 15 64 8 ${etape1[*]} 2>$tmp 1>/dev/console
if [ "$?" -ne 0 ] ; then
pos_calc="0"
return 1
fi
for profil in $(cat $tmp); do
choose_etape1=$profil
done
return 0
}
etape_2()
{
CLASSME=""
pos_calc=1
eval type_elem=\$etape2_${choose_etape1}_type
eval tmp_var=\$\{etape2_${choose_etape1}\[\*\]\}
if [ "$type_elem" = "checklist" ]; then
eval dialog --clear --separate-output --title \"Installation - Etape 2\" --checklist \"Veuillez choisir:\" 15 64 8 $tmp_var 2>$tmp 1>/dev/console
else
eval dialog --clear --title \"Installation - Etape 2\" --menu \"Veuillez choisir:\" 15 64 8 $tmp_var 2>$tmp 1>/dev/console
fi
if [ "$?" -ne 0 ] ; then
pos_calc="-1"
return 1
fi
choose_etape2=0
for profil in $(cat $tmp); do
choose_etape2=$(($choose_etape2 + $profil))
eval classtmp=\"\$etape2_${choose_etape1}_${profil}_profil\"
CLASSME="$CLASSME $classtmp"
done
return 0
}
etape_3()
{
pos_calc=1
eval tmp_var=\$\{etape3_${choose_etape1}_${choose_etape2}\[\*\]\}
eval dialog --clear --title \"Installation - Etape 3\" --menu \"Veuillez choisir:\" 15 64 8 $tmp_var 2>$tmp 1>/dev/console
if [ "$?" -ne 0 ] ; then
pos_calc="-1"
return 1
fi
choose_etape3=0
for profil in $(cat $tmp); do
choose_etape3=$(($choose_etape3 + $profil))
eval classtmp=\"\$etape3_${choose_etape1}_${choose_etape2}_${profil}_profil\"
CLASSME="$CLASSME $classtmp"
done
return 0
}
while : ; do
eval etape_$pos
pos=$(($pos + $pos_calc))
if [ $pos -gt 3 ] ; then
break
fi
done
echo FAIBASE GRUB TOTO TOTO_PLUGINS_TGT_LINUX B_AGT
echo $CLASSME
rm -f $tmp
exit 0