#!/bin/bash
# vte2472: backup già fatto → PHP 8.3 Apache/cron → upgrade 25.02.2 → 26.04.
#
#   sudo bash /var/www/html/server-ops/mypantarei/upgrade-vte2472-to-2604.sh
#
# Prerequisiti: backup file+DB, PHP 8.3 installato, pacchetti vte3001-3367*.tgz.

set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
VTE="/var/www/html/vte2472"
PHP83="/usr/bin/php8.3"
CRON_D="/etc/cron.d/vte2472"
WRAPPER83="${SCRIPT_DIR}/vte-RunCron-php83.sh"

[[ "${EUID:-0}" -ne 0 ]] && { echo "Serve root: sudo bash $0"; exit 1; }

echo "=== vte2472 → VTE 26.04 + PHP 8.3 ==="

# 1) Apache PHP 8.3 solo vte2472
bash "${SCRIPT_DIR}/apply-vte2472-php83-apache.sh"
apache2ctl configtest
systemctl reload apache2
echo "[OK] Apache → PHP 8.3 per vte2472"

# 2) Cron PHP 8.3
if [[ -x "$WRAPPER83" ]]; then
	CRON_LINE="$WRAPPER83 $VTE"
else
	CRON_LINE="USE_PHP=$PHP83 $VTE/cron/RunCron.sh"
fi
cat >"$CRON_D" <<EOF
# VTENEXT vte2472 — PHP 8.3 (post upgrade 26.04)
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

* * * * * www-data ${CRON_LINE} >> ${VTE}/logs/cron.log 2>&1
EOF
chmod 644 "$CRON_D"
echo "[OK] Cron vte2472 → PHP 8.3"

# 3) Preparazione file
bash "${SCRIPT_DIR}/prepare-vte2472-pre2604.sh"

# 4) Upgrade applicativo (copia + composer + schema)
bash "${SCRIPT_DIR}/vte2604-upgrade-with-composer.sh" "$VTE"

VER=$(php8.3 -r "include '$VTE/vteversion.php'; echo \$enterprise_current_version.'/'.\$enterprise_current_build;")
echo ""
echo "=== Completato: vte2472 @ $VER ==="
echo "Verifica: https://vte.mypantarei.net — login admin"
echo "Post-check: sweep Smarty/templates_sdk/ (autoescape 26.04)"
