#!/usr/bin/env bash
# Usage: ./install.sh my-site-dir     (needs PHP 8.2+, Composer, MariaDB, Node not required)
set -euo pipefail
DIR="${1:-sar-site}"; HERE="$(cd "$(dirname "$0")" && pwd)"
composer create-project laravel/laravel "$DIR"
rsync -a --exclude install.sh --exclude README.md --exclude '.env.sar.example' --exclude 'public/.htaccess.performance' "$HERE"/ "$DIR"/
cd "$DIR"
# autoload helpers.php
php -r '$j=json_decode(file_get_contents("composer.json"),true);$j["autoload"]["files"]=["app/helpers.php"];file_put_contents("composer.json",json_encode($j,JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES));'
composer dump-autoload
cat "$HERE/public/.htaccess.performance" >> public/.htaccess
cat "$HERE/.env.sar.example" >> .env
echo ">> Edit .env (database, SMTP, gateway keys, ADMIN_PASSWORD), then run:"
echo "   php artisan key:generate && php artisan migrate --seed && php artisan storage:link"
echo "   php artisan config:cache && php artisan route:cache && php artisan view:cache"
