#!/bin/bash

# Ensure the log directory exists so PHP and Cron can write to it
mkdir -p /var/www/html/public/logdata /var/www/html/public/uploads
chmod -R 777 /var/www/html/public/logdata /var/www/html/public/uploads
chmod +x /var/www/html/docker/cron/*.sh
umask 000

# Export environment variables for cron jobs
printenv | grep -v "no_proxy" >> /etc/environment

# Select crontab based on SERVER_TYPE
if [ "$SERVER_TYPE" = "production" ]; then
    echo "Loading live crontab ($APPNAME)"
    cp /var/www/html/docker/cron/crontab-set-live.txt /etc/cron.d/app-cron
else
    echo "Loading staging crontab ($APPNAME)"
    cp /var/www/html/docker/cron/crontab-set.txt /etc/cron.d/app-cron
fi

# Set proper permissions
dos2unix /etc/cron.d/app-cron
echo "" >> /etc/cron.d/app-cron
chmod 0644 /etc/cron.d/app-cron
crontab /etc/cron.d/app-cron

# Launch worker processes immediately on startup
/bin/bash /var/www/html/docker/cron/run-workers.sh >> /var/www/html/public/logdata/workers-control.log 2>&1

# Start cron in foreground
exec cron -f
