<?php
// Export NDA records to JSON for local viewing

$dbPath = __DIR__ . '/private/aha_training.db';
$outputDir = __DIR__ . '/nda-exports';
$outputFile = $outputDir . '/nda-records.json';
$messagesFile = $outputDir . '/contact-messages.json';
$ndaFilesDir = $outputDir . '/signed-ndas';
$sourceNdaDir = __DIR__ . '/private/nda_records';

// Create output directories
if (!is_dir($outputDir)) {
    mkdir($outputDir, 0755, true);
}
if (!is_dir($ndaFilesDir)) {
    mkdir($ndaFilesDir, 0755, true);
}

// Connect to database
try {
    $db = new SQLite3($dbPath);
} catch (Exception $e) {
    die("Database error: " . $e->getMessage() . "\n");
}

// Export NDA records
$result = $db->query("
    SELECT
        id,
        name,
        email,
        signature_type,
        datetime(signed_at, 'localtime') as signed_at,
        ip_address,
        location,
        pdf_path,
        substr(nda_hash, 1, 16) || '...' as nda_hash_short
    FROM nda_records
    ORDER BY signed_at DESC
");

$records = [];
while ($row = $result->fetchArray(SQLITE3_ASSOC)) {
    $records[] = $row;
}

$ndaData = [
    'last_updated' => gmdate('Y-m-d\TH:i:s\Z'),
    'total_records' => count($records),
    'records' => $records
];

file_put_contents($outputFile, json_encode($ndaData, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES));

// Export contact messages
$result = $db->query("
    SELECT
        id,
        name,
        email,
        message,
        datetime(created_at, 'localtime') as created_at,
        ip_address,
        read_status
    FROM contact_messages
    ORDER BY created_at DESC
");

$messages = [];
while ($row = $result->fetchArray(SQLITE3_ASSOC)) {
    $messages[] = $row;
}

$messagesData = [
    'last_updated' => gmdate('Y-m-d\TH:i:s\Z'),
    'total_messages' => count($messages),
    'messages' => $messages
];

file_put_contents($messagesFile, json_encode($messagesData, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES));

// Copy NDA HTML files with signatures
$copiedFiles = 0;
if (is_dir($sourceNdaDir)) {
    $ndaFiles = glob($sourceNdaDir . '/*.html');
    foreach ($ndaFiles as $sourceFile) {
        $filename = basename($sourceFile);
        $destFile = $ndaFilesDir . '/' . $filename;

        // Only copy if file doesn't exist or source is newer
        if (!file_exists($destFile) || filemtime($sourceFile) > filemtime($destFile)) {
            if (copy($sourceFile, $destFile)) {
                $copiedFiles++;
            }
        }
    }
}

$db->close();

echo "✓ NDA records exported to $outputFile\n";
echo "✓ Contact messages exported to $messagesFile\n";
echo "✓ NDA HTML files synced to $ndaFilesDir\n";
echo "  - Total NDAs: " . count($records) . "\n";
echo "  - Total Messages: " . count($messages) . "\n";
echo "  - NDA Files Copied: $copiedFiles\n";
