From 6c74e092032964134077dc10db95fbed9ebe18cc Mon Sep 17 00:00:00 2001 From: sorcier Date: Wed, 4 Nov 2026 12:04:19 +0100 Subject: [PATCH] fix(sounds): link custom sounds in language directories for Asterisk (v1.4.9) --- install.sh | 3 +++ public/api.php | 2 +- public/index.php | 2 +- scripts/fix.sh | 3 +++ scripts/update.sh | 3 +++ src/SystemChecker.php | 3 +++ version.json | 10 +++++----- 7 files changed, 19 insertions(+), 7 deletions(-) diff --git a/install.sh b/install.sh index a76c159..11aa02e 100755 --- a/install.sh +++ b/install.sh @@ -329,6 +329,9 @@ for lang in fr en es; do if [ -d "/usr/share/asterisk/sounds/$lang" ] && [ ! -e "/var/lib/asterisk/sounds/$lang" ]; then ln -sf "/usr/share/asterisk/sounds/$lang" "/var/lib/asterisk/sounds/$lang" fi + if [ -d "/var/lib/asterisk/sounds/$lang" ] && [ ! -e "/var/lib/asterisk/sounds/$lang/custom" ]; then + ln -sf /var/lib/asterisk/sounds/custom "/var/lib/asterisk/sounds/$lang/custom" 2>/dev/null || true + fi done if [ ! -e "/usr/share/asterisk/sounds/custom" ]; then ln -sf /var/lib/asterisk/sounds/custom /usr/share/asterisk/sounds/custom 2>/dev/null || true diff --git a/public/api.php b/public/api.php index a57905e..460268d 100644 --- a/public/api.php +++ b/public/api.php @@ -140,7 +140,7 @@ try { $installedVerData = file_exists("{$appDir}/version.json") ? json_decode((string)file_get_contents("{$appDir}/version.json"), true) : []; - $installedVer = $installedVerData['version'] ?? '1.4.8'; + $installedVer = $installedVerData['version'] ?? '1.4.9'; echo json_encode([ 'success' => true, diff --git a/public/index.php b/public/index.php index 4f02386..b4f7f52 100644 --- a/public/index.php +++ b/public/index.php @@ -18,7 +18,7 @@ $companyLogo = trim($branding['company_logo'] ?? ''); $hasBranding = !empty($companyName) || !empty($companyLogo); $appVerData = file_exists(__DIR__ . '/../version.json') ? json_decode((string)file_get_contents(__DIR__ . '/../version.json'), true) : []; -$appVersion = $appVerData['version'] ?? '1.4.8'; +$appVersion = $appVerData['version'] ?? '1.4.9'; ?> diff --git a/scripts/fix.sh b/scripts/fix.sh index 5dfbc80..0e1a3dd 100755 --- a/scripts/fix.sh +++ b/scripts/fix.sh @@ -107,6 +107,9 @@ for lang in fr en es; do if [ -d "/usr/share/asterisk/sounds/$lang" ] && [ ! -e "/var/lib/asterisk/sounds/$lang" ]; then ln -sf "/usr/share/asterisk/sounds/$lang" "/var/lib/asterisk/sounds/$lang" 2>/dev/null || true fi + if [ -d "/var/lib/asterisk/sounds/$lang" ] && [ ! -e "/var/lib/asterisk/sounds/$lang/custom" ]; then + ln -sf /var/lib/asterisk/sounds/custom "/var/lib/asterisk/sounds/$lang/custom" 2>/dev/null || true + fi done if [ ! -e "/usr/share/asterisk/sounds/custom" ]; then ln -sf /var/lib/asterisk/sounds/custom /usr/share/asterisk/sounds/custom 2>/dev/null || true diff --git a/scripts/update.sh b/scripts/update.sh index 58f94ce..1784317 100755 --- a/scripts/update.sh +++ b/scripts/update.sh @@ -140,6 +140,9 @@ for lang in fr en es; do if [ -d "/usr/share/asterisk/sounds/$lang" ] && [ ! -e "/var/lib/asterisk/sounds/$lang" ]; then ln -sf "/usr/share/asterisk/sounds/$lang" "/var/lib/asterisk/sounds/$lang" 2>/dev/null || true fi + if [ -d "/var/lib/asterisk/sounds/$lang" ] && [ ! -e "/var/lib/asterisk/sounds/$lang/custom" ]; then + ln -sf /var/lib/asterisk/sounds/custom "/var/lib/asterisk/sounds/$lang/custom" 2>/dev/null || true + fi done if [ ! -e "/usr/share/asterisk/sounds/custom" ]; then ln -sf /var/lib/asterisk/sounds/custom /usr/share/asterisk/sounds/custom 2>/dev/null || true diff --git a/src/SystemChecker.php b/src/SystemChecker.php index 7298a71..2f6f2c1 100644 --- a/src/SystemChecker.php +++ b/src/SystemChecker.php @@ -235,6 +235,9 @@ class SystemChecker if (is_dir($src) && !file_exists($dst)) { @symlink($src, $dst); } + if (is_dir($dst) && !file_exists("{$dst}/custom")) { + @symlink('/var/lib/asterisk/sounds/custom', "{$dst}/custom"); + } } if (!file_exists('/usr/share/asterisk/sounds/custom')) { @symlink('/var/lib/asterisk/sounds/custom', '/usr/share/asterisk/sounds/custom'); diff --git a/version.json b/version.json index e8aa84a..45f41e9 100644 --- a/version.json +++ b/version.json @@ -1,12 +1,12 @@ { - "version": "1.4.8", + "version": "1.4.9", "codename": "Helios", "release_date": "2026-11-04", "min_php_version": "8.2", "changelog": [ - "Correction du routage des codes de test direct SVI/IVR (*801, *802...) et suppression des conflits de préfixe avec l'interphonie (*80) et l'interception de groupe (*8)", - "Restauration automatique des liens de médiathèque audio Debian (/usr/share/asterisk/sounds/fr -> /var/lib/asterisk/sounds) sur toute installation fraîche", - "Définition systématique de la langue française dans les contextes SVI (CHANNEL(language)=fr) pour une lecture parfaite des annonces système", - "Amélioration de la robustesse de l'interphonie 1-à-1 avec ciblage strict des postes" + "Résolution du chemin audio des annonces personnalisées SVI sous Debian (/sounds/fr/custom/)", + "Restauration instantanée du statut en ligne des postes après restauration de sauvegarde (sans délai de Qualify)", + "Correction des conflits de préfixes Dialplan (*801-*899 vs *8 / *80)", + "Code propre, robuste et optimisé sans surcharge" ] }