fix(ucp,ha): auto-déploiement UCP, check SQLite PDO/SQLite3::backup HA, refresh comptes UCP (v2.5.1)

This commit is contained in:
sorcier committed 2026-11-11 19:31:32 +01:00
1 parent 72e43f1a9a
commit c96af67ac9
11 files changed
+201 -76

No files matched your search

+23 -8
View File
@@ -133,6 +133,9 @@ try {
switch ($action) {
case 'get_state':
try {
FirewallManager::ensureUcpDeployed();
} catch (\Throwable) {}
$settings = $db->query('SELECT * FROM settings WHERE id = 1')->fetch();
$extensions = $db->query('SELECT * FROM extensions ORDER BY CAST(extension AS INTEGER) ASC, extension ASC')->fetchAll();
$groups = $db->query('SELECT * FROM groups ORDER BY CAST(extension AS INTEGER) ASC, extension ASC')->fetchAll();
@@ -1920,6 +1923,11 @@ try {
$ami = AmiClient::fromDatabase($db);
$reloadInfo = $ami->reloadPjsipAndDialplan();
// S'assurer que le VHost UCP & Fail2ban UCP sont déployés même après un git pull manuel
try {
FirewallManager::ensureUcpDeployed();
} catch (\Throwable) {}
// Actualisation de l'horodatage de modification en base pour la réconciliation cluster
try {
$db->exec("UPDATE cluster_settings SET updated_at = CURRENT_TIMESTAMP WHERE id = 1");
@@ -2454,18 +2462,24 @@ try {
break;
case 'get_ucp_users':
try {
FirewallManager::ensureUcpDeployed();
} catch (\Throwable) {}
$users = UcpManager::listUsers($db);
echo json_encode([
'success' => true,
'users' => UcpManager::listUsers($db),
'success' => true,
'users' => $users,
'ucp_users' => $users,
]);
break;
case 'save_ucp_user':
$users = UcpManager::saveUser($db, $payload);
echo json_encode([
'success' => true,
'users' => $users,
'message' => 'Compte utilisateur UCP enregistré avec succès.',
'success' => true,
'users' => $users,
'ucp_users' => $users,
'message' => 'Compte utilisateur UCP enregistré avec succès.',
]);
break;
@@ -2473,9 +2487,10 @@ try {
$uid = (int)($payload['id'] ?? 0);
$users = UcpManager::deleteUser($db, $uid);
echo json_encode([
'success' => true,
'users' => $users,
'message' => 'Compte utilisateur UCP supprimé.',
'success' => true,
'users' => $users,
'ucp_users' => $users,
'message' => 'Compte utilisateur UCP supprimé.',
]);
break;
+2 -2
View File
@@ -7017,7 +7017,7 @@ async function saveUcpUser(event) {
try {
const res = await apiCall('save_ucp_user', payload);
appState.ucp_users = res.ucp_users || [];
appState.ucp_users = res.ucp_users || res.users || [];
renderUcpTab();
const ucpBadge = document.getElementById('nav-badge-ucp');
if (ucpBadge) ucpBadge.textContent = appState.ucp_users.length;
@@ -7036,7 +7036,7 @@ async function deleteUcpUser(userId, username) {
}
try {
const res = await apiCall('delete_ucp_user', { id: Number(userId) });
appState.ucp_users = res.ucp_users || [];
appState.ucp_users = res.ucp_users || res.users || [];
renderUcpTab();
const ucpBadge = document.getElementById('nav-badge-ucp');
if (ucpBadge) ucpBadge.textContent = appState.ucp_users.length;