PANIC_MODE 2.76 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 "Si ça ne marche pas, il se peut que vous deviez aussi effacer le cache de votre navigateur"
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)