#!/bin/bash
# Upgrade vtemessiniegori 25.02.2 (3001) → 26.04 (3367) — sequenza Pantarei (come vteguzzini).
#
#   sudo bash /var/www/html/server-ops/mypantarei/upgrade-vtemessiniegori-to-2604.sh
#
# Prerequisiti: PHP 8.3 FPM installato (install-php83-fpm-vte26.sh).

set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
VTE=/var/www/html/vtemessiniegori
PKG_SRC=/var/www/html/vte_dev/vte_updater/packages/vte3001-3367.tgz
FILES3367_SRC=/var/www/html/vteguzzini/vte_updater/3001/files3367

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

echo "=== 1/6 Backup ==="
bash "${SCRIPT_DIR}/backup-vtemessiniegori-pre2604.sh"

echo "=== 2/6 Pacchetto files3367 ==="
mkdir -p "${VTE}/vte_updater/packages"
if [[ ! -d "${VTE}/vte_updater/3001/files3367" ]]; then
	if [[ -d "${FILES3367_SRC}" ]]; then
		echo "Rsync files3367 da vteguzzini..."
		rsync -a "${FILES3367_SRC}/" "${VTE}/vte_updater/3001/files3367/"
	elif [[ -f "${PKG_SRC}" ]]; then
		cp -a "${PKG_SRC}" "${VTE}/vte_updater/packages/"
		echo "Estrazione ${PKG_SRC} (può richiedere minuti)..."
		tar -xzf "${PKG_SRC}" -C "${VTE}/vte_updater/3001" 2>/dev/null || {
			mkdir -p "${VTE}/vte_updater/3001"
			tar -xzf "${PKG_SRC}" -C "${VTE}/vte_updater/3001"
		}
	else
		echo "[ERRORE] Manca files3367 e ${PKG_SRC}" >&2
		exit 1
	fi
	chown -R www-data:www-data "${VTE}/vte_updater"
fi
[[ -d "${VTE}/vte_updater/3001/files3367" ]] || { echo "[ERRORE] files3367 non trovato"; exit 1; }

echo "=== 3/6 Apache PHP 8.3 ==="
bash "${SCRIPT_DIR}/apply-vtemessiniegori-php83-apache.sh"
apache2ctl configtest
systemctl reload apache2

echo "=== 4/6 Cron PHP 8.3 ==="
cat >/etc/cron.d/vtemessiniegori <<EOF
# VTENEXT vtemessiniegori — VTE 26.04 / PHP 8.3
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

* * * * * www-data ${SCRIPT_DIR}/vte-RunCron-php83.sh ${VTE} >> ${VTE}/logs/cron.log 2>&1
EOF
chmod 644 /etc/cron.d/vtemessiniegori
chown www-data:www-data "${VTE}/logs" 2>/dev/null || true

echo "=== 5/6 Upgrade file + composer + schema ==="
bash "${SCRIPT_DIR}/vte2604-upgrade-with-composer.sh" "${VTE}"

echo "=== 6/6 Patch post-26 (istanza-specifiche) ==="
php8.3 "${SCRIPT_DIR}/install-vte-post2604-patches.php" "${VTE}"
php8.3 "${SCRIPT_DIR}/vte-clear-sdk-class-cache-cli.php" "${VTE}"

VER=$(php8.3 -r "chdir('${VTE}'); include 'vteversion.php'; echo \$enterprise_current_version.'/'.\$enterprise_current_build;")
echo ""
echo "[OK] vtemessiniegori aggiornato: ${VER}"
echo "Verifica: http://vte-massiniegori.mypantarei.net — login admin"
echo "Opzionale: sudo systemctl reload php8.3-fpm"
