#!/usr/bin/with-contenv bash
echo "**** Installing Ioncube Loader ****"

if php -m | grep -iq "ioncube"; then
  echo "**** Ioncube Loader already installed, exiting... ****"
  exit 0
else
  ARCH="$(command arch)"
  if [ "${ARCH}" = "x86_64" ]; then 
    ARCH="x86-64"
    echo "**** Linux architecture found: x86-64 ****"
  elif [ "${ARCH}" = "aarch64" ]; then 
    ARCH="aarch64" 
    echo "**** Linux architecture found: arm64 ****"
  else
    echo "**** Unsupported Linux architecture ${ARCH} found, exiting... ****"
    exit 1
  fi

  PHP_MAJOR_VERSION="$(command php -r 'echo PHP_MAJOR_VERSION;')"
  PHP_MINOR_VERSION="$(command php -r 'echo PHP_MINOR_VERSION;')"
  echo "**** PHP Version found: ${PHP_MAJOR_VERSION}.${PHP_MINOR_VERSION}.x ****"

  echo "**** Downloading Ioncube Loader... ****"
  wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_${ARCH}.tar.gz -P /tmp/
  echo "**** Ioncube Loader downloaded: ioncube_loaders_lin_${ARCH}.tar.gz ****"

  echo "**** Extracting Ioncube Loader... ****"
  tar -C /tmp -xzvf /tmp/ioncube_loaders_lin_${ARCH}.tar.gz \
    && mkdir -p /usr/local/ioncube && cp /tmp/ioncube/*.so /usr/local/ioncube \
    && rm /tmp/ioncube_loaders_lin_${ARCH}.tar.gz && rm -rf /tmp/ioncube
  echo "**** Ioncube Loader extracted: /usr/local/ioncube ****"
  PHP_FOLDER=$(php --ini | grep '/php.ini' | sed -r 's|.*(/etc/php.*)/php\.ini|\1|')
  echo "zend_extension = /usr/local/ioncube/ioncube_loader_lin_${PHP_MAJOR_VERSION}.${PHP_MINOR_VERSION}.so" \
    > "${PHP_FOLDER}/conf.d/00-ioncube.ini"
  echo "**** Ioncube Loader PHP extension enabled: ioncube_loader_lin_${PHP_MAJOR_VERSION}.${PHP_MINOR_VERSION}.so ****"

  echo "**** Ioncube Loader Installed ****"
fi
