# Rx3-Docker/MediaWiki 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 MEDIAWIKI_CORE_CONFIG_FILE=${HTTPD_VHOST_CONFIG_DIR}/70-mediawiki-core.conf
ARG MEDIAWIKI_SURL_CONFIG_FILE=${HTTPD_VHOST_CONFIG_DIR}/65-mediawiki-short_url.conf



#---------------------------------------------------------------------------------------------------
ARG MEDIAWIKI='#!/bin/bash                                                                       \n\
                                                                                                 \n\
chown -R apache:apache                                         /var/www/mediawiki /etc/mediawiki \n\
chmod -R a-x,a+X                                               /var/www/mediawiki /etc/mediawiki \n\
chmod    o-rwx                                                 /var/www/mediawiki /etc/mediawiki \n\
chmod -R u+rwX                                                 /var/www/mediawiki                \n\
                                                                                                 \n\
cp -f '${MEDIAWIKI_CORE_CONFIG_FILE}.ref'                      '${MEDIAWIKI_CORE_CONFIG_FILE}'   \n\
cp -f '${MEDIAWIKI_SURL_CONFIG_FILE}.ref'                      '${MEDIAWIKI_SURL_CONFIG_FILE}'   \n\
                                                                                                 \n\
if [[ "${MEDIAWIKI_CONFIG}" == "TRUE" ]]                                                         \n\
then                                                                                             \n\
    sed -i "s/MEDIAWIKI_CONFIG_AUTH/all granted/"              '${MEDIAWIKI_CORE_CONFIG_FILE}'   \n\
else                                                                                             \n\
    sed -i "s/MEDIAWIKI_CONFIG_AUTH/local/"                    '${MEDIAWIKI_CORE_CONFIG_FILE}'   \n\
fi                                                                                               \n\
                                                                                                 \n\
sed -i -e "s%MEDIAWIKI_URL%${MEDIAWIKI_URL}%g"                 '${MEDIAWIKI_CORE_CONFIG_FILE}'   \n\
sed -i -e "s%MEDIAWIKI_URL%${MEDIAWIKI_URL}%g"                 '${MEDIAWIKI_SURL_CONFIG_FILE}'   \n\
                                                                                                 \n\
sed -i -e "s%mailhub=mail%mailhub=${SMTP_SERVER}%"             /etc/ssmtp/ssmtp.conf'
#---------------------------------------------------------------------------------------------------



#---------------------------------------------------------------------------------------------------
ARG MEDIAWIKI_SURL_CONFIG='# mediawiki short url configuration                                   \n\
                                                                                                 \n\
# Eval the subquery                                                                              \n\
RewriteCond %{REQUEST_URI} ^MEDIAWIKI_URL(.*)$                                                   \n\
RewriteRule ^ -            [E=SUBREQUEST_URI:%1]                                                 \n\
                                                                                                 \n\
# Skip local file or dir                                                                         \n\
RewriteCond /usr/share/mediawiki%{ENV:SUBREQUEST_URI} !-f                                        \n\
RewriteCond /usr/share/mediawiki%{ENV:SUBREQUEST_URI} !-d                                        \n\
                                                                                                 \n\
# Rewite                                                                                         \n\
RewriteRule "^/?MEDIAWIKI_URL(/.*)?$" "/usr/share/mediawiki/index.php" [L,QSA]                   \n\
'
#---------------------------------------------------------------------------------------------------



RUN    . /etc/profile.d/rx3.sh && isl --add ${IMG_URL}                                                                                                         \
    && urpmi.update -a                                                                                                                                         \
    && urpmi --force wget ssmtp php-iconv php-fileinfo php-dom php-apcu php-gd php-xmlreader git mediawiki mediawiki-pgsql                                     \
    && mv         /etc/httpd/conf/sites.d/mediawiki.conf                                                                     ${MEDIAWIKI_CORE_CONFIG_FILE}.ref \
    && sed -i -e  "s%Alias /mediawiki%Alias MEDIAWIKI_URL%" -e "s/Require local/Require MEDIAWIKI_CONFIG_AUTH/"              ${MEDIAWIKI_CORE_CONFIG_FILE}.ref \
    && echo  -e   "${MEDIAWIKI_SURL_CONFIG}" | sed -e "s/\`/'/g" -e 's/ *$//'                                              > ${MEDIAWIKI_SURL_CONFIG_FILE}.ref \
    && echo  -e   "${MEDIAWIKI}" | sed -e "s/\`/'/g" -e 's/ *$//'                                                          > /etc/init.d/mediawiki             \
    && chmod  a+x /etc/init.d/mediawiki                                                                                                                        \
    && ln    -s   /etc/init.d/mediawiki /etc/rcD.d/S40mediawiki

