#!/usr/bin/env bash
set -eu

BASE_PROYECTO="${1:-/home/iotcuboc/pyme}"
DIR_PAQUETE="$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)"
ORIGEN="$DIR_PAQUETE/public/recetas_v3.php"
DESTINO="$BASE_PROYECTO/public/recetas_v3.php"
MARCA_TIEMPO="$(date +%Y%m%d_%H%M%S)"
DIR_RESPALDO="$BASE_PROYECTO/backups/recetas_tipo_$MARCA_TIEMPO"

if [ ! -f "$ORIGEN" ]; then
    echo "ERROR: no se encontró el archivo corregido: $ORIGEN" >&2
    exit 1
fi

if [ ! -f "$DESTINO" ]; then
    echo "ERROR: no se encontró el archivo actual: $DESTINO" >&2
    echo "Uso alternativo: ./INSTALAR.sh /ruta/al/proyecto" >&2
    exit 1
fi

if command -v php >/dev/null 2>&1; then
    php -l "$ORIGEN"
fi

mkdir -p "$DIR_RESPALDO/public"
cp -p "$DESTINO" "$DIR_RESPALDO/public/recetas_v3.php"
cp -p "$ORIGEN" "$DESTINO"

if command -v php >/dev/null 2>&1; then
    if ! php -l "$DESTINO"; then
        cp -p "$DIR_RESPALDO/public/recetas_v3.php" "$DESTINO"
        echo "ERROR: la validación PHP falló. Se restauró automáticamente el respaldo." >&2
        exit 1
    fi
fi

echo "Cambio instalado correctamente."
echo "Archivo actualizado: $DESTINO"
echo "Respaldo anterior: $DIR_RESPALDO"
echo "Para volver atrás: ./RESTAURAR.sh '$DIR_RESPALDO' '$BASE_PROYECTO'"

