#!/bin/bash

echo "Starting ARDI installation for Ubuntu Bionic"
export DEBIAN_FRONTEND=noninteractive


phpmodtool='phpenmod'
phpmoddir='/etc/php7.0/mods-available'
phpdeps="php5 php7.0-mysql php7.0-gd php7.0-curl php7.0-gd"
distro=`lsb_release -a | awk '/Distributor ID/ { print $3; exit; }'`
codename=`lsb_release -a | awk '/Codename/ { print $2; exit; }'`
ioncubeurl='http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz'
ioncubefile='ioncube_loaders_lin_x86-64.tar.gz'

phpdeps="php7.0 php7.0-gd php7.0-mysql php7.0-curl libapache2-mod-php7.0 php7.0-xml php7.0-zip"

loaderversion="ioncube_loader_lin_7.0.so"

echo "   Repository: $repo / $repocode"
echo "   IonCube Loader Version: $loaderversion"
#echo "   PHP Mod Directory: $phpmoddir"

#exit

echo "Installing Updates"
apt-get update
apt-get -y upgrade

echo "Installing Services and Python"
apt-get -y install jed apache2 mysql-server mysql-client python python-pip python-mysqldb python-daemon

echo "Installing PHP"
#apt-get -y install php

###Install older version of PHP
apt-install python-software-properties
add-apt-repository ppa:ondrej/php

apt-get update
apt-get install php7.0
	       
update-alternatives --set php /usr/bin/php7.0
a2dismod php7.2
a2enmod php7.0
###End

phpversion=`php -v | awk '/PHP/ {print $2;exit;}'`
phpvera="`echo "$phpversion" | cut -d. -f1`"
phpverb="`echo "$phpversion" | cut -d. -f2`"

fromver="7.0"
tover="$phpvera.$phpverb"

phpdeps=${phpdeps//$fromver/$tover}

echo "Installing PHP Dependencies: $phpdeps"

apt-get -y install $phpdeps

echo "Installing Python Modules"
pip install -U xmltodict pytz tzlocal

phpextdir = `php -i | grep extension_dir | awk '/=>/ {print $3}'`

echo "Installing IonCube Loader"

phpextdir=`php -i | awk '/extension_dir/ { print $3; exit; }'`

loaderversion="ioncube_loader_lin_$phpvera.$phpverb.so"

phpmodtool='phpenmod'
phpmoddir="/etc/php/7.0/mods-available"

mkdir /usr/src
cd /usr/src
#set -x
wget $ioncubeurl
tar -xvf $ioncubefile
tmp="`cp /usr/src/ioncube/"$loaderversion" "$phpextdir"/ioncube.so`"
printf "; ioncube configuration\n; priority=01\nzend_extension=ioncube.so\n" > ioncube.ini
tmp="`cp ioncube.ini "$phpmoddir"/ioncube.ini`"
$phpmodtool ioncube

cp ioncube.ini /etc/php/7.0/apache2/conf.d/01-ioncube.ini

service apache2 restart
#unset -x

#finalrepo="http://repo.optrix.com.au/"$repo" "$repocode" main"
#echo "   ARDI Repository: $finalrepo"

#echo "Adding Optrix ARDI Repo"
#apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CC61B9
#apt-add-repository "deb $finalrepo"
#echo "deb $finalrepo" > /etc/apt/sources.list.d/ardi.list
#apt-get update

#echo "Installing ARDI Core"
#apt-get -y install ardi-core ardi-drivers ardi-rnd ardi-sin

echo "Cleaning Up..."
rm -R /usr/src/ioncube
a2dissite 000-default
service apache2 restart
systemctl daemon-reload

echo "Note - you will still need to install individual ARDI drivers."

echo "------"

echo "Setting MySQL Root Password"
echo "SET PASSWORD FOR 'root'@'localhost'=PASSWORD('123qwe');" | mysql -u "root"
mysql --user=root -e \
"UPDATE mysql.user SET plugin='mysql_native_password'; FLUSH PRIVILEGES";

echo "------"

echo "Installation Compete. Please visit the web page to license your ARDI installation"
echo ""
echo "If you don't have one already, you'll need the details below for your license..."
echo ""
echo "Local IP Address: "
hostname -I

echo "DNS Name: "
hostname --fqdn