<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && isset($_POST['cliente_id'])) {
    $action = $_POST['action']; // "pausar" ou "ativar"
    $cliente_id = intval($_POST['cliente_id']);

    // Conectar ao banco de dados
    $db = new SQLite3('./api/.ansdb.db');

    // Verificar o status atual do cliente
    $stmt = $db->prepare("SELECT username, password, dns, type FROM ibo WHERE id = :id");
    $stmt->bindValue(':id', $cliente_id, SQLITE3_INTEGER);
    $result = $stmt->execute();
    $row = $result->fetchArray(SQLITE3_ASSOC);
    
    if ($row) {
        $currentType = $row['type'];
        
        if ($action == 'pausar' && $currentType == 'ativo') {
            // Salvar os dados em um arquivo JSON
            $data = [
                'username' => $row['username'],
                'password' => $row['password'],
                'dns' => $row['dns']
            ];
            file_put_contents("data/{$cliente_id}_backup.json", json_encode($data));

            // Limpar os dados no banco de dados
            $stmt = $db->prepare("UPDATE ibo SET type = 'pausado', username = '', password = '', dns = '' WHERE id = :id");
            $stmt->bindValue(':id', $cliente_id, SQLITE3_INTEGER);
            $stmt->execute();
            echo "Cliente pausado com sucesso!";
        } elseif ($action == 'ativar' && $currentType == 'pausado') {
            // Restaurar os dados do arquivo JSON
            $backupFile = "data/{$cliente_id}_backup.json";
            if (file_exists($backupFile)) {
                $backupData = json_decode(file_get_contents($backupFile), true);

                $stmt = $db->prepare("UPDATE ibo SET type = 'ativo', username = :username, password = :password, dns = :dns WHERE id = :id");
                $stmt->bindValue(':username', $backupData['username'], SQLITE3_TEXT);
                $stmt->bindValue(':password', $backupData['password'], SQLITE3_TEXT);
                $stmt->bindValue(':dns', $backupData['dns'], SQLITE3_TEXT);
                $stmt->bindValue(':id', $cliente_id, SQLITE3_INTEGER);
                $stmt->execute();
                echo "Cliente ativado com sucesso!";
            } else {
                echo "Erro: Não foi encontrado o backup para restaurar!";
            }
        }
    } else {
        echo "Cliente não encontrado!";
    }

    $db->close();
}
?>
