# Rx3-Docker/MedShake Dockerfile
#-------------------------------------------------------------------------------

ARG IMG_FROM_URL="rx3-docker/php-apache:latest"

FROM ${IMG_FROM_URL}

ARG IMG_NAME
ARG IMG_NAME_FULL
ARG IMG_VERSION
ARG IMG_MAINTAINER
ARG IMG_URL

LABEL org.rx3.${IMG_NAME}.name=${IMG_NAME_FULL}
LABEL org.rx3.${IMG_NAME}.version=${IMG_VERSION}
LABEL org.rx3.${IMG_NAME}.maintainer=${IMG_MAINTAINER}
LABEL maintainer=${IMG_MAINTAINER}

ARG HTTPD_VHOST_CONFIG_DIR=/etc/httpd/conf/sites.d/default_vhost.d
ARG MEDSHAKE_CORE_CONFIG_FILE=${HTTPD_VHOST_CONFIG_DIR}/70-medshake-core.conf
#ARG MEDSHAKE_SHARE_DIR=/usr/share/medshake
ARG MEDSHAKE_SHARE_DIR=/var/www/medshake
ARG MEDSHAKE_WWW_DIR=/var/www/medshake



#---------------------------------------------------------------------------------------------------
ARG MEDSHAKE='#!/bin/bash                                                                        \n\
                                                                                                 \n\
if [[ ! -d '${MEDSHAKE_WWW_DIR}'/public_html ]]                                                  \n\
then                                                                                             \n\
    cp -Rf '${MEDSHAKE_WWW_DIR}.ref/*'                              '${MEDSHAKE_WWW_DIR}'        \n\
fi                                                                                               \n\
                                                                                                 \n\
chown -R apache:apache                                              '${MEDSHAKE_WWW_DIR}'        \n\
chmod -R a-x,a+X                                                    '${MEDSHAKE_WWW_DIR}'        \n\
chmod    o-rwx                                                      '${MEDSHAKE_WWW_DIR}'        \n\
chmod -R ug+rwX                                                     '${MEDSHAKE_WWW_DIR}'        \n\
                                                                                                 \n\
cp -f  '${MEDSHAKE_CORE_CONFIG_FILE}.ref'                       '${MEDSHAKE_CORE_CONFIG_FILE}'   \n\
                                                                                                 \n\
sed -i -e "s%MEDSHAKE_URL%${MEDSHAKE_URL}%g"                    '${MEDSHAKE_CORE_CONFIG_FILE}'   \n\
                                                                                                 \n\
IFS=":"                                                                                          \n\
read -r -a file <<< "${MEDSHAKE_ROOT_LINK_LISTZZZ}"                                              \n\
                                                                                                 \n\
i=0                                                                                              \n\
while [[ ${i} -lt ${#file[@]} ]]                                                                 \n\
do                                                                                               \n\
    ln -s '${MEDSHAKE_WWW_DIR}'/${file[${i}]} '${MEDSHAKE_SHARE_DIR}'                            \n\
                                                                                                 \n\
    i=$(( ${i} + 1))                                                                             \n\
done                                                                                             \n\
                                                                                                 \n\
sed -i -e "s%mailhub=mail%mailhub=${SMTP_SERVER}%"                  /etc/ssmtp/ssmtp.conf'
#---------------------------------------------------------------------------------------------------



#---------------------------------------------------------------------------------------------------
ARG MEDSHAKE_CORE_CONFIG='# MedShake configuration                                               \n\
                                                                                                 \n\
Alias MEDSHAKE_URL '${MEDSHAKE_SHARE_DIR}'/public_html/                                          \n\
                                                                                                 \n\
<Directory '${MEDSHAKE_SHARE_DIR}'/public_html>                                                  \n\
   AllowOverride all                                                                             \n\
    Require      all granted                                                                     \n\
    Options      +FollowSymLinks                                                                 \n\
</Directory>                                                                                     \n\
                                                                                                 \n\
SetEnv MEDSHAKEEHRPATH '${MEDSHAKE_SHARE_DIR}
#---------------------------------------------------------------------------------------------------



RUN    . /etc/profile.d/rx3.sh && isl --add ${IMG_URL}                                                                               \
    && urpmi.update -a                                                                                                               \
    && urpmi --force wget ssmtp ghostscript pdftk-java php-posix php-bcmath php-curl php-gd php-gnupg php-soap php-yaml php-zip php-phar php-dom php-iconv php-fileinfo php-xmlreader composer git lib64opencl1 \
    && mkdir      /tmp/medshake                                                                                                      \
    && wget -q -O - https://github.com/MedShake/MedShakeEHR-base/archive/refs/tags/v8.4.2.tar.gz | tar xzvf - -C /tmp/medshake       \
    && mv         /tmp/medshake/*                           ${MEDSHAKE_WWW_DIR}.ref                                                  \
    && COMPOSER_ALLOW_SUPERUSER=1 composer install --working-dir ${MEDSHAKE_WWW_DIR}.ref             --no-interaction --no-cache -o  \
    && COMPOSER_ALLOW_SUPERUSER=1 composer install --working-dir ${MEDSHAKE_WWW_DIR}.ref/public_html --no-interaction --no-cache -o  \
    && rmdir      /tmp/medshake                                                                                                      \
    && echo  -e   "${MEDSHAKE}" | sed -e "s/\`/'/g" -e 's/ *$//' >/etc/init.d/medshake                                               \
    && chmod  a+x /etc/init.d/medshake                                                                                               \
    && ln    -s   /etc/init.d/medshake /etc/rcD.d/S40medshake                                                                        \    
    && echo  -e   "${MEDSHAKE_CORE_CONFIG}" | sed -e "s/\`/'/g" -e 's/ *$//' >${MEDSHAKE_CORE_CONFIG_FILE}.ref

#    && mv         /etc/httpd/conf/sites.d/medshake.conf           ${MEDSHAKE_CORE_CONFIG_FILE}.ref \
#    && sed -i -e  "s%Alias /medshake/%Alias MEDSHAKE_URL%"        ${MEDSHAKE_CORE_CONFIG_FILE}.ref \

#    && wget -q -O - https://getcomposer.org/download/2.2.28/composer.phar >/usr/local/bin/composer                                   \
#    && chmod a+x  /usr/local/bin/composer                                                                                            \
