#!/bin/bash

# A script to run a wordpress project quickly

##########
# Colors #
##########

orange='\033[0;33m'
nocolor='\033[0m'

#############
# Variables #
#############

# global
scriptpath="`dirname \"$0\"`"
scriptpath="`( cd \"$scriptpath\" && pwd )`"

# mysql
rootpass="dynergie#idci#2015"
dbuser="patentuser"
userpass="patentpwd"
dbname="patent_manager"
#dumppath="$scriptpath/dump/dump.sql"
mysqlvolume="/var/docker/pre-prod/patent-manager/mysql"

# The main function
main() {
    echo "---------------------------------------------------"
    initMysql
    docker-compose up -d
    echo "---------------------------------------------------"
    printf "Your root directory is at ${orange}$scriptpath${nocolor}\n"
    printf "You can access your project at ${orange}http://pre-prod.patent-manager.idci.fr/app_dev.php${nocolor}\n"
    printf "You can access adminer at ${orange}http://pre-prod.adminer.patent-manager.idci.fr${nocolor}\n"
    printf "Adminer credentials :\n"
    printf "    server   : ${orange}mysql${nocolor}\n"
    printf "    login    : ${orange}${dbuser}${nocolor}\n"
    printf "    password : ${orange}${userpass}${nocolor}\n"
}

#############
# Functions #
#############

# init mysql container to add data in a volume
initMysql () {
    if ! [ -d "$mysqlvolume/$dbname" ]; then
        printf "Creating temporary mysql container...\n"
        createMysqlContainer # > /dev/null 2>&1
        printf "Creating a database\n"
        createDatabase # > /dev/null 2>&1
        #printf "Importing a dump\n"
        #importDump > /dev/null 2>&1
        printf "Removing temporary container\n"
        removeMysqlContainer # > /dev/null 2>&1
    fi
}

# create a temporary mysql container
createMysqlContainer () {
    docker run -d -p 33069:3306 -e MYSQL_ROOT_PASSWORD=dev --name mysqlcontainer -v $mysqlvolume:/var/lib/mysql brah0um/mysql:5.6.22
    sleep 20
}

# remove the temporary mysql container
removeMysqlContainer() {
    docker stop mysqlcontainer > /dev/null
    docker rm mysqlcontainer > /dev/null
}

# create a database
createDatabase () {
    mysql -h 127.0.0.1 -u root -P 33069 -p$rootpass -e "CREATE USER '$dbuser'@'%' IDENTIFIED BY '$userpass';"
    mysql -h 127.0.0.1 -u root -P 33069 -p$rootpass -e "CREATE DATABASE IF NOT EXISTS $dbname DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;"
    mysql -h 127.0.0.1 -u root -P 33069 -p$rootpass -e "GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON $dbname.* TO '$dbuser'@'%';"
}

# import a dump
importDump () {
    mysql -h 127.0.0.1 -u root -P 33069 -p$rootpass $dbname < $dumppath
}

####################
# Start the script #
####################

main

