#!/bin/bash
# Fix ionCube for PHP-FPM 7.4 scala4 pool
# Run with: sudo bash fix-ioncube-fpm.sh

echo "=== Fixing ionCube for PHP-FPM 7.4 (scala4 pool) ==="
echo ""

CONFIG_FILE="/etc/php/7.4/fpm/conf.d/00-ioncube.ini"
LOADER_FILE="/usr/lib/php/20190902/ioncube_loader_lin_7.4.so"

# Verify loader exists
if [ ! -f "$LOADER_FILE" ]; then
    echo "❌ Loader file not found: $LOADER_FILE"
    exit 1
fi

echo "✓ Loader file exists"
echo ""

# Check current config
echo "Current configuration:"
if [ -f "$CONFIG_FILE" ]; then
    cat "$CONFIG_FILE"
else
    echo "Config file not found: $CONFIG_FILE"
fi
echo ""

# Ensure correct syntax (no spaces around =)
echo "1. Ensuring correct configuration syntax..."
sudo sed -i 's/zend_extension = /zend_extension=/' "$CONFIG_FILE"
sudo sed -i "s|zend_extension=.*|zend_extension=$LOADER_FILE|" "$CONFIG_FILE"

echo "Updated configuration:"
cat "$CONFIG_FILE"
echo ""

# Also check main php.ini
MAIN_INI="/etc/php/7.4/fpm/php.ini"
if grep -q "ioncube_loader" "$MAIN_INI"; then
    echo "2. Found ionCube in main php.ini, ensuring it's correct..."
    sudo sed -i "s|zend_extension.*ioncube.*|zend_extension=$LOADER_FILE|" "$MAIN_INI"
fi

echo ""

# Restart PHP-FPM
echo "3. Restarting PHP-FPM 7.4..."
sudo systemctl restart php7.4-fpm
sleep 3

if sudo systemctl is-active --quiet php7.4-fpm; then
    echo "✓ PHP-FPM 7.4 restarted"
else
    echo "❌ PHP-FPM 7.4 failed to restart"
    sudo systemctl status php7.4-fpm --no-pager | head -10
    exit 1
fi

echo ""

# Test with a PHP script
echo "4. Testing ionCube with PHP-FPM..."
TEST_SCRIPT="/tmp/test_ioncube.php"
cat > "$TEST_SCRIPT" << 'EOFPHP'
<?php
if (extension_loaded('ionCube Loader')) {
    echo "ionCube Loader version: " . ioncube_loader_version() . "\n";
    echo "✅ ionCube is loaded!\n";
} else {
    echo "❌ ionCube Loader NOT loaded\n";
    echo "Loaded extensions:\n";
    print_r(get_loaded_extensions());
}
EOFPHP

# Test via CLI first
echo "CLI PHP 7.4:"
php7.4 "$TEST_SCRIPT"

echo ""
echo "5. Testing billing site..."
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" https://billing.friendlytv.site/ 2>&1)
echo "   HTTP Status: $HTTP_CODE"

if curl -s https://billing.friendlytv.site/ | grep -qi "ioncube.*needs to be installed"; then
    echo ""
    echo "⚠️  Billing site still shows ionCube error"
    echo ""
    echo "Checking PHP-FPM configuration..."
    echo "Config file: $CONFIG_FILE"
    cat "$CONFIG_FILE"
    echo ""
    echo "Try checking PHP-FPM error log:"
    echo "  sudo tail -20 /var/log/php7.4-fpm.log"
else
    echo ""
    echo "✅ SUCCESS! Billing site should be working!"
fi

rm -f "$TEST_SCRIPT"


