<?php
// ─────────────────────────────────────────────
// api/save-kurzbio.php
//
// Speichert den editierten Bio-Text aus dem HQ.
// POST {client_id: int, inhalt: string}
// ─────────────────────────────────────────────

require_once __DIR__ . '/../includes/config.php';
require_once __DIR__ . '/../includes/db.php';
require_once __DIR__ . '/../includes/kurzbio.php';

c2c_cors_headers();
require_api_token();

$body = json_decode(file_get_contents('php://input'), true) ?: [];
$clientId = (int)($body['client_id'] ?? 0);
$inhalt   = trim($body['inhalt'] ?? '');

if (!$clientId)        json_response(['error' => 'client_id fehlt'], 422);
if (empty($inhalt))    json_response(['error' => 'Inhalt ist leer'], 422);

$bio = C2CKurzbio::getCurrent($clientId);
if (!$bio) {
    json_response(['error' => 'Keine Kurzbio vorhanden'], 404);
}

try {
    $db = C2CDatabase::get();
    $db->prepare("UPDATE kurzbiographien SET inhalt = ? WHERE id = ?")
       ->execute([$inhalt, $bio['id']]);

    if (function_exists('logAktivitaet')) {
        logAktivitaet('kurzbio_redigiert', $clientId,
            "Bio v{$bio['version']} manuell bearbeitet");
    }

    json_response([
        'success'    => true,
        'kurzbio_id' => $bio['id'],
        'version'    => $bio['version'],
        'length'     => mb_strlen($inhalt),
    ]);

} catch (Throwable $e) {
    error_log("save-kurzbio: " . $e->getMessage());
    json_response(['error' => $e->getMessage()], 500);
}
