import paramiko
import os

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

def main():
    try:
        ssh = paramiko.SSHClient()
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh.connect(HOST, username=USER, password=PASS)
        
        # 1. Kill any PHP (Synchro)
        print("Stopping all PHP processes...")
        ssh.exec_command("sudo killall php")
        
        # 2. Deploy files (directly writing since scp has permissions issues with some dirs)
        # We need to write scan.php and CsvHandler.php
        
        # Helper to read local file
        def read_local(path):
            with open(path, 'r') as f:
                return f.read()
        
        def remote_write(ssh, remote_path, content):
            print(f"Writing to {remote_path}...")
            # Use sudo tee to bypass permissions if needed
            stdin, stdout, stderr = ssh.exec_command(f"sudo tee {remote_path} > /dev/null")
            stdin.write(content)
            stdin.channel.shutdown_write()
            err = stderr.read().decode()
            if err:
                print(f"Error writing {remote_path}: {err}")

        scan_content = read_local("/home/dan/Documents🤮/🔴2026🔴/🔴----ROBOT-WHATSAPP-MARCHE-GroK----🔴/✍️ REPONDEUR_MAIL_GROK/scripts/scan.php")
        csv_handler_content = read_local("/home/dan/Documents🤮/🔴2026🔴/🔴----ROBOT-WHATSAPP-MARCHE-GroK----🔴/✍️ REPONDEUR_MAIL_GROK/core/CsvHandler.php")
        action_content = read_local("/home/dan/Documents🤮/🔴2026🔴/🔴----ROBOT-WHATSAPP-MARCHE-GroK----🔴/✍️ REPONDEUR_MAIL_GROK/public/action.php")
        scan_loop_content = read_local("/home/dan/Documents🤮/🔴2026🔴/🔴----ROBOT-WHATSAPP-MARCHE-GroK----🔴/✍️ REPONDEUR_MAIL_GROK/scripts/scan_loop.php")
        
        remote_write(ssh, "/var/www/html/repondeur_mail_grok/scripts/scan.php", scan_content)
        remote_write(ssh, "/var/www/html/repondeur_mail_grok/core/CsvHandler.php", csv_handler_content)
        remote_write(ssh, "/var/www/html/repondeur_mail_grok/public/action.php", action_content)
        remote_write(ssh, "/var/www/html/repondeur_mail_grok/scripts/scan_loop.php", scan_loop_content)
        
        # 3. Final Deduplicate
        print("Running final deduplication...")
        # Need to upload the deduplicate script if not there
        dedup_content = read_local("/home/dan/Documents🤮/🔴2026🔴/🔴----ROBOT-WHATSAPP-MARCHE-GroK----🔴/✍️ REPONDEUR_MAIL_GROK/scripts/deduplicate_content.php")
        remote_write(ssh, "/var/www/html/repondeur_mail_grok/scripts/deduplicate_content.php", dedup_content)
        
        stdin, stdout, stderr = ssh.exec_command("php /var/www/html/repondeur_mail_grok/scripts/deduplicate_content.php")
        print(stdout.read().decode())
        
        ssh.close()
        print("--- DONE ---")
    except Exception as e:
        print(f"Critical error: {e}")

if __name__ == "__main__":
    main()
