PANIC_MODE 2.66 KB
#!/bin/bash

# Ce script fait passer l'application en mode "installation" et "local" (sans ldap)

# INPUT args
# $1 = platforme (par défaut linux)

# Mac ou Linux ?
# Linux
MACOS=
# Mac
#MACOS=1
[[ $1 == "macos" ]] && MACOS=ON


# Mode DEBUG (=ON pour activer)
# - DEBUG OFF
DEBUG=
# - DEBUG ON
#DEBUG=ON
[ $DEBUG ] && echo "DEBUG MODE ON"
#[ ! $DEBUG ] && echo "DEBUG MODE OFF"


# Nom du script sql
sqlscript=./database/set_mode_install


# Pour Mac OS recent (10.10, Yosemite), la syntaxe du SED est differente
# Il faut donc faire une copie de ce fichier et transformer les instructions sed a l'interieur
# Pour cela, il suffit d'executer ces 2 lignes :
# cp ce_script.sh ce_script_macosx.sh
# sed -e "s/ -i / -i '' /" -i '' ce_script_macosx.sh

if [ ! -f config/app.php ] ; then
#if [ ! -f ../config/app.php ] ; then
	#echo "Vous devez executer ce script depuis le dossier database/"
	echo "Vous devez executer ce script depuis la racine du projet"
	exit 1
fi



# Get login, pass, dbname, and hostname
username=$(grep "/\*d\*/'username'" ./config/app.php | cut -d"'" -f4)
password=$(grep "/\*d\*/'password'" ./config/app.php | cut -d"'" -f4)
database=$(grep "/\*d\*/'database'" ./config/app.php | cut -d"'" -f4)
host=$(grep "/\*d\*/'host'" ./config/app.php | cut -d"'" -f4)

#if [[ $DEBUG == 1 ]] ; then
if [ $DEBUG ] ; then
	echo "db: $database"
	echo "user: $username"
	echo "pass: $password"
	echo "host: $host"
	#exit
fi

cp -p $sqlscript.sql $sqlscript-build.sql

# Execute sql update script

if [ $MACOS ] ; then
	# MacOS only :
	sed -e "s/_database_/$database/" -i '' $sqlscript-build.sql
else
	# Linux :
	sed -e "s/_database_/$database/" -i $sqlscript-build.sql
fi

if [ ! $DEBUG ] ; then
	#echo "exec sql"
	mysql --user=$username --password=$password -h $host < $sqlscript-build.sql
fi
#echo $?
#error
if [ $? -ne 0 ] ; then
	echo "Une erreur s'est produite"
	echo "ABORT !"
	exit 1
fi

[ ! $DEBUG ] && rm $sqlscript-build.sql



# Delete cakephp cache
#### (EP 20210129) avant tout ca se faisait avec sudo...
####sudo rm ../tmp/cache/models/*
chmod -R 777 ./tmp
rm ./tmp/cache/models/* > /dev/null 2>&1
rm ./tmp/cache/persistent/* > /dev/null 2>&1

# Rendre accessible a nouveau les dossiers webroot/ et vendor/
####chmod -R 777 ../tmp
####chmod -R 777 ../vendor
chmod -R 777 ./vendor/aferrandini/phpqrcode
####chmod -R 777 ../webroot
#img/qrcodes et img/photos :
chmod -R 777 ./webroot/img
chmod -R 777 ./webroot/files
	
echo
echo
echo "L'application est passée en mode 'installation'"
echo
echo "Maintenant, allez sur le site web pour changer la configuration via la page web dédiée"
echo


[ $DEBUG ] && (echo "Contenu du script sql $sqlscript-build.sql :" ; echo ; cat $sqlscript-build.sql ; echo)