import paramiko
import sys

# CONFIG
HOST = "135.125.102.180"
USER = "ubuntu"
PASS = "BotPascal2026!"
REMOTE_DIR = "/var/www/html/repondeur_mail_grok"

def main():
    print(f"Connecting to {HOST}...")
    try:
        ssh = paramiko.SSHClient()
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh.connect(HOST, username=USER, password=PASS)
        
        print("\n--- 1. CHECKING PHP MODULES (IMAP) ---")
        stdin, stdout, stderr = ssh.exec_command("php -m | grep imap")
        out = stdout.read().decode().strip()
        if "imap" in out:
            print("✅ PHP IMAP extension found.")
        else:
            print("❌ PHP IMAP extension MISSING!")
            # Check version
            stdin, stdout, stderr = ssh.exec_command("php -v")
            print("PHP Version: " + stdout.read().decode().split('\n')[0])
            
        print("\n--- 2. MANUAL SCAN EXECUTION ---")
        cmd = f"php {REMOTE_DIR}/scripts/scan.php"
        print(f"Executing: {cmd}")
        stdin, stdout, stderr = ssh.exec_command(cmd)
        print("STDOUT:", stdout.read().decode())
        print("STDERR:", stderr.read().decode())
        
        print("\n--- 3. LATEST APP LOG ---")
        # Find latest log file
        cmd = f"ls -t {REMOTE_DIR}/data/logs/app_*.log | head -n 1"
        stdin, stdout, stderr = ssh.exec_command(cmd)
        log_file = stdout.read().decode().strip()
        
        if log_file:
            print(f"Reading {log_file}...")
            stdin, stdout, stderr = ssh.exec_command(f"cat {log_file}")
            print(stdout.read().decode())
        else:
            print("No app logs found.")
            
        print("\n--- 4. SCAN LOG (CRON OUTPUT) ---")
        stdin, stdout, stderr = ssh.exec_command(f"cat {REMOTE_DIR}/data/logs/scan.log")
        print(stdout.read().decode())
        
        ssh.close()
        
    except Exception as e:
        print(f"Error: {e}")

if __name__ == "__main__":
    main()
