import paramiko
import sys
import os

HOST = "135.125.102.180"
USER = "ubuntu"
PASS = "BotPascal2026!"

PHP_CODE = """<?php
require_once __DIR__ . '/../core/CsvHandler.php';
define('FILE_QUEUE', __DIR__ . '/../data/queue.csv');
define('FILE_SPAM', __DIR__ . '/../data/spam.csv');

echo "--- VERIFY MATCH LOGIC ---\\n";

// 1. Get Keywords
$keywords = [];
if (file_exists(FILE_SPAM)) {
    $rows = array_map('str_getcsv', file(FILE_SPAM));
    array_shift($rows);
    foreach ($rows as $r) {
        if (!empty($r[0])) $keywords[] = strtolower(trim($r[0]));
    }
}
echo "Keywords: " . implode(', ', $keywords) . "\\n";

// 2. Scan QUEUE
$queue = CsvHandler::read(FILE_QUEUE);
echo "Queue Size: " . count($queue) . "\\n";

$matches = 0;
foreach ($queue as $item) {
    $subject = strtolower($item['subject'] ?? '');
    $email = strtolower($item['email'] ?? '');
    $senderName = strtolower($item['sender_name'] ?? '');
    $body = strtolower($item['body'] ?? '');
    
    foreach ($keywords as $kw) {
        if (strpos($subject, $kw) !== false || 
            strpos($email, $kw) !== false || 
            strpos($senderName, $kw) !== false || 
            strpos($body, $kw) !== false) {
            
            echo "[MATCH] UID: " . $item['id'] . " | Keyword: $kw | Found In: ";
            if (strpos($subject, $kw) !== false) echo "Subject ";
            if (strpos($email, $kw) !== false) echo "Email ";
            if (strpos($senderName, $kw) !== false) echo "SenderName ";
            if (strpos($body, $kw) !== false) echo "Body ";
            echo "\\n";
            $matches++;
            break; 
        }
    }
}
echo "Total Matches: $matches\\n";
"""

def main():
    try:
        ssh = paramiko.SSHClient()
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh.connect(HOST, username=USER, password=PASS, banner_timeout=60)
        
        # Write PHP test file
        sftp = ssh.open_sftp()
        with open('test_match.php', 'w') as f:
            f.write(PHP_CODE)
        sftp.put('test_match.php', '/tmp/test_match.php')
        sftp.close()
        
        # Run it
        stdin, stdout, stderr = ssh.exec_command("php /tmp/test_match.php")
        print(stdout.read().decode())
        
        ssh.close()
        os.remove('test_match.php')
    except Exception as e:
        print(f"Error: {e}")

if __name__ == "__main__":
    main()
