[ 'libelle' => 'Dialogue de test collaborateur (collaborateur_dialogue.php)', 'texte' => << [ 'libelle' => 'Agent de mission (mission_agent.php)', 'texte' => << [ 'libelle' => 'Interprétation vocale de contact (contact_ia_interprete.php)', 'texte' => << [ 'libelle' => 'Complétion IA du code postal (consignes_fonctions.php, consigne_completer_code_postal)', 'texte' => <<prepare('SELECT PMT_Texte FROM ASP_Prompts WHERE PMT_Code = ?'); $stmt->execute([$code]); $texte = $stmt->fetchColumn(); if ($texte === false) { if (!isset(PROMPTS_PAR_DEFAUT[$code])) { throw new RuntimeException("Prompt inconnu, ni en base ni de valeur par défaut : $code"); } $defaut = PROMPTS_PAR_DEFAUT[$code]; $pdo->prepare('INSERT INTO ASP_Prompts (PMT_Code, PMT_Libelle, PMT_Texte) VALUES (?, ?, ?)') ->execute([$code, $defaut['libelle'], $defaut['texte']]); $texte = $defaut['texte']; } return strtr((string) $texte, $remplacements); } /** * Crée en base, avec son texte par défaut, chaque prompt de PROMPTS_PAR_DEFAUT * pas encore présent dans ASP_Prompts — appelée par prompts.php (GET) pour * que le BO liste toujours les quatre prompts, même avant le tout premier * essai réel de chacun (qui, seul, amorcerait sinon sa ligne via * chargerPromptSysteme() ci-dessus). */ function amorcerPromptsManquants(PDO $pdo): void { $existants = $pdo->query('SELECT PMT_Code FROM ASP_Prompts')->fetchAll(PDO::FETCH_COLUMN); foreach (PROMPTS_PAR_DEFAUT as $code => $defaut) { if (in_array($code, $existants, true)) { continue; } $pdo->prepare('INSERT INTO ASP_Prompts (PMT_Code, PMT_Libelle, PMT_Texte) VALUES (?, ?, ?)') ->execute([$code, $defaut['libelle'], $defaut['texte']]); } }