#!/usr/bin/env bash
# ============================================================================
# PROCP — Arşiv (manuel) kurulum: release tarball'ını indirir + açar.
#   curl -fsSL https://releases.procp.net/install-archive.sh | bash
#
# ⚠ Bu yol runtime PİNLEMEZ — uygulamayı HOST'un mevcut PHP'siyle çalıştırır.
#   PHP sürüm/eklenti uyumu host'a bağlıdır. Runtime kontrolü istiyorsan:
#     • Docker/K8s          → install.sh --engine=docker  (veya install-docker.sh)
#     • Docker'sız VPS      → install.sh --engine=frankenphp  (gömülü PHP 8.3)
#   Bu script yalnızca dosyaları yerleştirir; .env/webserver/cron elle kurulur.
# ============================================================================
set -euo pipefail
BASE="${PROCP_BASE:-https://releases.procp.net}"
TARGET="${PROCP_TARGET:-$PWD/procp}"

command -v curl >/dev/null || { echo "curl gerekli"; exit 1; }
command -v tar  >/dev/null || { echo "tar gerekli"; exit 1; }

echo "▸ sürüm bilgisi alınıyor"
VER="$(curl -fsSL "$BASE/latest.json" | grep -oE '"version"[^,]*' | head -1 | cut -d'"' -f4)"
[ -n "$VER" ] || { echo "sürüm okunamadı"; exit 1; }
SHA="$(curl -fsSL "$BASE/latest.json" | grep -oE '"tarball_sha256"[^,]*' | head -1 | cut -d'"' -f4)"

echo "▸ procp-$VER indiriliyor"
TMP="$(mktemp -d)"; curl -fsSL "$BASE/procp-$VER.tar.gz" -o "$TMP/procp.tgz"

echo "▸ checksum doğrulanıyor"
DL_SHA="$(sha256sum "$TMP/procp.tgz" | cut -d' ' -f1)"
[ "$DL_SHA" = "$SHA" ] || { echo "✗ checksum uyuşmadı — iptal"; rm -rf "$TMP"; exit 1; }

echo "▸ açılıyor → $TARGET"
mkdir -p "$TARGET"; tar -C "$TARGET" -xzf "$TMP/procp.tgz"; rm -rf "$TMP"
chmod -R u+rwX "$TARGET/storage" "$TARGET/bootstrap/cache"

cat <<EOF

✓ PROCP $VER yerleştirildi: $TARGET
  Sıradaki:
   1) cp $TARGET/.env.example $TARGET/.env  &&  düzenle (APP_URL, DB, mail, lisans)
   2) web sunucu docroot → $TARGET/public
   3) cron:  * * * * * cd $TARGET && php artisan schedule:run >> /dev/null 2>&1
   4) tarayıcıda  https://<domain>/install
EOF
