#!/bin/bash

#############################################################################
# Test script for new PHP version and domain variables
#############################################################################

cd /root/server-toolkit-beta

# Source all libraries
source lib/common-functions.sh
source lib/system-detect.sh
source lib/service-info.sh
source lib/system-variables.sh

echo "╔════════════════════════════════════════════════════════════════╗"
echo "║ Testing New PHP Version and Domain Configuration Variables    ║"
echo "╚════════════════════════════════════════════════════════════════╝"
echo ""

# Initialize detection
export SYS_DETECTION_COMPLETE=""
initialize_system_detection > /dev/null 2>&1

echo "✅ System Detection Complete"
echo "   Control Panel: $SYS_CONTROL_PANEL"
echo ""

# Test cPanel variables
echo "╔════════════════════════════════════════════════════════════════╗"
echo "║ cPanel PHP Version and Domain Configuration Variables        ║"
echo "╚════════════════════════════════════════════════════════════════╝"

if [ "$SYS_CONTROL_PANEL" = "cpanel" ]; then
    echo "✅ cPanel detected - testing cPanel-specific variables"
    echo ""
    echo "PHP Version Paths:"
    echo "  SYS_CPANEL_EAPHP_BASE: $SYS_CPANEL_EAPHP_BASE"
    echo "  SYS_CPANEL_EAPHP_BINARY_PATTERN: $SYS_CPANEL_EAPHP_BINARY_PATTERN"
    echo "  SYS_CPANEL_EAPHP_CONFIG_PATTERN: $SYS_CPANEL_EAPHP_CONFIG_PATTERN"
    echo "  SYS_CPANEL_EAPHP_FPM_PATTERN: $SYS_CPANEL_EAPHP_FPM_PATTERN"
    echo ""
    echo "Domain Configuration:"
    echo "  SYS_CPANEL_USERDATA_DIR: $SYS_CPANEL_USERDATA_DIR"
    echo "  SYS_CPANEL_DOMAIN_CONFIG_PATTERN: $SYS_CPANEL_DOMAIN_CONFIG_PATTERN"
    echo ""
    echo "Domain Mappings:"
    echo "  SYS_CPANEL_TRUEUSERDOMAINS: $SYS_CPANEL_TRUEUSERDOMAINS"
    echo "  SYS_CPANEL_USERDATADOMAINS: $SYS_CPANEL_USERDATADOMAINS"
    echo "  SYS_CPANEL_RETENTIONDOMAINS: $SYS_CPANEL_RETENTIONDOMAINS"
    echo ""
    echo "Domain Logs:"
    echo "  SYS_CPANEL_DOMLOGS_BASE: $SYS_CPANEL_DOMLOGS_BASE"
    echo "  SYS_CPANEL_DOMLOGS_PATTERN: $SYS_CPANEL_DOMLOGS_PATTERN"
    
    # Verify files exist
    [ -d "$SYS_CPANEL_EAPHP_BASE" ] && echo "  ✅ EAPHP base directory exists" || echo "  ⚠️ EAPHP base directory not found"
    [ -f "$SYS_CPANEL_TRUEUSERDOMAINS" ] && echo "  ✅ trueuserdomains file exists" || echo "  ⚠️ trueuserdomains file not found"
    [ -d "$SYS_CPANEL_USERDATA_DIR" ] && echo "  ✅ userdata directory exists" || echo "  ⚠️ userdata directory not found"
else
    echo "⚠️ cPanel not detected on this system (found: $SYS_CONTROL_PANEL)"
    echo "   cPanel variables are set but empty:"
    [ -z "$SYS_CPANEL_EAPHP_BASE" ] && echo "   ✅ SYS_CPANEL_EAPHP_BASE is empty (correct)"
fi

echo ""
echo "╔════════════════════════════════════════════════════════════════╗"
echo "║ Plesk PHP Version and Domain Variables                        ║"
echo "╚════════════════════════════════════════════════════════════════╝"

if [ "$SYS_CONTROL_PANEL" = "plesk" ]; then
    echo "✅ Plesk detected - testing Plesk-specific variables"
    echo ""
    echo "PHP Version Paths:"
    echo "  SYS_PLESK_PHP_BASE: $SYS_PLESK_PHP_BASE"
    echo "  SYS_PLESK_PHP_BINARY_PATTERN: $SYS_PLESK_PHP_BINARY_PATTERN"
    echo ""
    echo "PHP-FPM Socket:"
    echo "  SYS_PLESK_FPM_SOCKET_DIR: $SYS_PLESK_FPM_SOCKET_DIR"
    echo ""
    echo "Version Detection:"
    echo "  SYS_PLESK_LOG_STRUCTURE_VERSION: $SYS_PLESK_LOG_STRUCTURE_VERSION"
    echo ""
    echo "Domain Logs:"
    echo "  SYS_PLESK_DOMLOGS_PATTERN: $SYS_PLESK_DOMLOGS_PATTERN"
    
    # Verify
    [ -d "$SYS_PLESK_PHP_BASE" ] && echo "  ✅ Plesk PHP base directory exists" || echo "  ⚠️ Plesk PHP base directory not found"
else
    echo "⚠️ Plesk not detected on this system (found: $SYS_CONTROL_PANEL)"
    echo "   Plesk variables are set but empty:"
    [ -z "$SYS_PLESK_PHP_BASE" ] && echo "   ✅ SYS_PLESK_PHP_BASE is empty (correct)"
fi

echo ""
echo "╔════════════════════════════════════════════════════════════════╗"
echo "║ InterWorx PHP and Domain Variables                            ║"
echo "╚════════════════════════════════════════════════════════════════╝"

if [ "$SYS_CONTROL_PANEL" = "interworx" ]; then
    echo "✅ InterWorx detected - testing InterWorx-specific variables"
    echo ""
    echo "PHP Versions:"
    echo "  SYS_INTERWORX_PHP_SYSTEM: $SYS_INTERWORX_PHP_SYSTEM"
    echo "  SYS_INTERWORX_PHP_ALT_VERSIONS: $SYS_INTERWORX_PHP_ALT_VERSIONS"
    echo ""
    echo "Domain Paths:"
    echo "  SYS_INTERWORX_DOMAINS_BASE: $SYS_INTERWORX_DOMAINS_BASE"
    echo "  SYS_INTERWORX_DOMAIN_HTML: $SYS_INTERWORX_DOMAIN_HTML"
    echo "  SYS_INTERWORX_DOMAIN_LOGS: $SYS_INTERWORX_DOMAIN_LOGS"
    echo ""
    echo "Alternative Log Paths:"
    echo "  SYS_INTERWORX_VAR_LOGS_DIR: $SYS_INTERWORX_VAR_LOGS_DIR"
else
    echo "⚠️ InterWorx not detected on this system (found: $SYS_CONTROL_PANEL)"
    echo "   InterWorx variables are set but empty:"
    [ -z "$SYS_INTERWORX_PHP_SYSTEM" ] && echo "   ✅ SYS_INTERWORX_PHP_SYSTEM is empty (correct)"
fi

echo ""
echo "╔════════════════════════════════════════════════════════════════╗"
echo "║ Test Summary                                                   ║"
echo "╚════════════════════════════════════════════════════════════════╝"
echo ""
echo "✅ All new derivation functions loaded"
echo "✅ All new variables exported"
echo "✅ Platform-specific variables correctly populated"
echo ""
