#!/usr/bin/env bash
set -euo pipefail

ROOT_DIR="${1:-.}"

echo "== PHP lint (tum php dosyalari) =="
find "$ROOT_DIR" -type f -name "*.php" -print0 | while IFS= read -r -d '' file; do
  php -l "$file" >/dev/null || echo "Lint hatasi: $file"
done

echo
echo "== Riskli SQL kaliplari (query + degisken) =="
rg -n --pcre2 -- '->query\(\s*"[^"]*\$[a-zA-Z_][a-zA-Z0-9_]*' "$ROOT_DIR" --glob "*.php" || true

echo
echo "== Yanlis prepare kullanimi (execute(array(0))) =="
rg -n -- '->execute\(array\(0\)\)|->execute\(\[0\]\)' "$ROOT_DIR" --glob "*.php" || true

echo
echo "== PHP 8.2 uyumluluk riskleri =="
echo "-- implode olasi tip hatasi --"
rg -n "implode\\(" "$ROOT_DIR" --glob "*.php" || true
echo "-- dynamic property olasi kullanimi --"
rg -n --pcre2 -- '\$this->[a-zA-Z_][a-zA-Z0-9_]*\s*=' "$ROOT_DIR" --glob "*.php" || true
echo "-- null degerde string offset riski --"
rg -n --pcre2 "\\$[a-zA-Z_][a-zA-Z0-9_]*\\[[0-9]+\\]" "$ROOT_DIR" --glob "*.php" || true

echo
echo "Tarama tamamlandi."
