<?php
/**
 * Fichier  : ldap_sync.php
 * Auteur   : KREMER Régis
 * Version  : 2.6.102
 * Date     : 2026-07-21
 * Description : Synchronisation CLI des comptes LDAP déjà provisionnés dans MageStock.
 * Usage : php /chemin/vers/magestock/ldap_sync.php
 */
if (PHP_SAPI !== 'cli') {
    http_response_code(403);
    exit('Accès CLI uniquement.');
}
require_once __DIR__ . '/config.php';
require_once __DIR__ . '/includes/ldap-helper.php';

try {
    $cfg = magestockLdapReadConfig();
    if (!($cfg['enabled'] ?? false) || ($cfg['mode'] ?? 'local') === 'local') {
        fwrite(STDERR, "LDAP est désactivé dans MageStock.\n");
        exit(2);
    }
    $result = magestockLdapSyncKnownUsers(null);
    echo json_encode(['ok'=>true,'date'=>date('c')]+$result, JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES) . PHP_EOL;
    exit(count($result['errors'] ?? []) ? 1 : 0);
} catch (MageStockLdapException $e) {
    fwrite(STDERR, "LDAP: {$e->reasonCode} — {$e->publicMessage}\n");
    exit(3);
} catch (Throwable $e) {
    error_log('[MageStock LDAP CLI] ' . $e->getMessage());
    fwrite(STDERR, "Erreur de synchronisation LDAP.\n");
    exit(4);
}
