#!/bin/bash

AdobeRemoved=false
TARGET_EDITION="300"

LOG_FILE=$(mktemp /tmp/adobe_remove.XXXXXX) || exit 1

umask 077

APPS=$(/usr/bin/find /Applications \
    -xdev \
    -type d \
    \( -iname "*adobe*.app" -o -iname "*acrobat*.app" -o -iname "*reader*.app" \) \
    2>/dev/null)

if [ -z "$APPS" ]; then
    echo "AdobeRemoved:false"
    exit 0
fi

while IFS= read -r app; do

    
    [ -z "$app" ] && continue
    [ ! -d "$app" ] && continue
    [ -L "$app" ] && continue

   
    real_app=$(/usr/bin/realpath "$app" 2>/dev/null) || continue

    
    [[ "$real_app" != /Applications/* ]] && continue
    [[ "$real_app" == "/" ]] && continue

    [ ! -d "$real_app" ] && continue
    [ -L "$real_app" ] && continue

   
    owner=$(/usr/bin/stat -f %Su "$real_app" 2>/dev/null)
    [ "$owner" != "root" ] && continue

    plist="$real_app/Contents/Info.plist"

    [ ! -f "$plist" ] && continue

   
    bundle_id=$(/usr/libexec/PlistBuddy \
        -c "Print CFBundleIdentifier" \
        "$plist" 2>/dev/null)

    [ -z "$bundle_id" ] && continue

    lower=$(/bin/echo "$bundle_id" | /usr/bin/tr '[:upper:]' '[:lower:]')

    if [[ "$lower" != com.adobe.* && "$lower" != *acrobat* ]]; then
        continue
    fi

   
    edition=$(/usr/libexec/PlistBuddy \
        -c "Print Edition" \
        "$plist" 2>/dev/null)

    [ "$edition" != "$TARGET_EDITION" ] && continue

    
    /usr/bin/codesign --verify --deep --strict \
        "$real_app" >/dev/null 2>&1 || continue

    
    current_real=$(/usr/bin/realpath "$real_app" 2>/dev/null) || continue

    [ "$current_real" != "$real_app" ] && continue
    [[ "$current_real" != /Applications/* ]] && continue
    [[ "$current_real" == "/" ]] && continue

   
    quarantine=$(/usr/bin/mktemp -d /private/tmp/adobe_remove.XXXXXX)

    /bin/mv -- "$real_app" "$quarantine/" 2>>"$LOG_FILE" || {
    /bin/rmdir "$quarantine" 2>/dev/null
    continue
}
   moved_app="$quarantine/$(/usr/bin/basename "$real_app")"

[ -d "$moved_app" ] || {
    /bin/rm -rf -- "$quarantine" 2>/dev/null
    continue
}
   
    /bin/rm -rf -- "$quarantine" 2>>"$LOG_FILE"

    if [ ! -d "$real_app" ]; then
        AdobeRemoved=true
    fi

done <<< "$APPS"

echo "AdobeRemoved:$AdobeRemoved"


