FROM prestashop/prestashop:9

# Apply EduBox patches so PrestaShop 9 works behind the dynamic-domain reverse proxy.
COPY edubox-tools.patch \
     edubox-link.patch \
     edubox-frontcontroller.patch \
     edubox-shop.patch \
     edubox-shopurl.patch \
     edubox-shop-getbaseurl.patch \
     edubox-shopcontext.patch \
     edubox-asseturl.patch \
     edubox-install.patch \
     edubox-install-language.patch \
     edubox-language.patch \
     edubox-configuration.patch \
     edubox-dashboard-warning.patch \
     edubox-docker-run.patch \
     /tmp/
RUN patch -p1 -d /var/www/html < /tmp/edubox-tools.patch && \
    patch -p1 -d /var/www/html < /tmp/edubox-link.patch && \
    patch -p1 -d /var/www/html < /tmp/edubox-frontcontroller.patch && \
    patch -p1 -d /var/www/html < /tmp/edubox-shop.patch && \
    patch -p1 -d /var/www/html < /tmp/edubox-shopurl.patch && \
    patch -p1 -d /var/www/html < /tmp/edubox-shop-getbaseurl.patch && \
    patch -p1 -d /var/www/html < /tmp/edubox-shopcontext.patch && \
    patch -p1 -d /var/www/html < /tmp/edubox-asseturl.patch && \
    patch -p1 -d /var/www/html < /tmp/edubox-install.patch && \
    patch -p1 -d /var/www/html < /tmp/edubox-install-language.patch && \
    patch -p1 -d /var/www/html < /tmp/edubox-language.patch && \
    patch -p1 -d /var/www/html < /tmp/edubox-configuration.patch && \
    patch -p1 -d /var/www/html < /tmp/edubox-dashboard-warning.patch && \
    patch -p1 -d / < /tmp/edubox-docker-run.patch && \
    rm /tmp/edubox-*.patch

# Apache proxy configuration
COPY proxy.conf /etc/apache2/conf-enabled/edubox-proxy.conf

# Pre-download French translation pack so the installer works offline.
# Agents may not have outbound internet access during installation.
# The official image copies /tmp/data-ps/prestashop/ into /var/www/html on first
# boot, so we place the pack there as well.
COPY translations-symfony-fr-FR.zip /tmp/data-ps/prestashop/translations/sf-fr-FR.zip
RUN chown -R www-data:www-data /tmp/data-ps/prestashop/translations

# Early bootstrap normalisation for X-Forwarded-* headers
COPY defines_custom.inc.php /var/www/html/config/defines_custom.inc.php

# Clear caches on every start so dynamic domains/ports are picked up
COPY edubox-clear-cache-init.sh /tmp/init-scripts/edubox-clear-cache.sh
RUN chmod +x /tmp/init-scripts/edubox-clear-cache.sh

RUN chown -R www-data:www-data /var/www/html
