Compare commits
5
Commits
dev
..
08d3996648
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
08d3996648 | ||
|
|
56be0ab37a | ||
|
|
d49520aecb | ||
|
|
8efeec66ca | ||
|
|
91716e5233 |
No files matched your search
@@ -6330,12 +6330,7 @@ async function checkSystemUpdate(notify = false) {
|
||||
if (pingDot) pingDot.classList.remove('hidden');
|
||||
|
||||
if (changelogList && Array.isArray(data.changelog) && data.changelog.length > 0) {
|
||||
changelogList.innerHTML = data.changelog.flatMap(item => {
|
||||
if (item && typeof item === 'object' && Array.isArray(item.changes)) {
|
||||
return item.changes.map(c => `<li>${escapeHtml(String(c))}</li>`);
|
||||
}
|
||||
return [`<li>${escapeHtml(String(item ?? ''))}</li>`];
|
||||
}).join('');
|
||||
changelogList.innerHTML = data.changelog.map(item => `<li>${escapeHtml(item)}</li>`).join('');
|
||||
if (changelogContainer) changelogContainer.classList.remove('hidden');
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -95,14 +95,12 @@ class PhonebookManager
|
||||
$existing = $findStmt->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
if ($existing) {
|
||||
$existingEmail = trim((string)($existing['email'] ?? ''));
|
||||
$finalEmail = $existingEmail !== '' ? $existingEmail : $email;
|
||||
$updateStmt->execute([
|
||||
':id' => (int)$existing['id'],
|
||||
':ext_id' => $extId,
|
||||
':name' => $extName,
|
||||
':num' => $extNum,
|
||||
':email' => $finalEmail,
|
||||
':email' => $email,
|
||||
':grp' => $group,
|
||||
]);
|
||||
} else {
|
||||
|
||||
+23
-6
@@ -1,14 +1,31 @@
|
||||
{
|
||||
"version": "2.7.3",
|
||||
"version": "2.7.1",
|
||||
"codename": "Pulsar UCP",
|
||||
"release_date": "2026-11-12",
|
||||
"min_php_version": "8.2",
|
||||
"changelog": [
|
||||
"Correctif v2.7.3 : conservation de l'adresse email renseignée sur un contact interne de l'Annuaire lors de la synchronisation des postes",
|
||||
"Correctif v2.7.2 : formatage uniforme du changelog dans version.json (suppression de [object Object] dans la fiche de mise à jour)",
|
||||
"Correctif v2.7.1 : suppression de l'erreur Nginx 502 transitoire après mise à jour 1-Clic (pause du polling métriques, sonde multi-essais avant rechargement)",
|
||||
"Nouveauté v2.7.0 : logo spécifique optionnel pour le portail UCP (thème clair), avec repli automatique sur le logo principal puis NexusPBX",
|
||||
"UI v2.6.7 : remplacement de l'ensemble des icônes emoji par des icônes vectorielles SVG uniformes sur Admin & UCP (sans modifier le menu latéral Admin)",
|
||||
{
|
||||
"version": "2.7.1",
|
||||
"date": "2026-11-12",
|
||||
"changes": [
|
||||
"Mise à jour 1-Clic : Suppression de l'erreur Nginx 502 transitoire après mise à jour (pause du polling métriques, attente du reload PHP-FPM/Nginx avec sonde multi-essais avant rechargement de la page, fermeture stdin dans update.sh)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"version": "2.7.0",
|
||||
"date": "2026-11-12",
|
||||
"changes": [
|
||||
"Branding UCP : Ajout d'un logo spécifique optionnel pour le portail UCP (thème clair), avec repli automatique sur le logo principal puis sur le logo NexusPBX par défaut"
|
||||
]
|
||||
},
|
||||
{
|
||||
"version": "2.6.7",
|
||||
"date": "2026-11-12",
|
||||
"changes": [
|
||||
"UI Admin & UCP : Remplacement de l'ensemble des icônes emoji par des icônes vectorielles SVG uniformes (style Heroicons), sans modifier le menu latéral Admin",
|
||||
"Correction d'un problème de syntaxe JS sur le badge d'avertissement TLS dans app.js"
|
||||
]
|
||||
},
|
||||
"UI v2.6.6 : menu déroulant personnalisé sombre avec icônes SVG Heroicons pour toutes les destinations d'appel (sans emojis natifs)",
|
||||
"UI v2.6.5 : refonte des intitulés de destinations audio (Musique d'attente & Annonce vocale en boucle continue), nouveau wallpaper clair UCP et placeholder générique",
|
||||
"Correctif v2.6.4 : prise en charge multi-groupes dans l'annuaire UCP & Admin (un poste appartenant à plusieurs groupes apparaît bien dans chacun des onglets correspondants)",
|
||||
|
||||
Reference in new issue
Block a user