| 170 |
mathias |
1 |
#!/bin/bash
|
|
|
2 |
|
| 171 |
mathias |
3 |
# Installe GTT à partir du code en cours.
|
| 170 |
mathias |
4 |
#
|
|
|
5 |
# Nécessite de remplir config.sh à partir de config.defaut.sh.
|
|
|
6 |
# Si un fichier "htaccess" est présent, il sera renommé en ".htaccess" dans le
|
|
|
7 |
# dossier de destination de la nouvelle instance
|
|
|
8 |
#
|
|
|
9 |
# Utilisation :
|
| 171 |
mathias |
10 |
# ./installgtt.sh [prefixe]
|
| 170 |
mathias |
11 |
#
|
| 171 |
mathias |
12 |
# Mathias - 2015-12-28
|
| 170 |
mathias |
13 |
|
|
|
14 |
# ligne magique trouvee sur http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in
|
|
|
15 |
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
|
16 |
|
|
|
17 |
SCRIPTNAME=`basename "$0"`
|
|
|
18 |
|
|
|
19 |
# date du jour
|
|
|
20 |
DATE=`date +%Y-%m-%d`
|
|
|
21 |
|
|
|
22 |
# chargement de la config
|
|
|
23 |
. "$SCRIPTDIR/config.sh"
|
|
|
24 |
|
|
|
25 |
function notice {
|
| 171 |
mathias |
26 |
echo "Utilisation: $SCRIPTNAME [prefixe]"
|
|
|
27 |
echo " prefixe (optionnel): prefixe les tables de GTT dans la base de donnees"
|
| 170 |
mathias |
28 |
echo "Exemples:"
|
| 171 |
mathias |
29 |
echo " $SCRIPTNAME"
|
|
|
30 |
echo " $SCRIPTNAME gtt_2016_"
|
| 170 |
mathias |
31 |
}
|
|
|
32 |
|
| 171 |
mathias |
33 |
function install_gtt {
|
|
|
34 |
PREFIXE="$1"
|
| 170 |
mathias |
35 |
|
| 171 |
mathias |
36 |
echo "installation de GTT - prefixe: [$PREFIXE]"
|
| 170 |
mathias |
37 |
|
|
|
38 |
# copie du .htaccess
|
|
|
39 |
if [ -e "$SCRIPTDIR/htaccess" ]; then
|
|
|
40 |
echo "copie du .htaccess de reference"
|
| 171 |
mathias |
41 |
cp "$SCRIPTDIR/htaccess" "../.htaccess"
|
| 170 |
mathias |
42 |
fi
|
|
|
43 |
|
|
|
44 |
# creation de la config
|
|
|
45 |
echo "creation de la config"
|
|
|
46 |
echo "<?php
|
| 171 |
mathias |
47 |
// cree par installgtt le $DATE
|
| 175 |
mathias |
48 |
define('GTT_AUTH_SESSION_NOM', 'gtt_auth_$PREFIXE');
|
| 170 |
mathias |
49 |
define('GTT_BDD_NOM', '$BDD_BASE');
|
| 187 |
mathias |
50 |
define('GTT_BDD_DSN', 'mysqli://$BDD_LOGIN:$BDD_MDP@$BDD_HOTE/'.GTT_BDD_NOM);
|
| 170 |
mathias |
51 |
define('GTT_BDD_PREFIXE', '$PREFIXE');
|
|
|
52 |
define('GTT_DEBOGAGE', false);
|
|
|
53 |
define('GTT_DEBOGAGE_SQL', false);
|
| 171 |
mathias |
54 |
?>" > "../config.inc.php"
|
| 170 |
mathias |
55 |
|
|
|
56 |
# modification des fichiers .sql pour ajouter le prefixe, et insertion dans la base
|
|
|
57 |
# "sort" sert a s'assurer que "installation" est execute avant "maj" @WARNING bancal comme systeme !
|
| 171 |
mathias |
58 |
find "../documentation" -name "*.sql" | sort | while read line; do
|
| 170 |
mathias |
59 |
echo "Insertion de $line"
|
| 171 |
mathias |
60 |
sed "s/gestion_/${PREFIXE}gestion_/" "$line" > "${line}_${PREFIXE}.sql"
|
|
|
61 |
CMD="$CHEMIN_MYSQL/mysql -h$BDD_HOTE -u$BDD_LOGIN -p$BDD_MDP $BDD_BASE < ${line}_${PREFIXE}.sql"
|
| 170 |
mathias |
62 |
eval $CMD
|
| 171 |
mathias |
63 |
rm "${line}_${PREFIXE}.sql"
|
| 170 |
mathias |
64 |
done
|
|
|
65 |
}
|
|
|
66 |
|
| 171 |
mathias |
67 |
if [ "$1" = "help" ]; then
|
| 170 |
mathias |
68 |
notice
|
|
|
69 |
else
|
| 171 |
mathias |
70 |
install_gtt $@
|
| 170 |
mathias |
71 |
fi
|