#!/usr/bin/env bash
# =====================================================================
#  Timeout del correo (IMPORTANTE antes de abrir a los 2.988 asociados)
#
#  El correo de confirmacion se envia DENTRO de la misma peticion en la
#  que el asociado guarda su seleccion, y PHPMailer trae un timeout por
#  defecto de 300 segundos que nuestro Mailer nunca fijaba. Si el SMTP
#  se pone lento, el asociado se queda hasta 5 MINUTOS esperando.
#
#  Ahora se rinde a los 10 segundos. La seleccion no se pierde: ya esta
#  guardada (el envio es post-commit) y queda como 'fallido' en 'envios'.
# =====================================================================
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SRC="$SCRIPT_DIR/files"
APP_ROOT="${1:-$(cd "$SCRIPT_DIR/.." && pwd)}"
if [ ! -f "$APP_ROOT/public/index.php" ]; then echo "ERROR: '$APP_ROOT' no es la raiz de la app."; exit 1; fi
STAMP="$(date +%Y%m%d-%H%M%S)"; BACKUP="$APP_ROOT/_backup-timeout-$STAMP"; mkdir -p "$BACKUP"
cd "$SRC"
while IFS= read -r rel; do
  rel="${rel#./}"; dest="$APP_ROOT/$rel"
  if [ -f "$dest" ]; then mkdir -p "$BACKUP/$(dirname "$rel")"; cp -p "$dest" "$BACKUP/$rel"; fi
  mkdir -p "$(dirname "$dest")"; cp -f "$SRC/$rel" "$dest"; chmod 644 "$dest"
  echo "  [OK] $rel"
done < <(find . -type f)
echo "==============================================================="
echo " LISTO. Sin pasos adicionales."
echo " Respaldo: $BACKUP"
echo "==============================================================="
