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

JOINPHP="${1:-/home/itahukamedia/public_html/studio.itahukamedia.com/public/join.php}"
TS="$(date +%Y%m%d_%H%M%S)"

cp -a "$JOINPHP" "$JOINPHP.bak.$TS"
echo "Backup created: $JOINPHP.bak.$TS"

if grep -q 'function getMediaStreamTrack(track)' "$JOINPHP"; then
  echo "Helper already exists. No change made."
  exit 0
fi

TMP="$(mktemp)"

awk '
BEGIN{done=0}
{
  if (!done && $0 ~ /^  function createVUMeter\(barEl, dbEl\)\{/){
    print "  function getMediaStreamTrack(track){"
    print "    try{"
    print "      if (!track) return null;"
    print "      if (typeof track.getMediaStreamTrack === \"function\") return track.getMediaStreamTrack();"
    print "      if (track.mediaStreamTrack) return track.mediaStreamTrack;"
    print "      if (track._mediaStreamTrack) return track._mediaStreamTrack;"
    print "    }catch(_){ }"
    print "    return null;"
    print "  }"
    print ""
    done=1
  }
  print
}
' "$JOINPHP" > "$TMP"

mv "$TMP" "$JOINPHP"

echo
echo "Patch complete."
echo
echo "Verify:"
grep -n 'function getMediaStreamTrack(track)' "$JOINPHP"
echo
echo "Syntax check:"
php -l "$JOINPHP"
