From 2c30e7bcbc127763bda13a015c64e22ea6193d82 Mon Sep 17 00:00:00 2001 From: fusionate Date: Tue, 27 Jan 2026 09:03:03 -0700 Subject: [PATCH] Music On Hold - List: Fix waveform for non-default audio files. --- app/music_on_hold/music_on_hold.php | 2 +- .../resources/classes/switch_music_on_hold.php | 2 +- app/music_on_hold/waveform.php | 9 +++------ 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/app/music_on_hold/music_on_hold.php b/app/music_on_hold/music_on_hold.php index b7cc50bc3b..0153f0f548 100644 --- a/app/music_on_hold/music_on_hold.php +++ b/app/music_on_hold/music_on_hold.php @@ -594,7 +594,7 @@ echo " ".escape($stream_file)."\n"; echo " "; echo ""; - echo button::create(['type'=>'button','title'=>$text['label-play'].' / '.$text['label-pause'],'icon'=>$settings->get('theme', 'button_icon_play'),'id'=>'recording_button_'.$row_uuid,'onclick'=>"recording_play('".$row_uuid."','".urlencode($stream_file)."');"]); + echo button::create(['type'=>'button','title'=>$text['label-play'].' / '.$text['label-pause'],'icon'=>$settings->get('theme', 'button_icon_play'),'id'=>'recording_button_'.$row_uuid,'onclick'=>"recording_play('".$row_uuid."','".urlencode($stream_file)."&moh_id=".urlencode($row['music_on_hold_uuid'])."');"]); echo button::create(['type'=>'button','title'=>$text['label-download'],'icon'=>$settings->get('theme', 'button_icon_download'),'link'=>"?action=download&id=".urlencode($row['music_on_hold_uuid'])."&file=".urlencode($stream_file)]); echo " \n"; echo " ".escape($stream_file_size)."\n"; diff --git a/app/music_on_hold/resources/classes/switch_music_on_hold.php b/app/music_on_hold/resources/classes/switch_music_on_hold.php index 7a56025c5b..6e24bdb125 100644 --- a/app/music_on_hold/resources/classes/switch_music_on_hold.php +++ b/app/music_on_hold/resources/classes/switch_music_on_hold.php @@ -403,7 +403,7 @@ class switch_music_on_hold { $sql .= "and (domain_uuid = :domain_uuid " . (permission_exists('music_on_hold_global') ? "or domain_uuid is null " : null) . ") "; $parameters['domain_uuid'] = $this->domain_uuid; } - $rows = $this->database->select($sql, $parameters, 'all'); + $rows = $this->database->select($sql, $parameters ?? null, 'all'); if (is_array($rows) && @sizeof($rows) != 0) { foreach ($rows as $row) { $streams[$row['music_on_hold_uuid']] = $row; diff --git a/app/music_on_hold/waveform.php b/app/music_on_hold/waveform.php index 036b7ea99f..56c1ed7309 100644 --- a/app/music_on_hold/waveform.php +++ b/app/music_on_hold/waveform.php @@ -40,19 +40,16 @@ } //create the waveform file - if (is_uuid($_GET['id']) && !empty($_GET['data'])) { + if (is_uuid($_GET['id']) && is_uuid($_GET['moh_id']) && !empty($_GET['data'])) { //get the music_on_hold array $sql = "select music_on_hold_path from v_music_on_hold "; - $sql .= "where music_on_hold_uuid = :id "; + $sql .= "where music_on_hold_uuid = :moh_id "; if (!permission_exists('music_on_hold_all')) { $sql .= "and (domain_uuid = :domain_uuid or domain_uuid is null) "; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; } - if (permission_exists('music_on_hold_domain')) { - $sql .= "or domain_uuid is null "; - } - $parameters['id'] = $_GET['id']; + $parameters['moh_id'] = $_GET['moh_id']; $stream_path = $database->select($sql, $parameters ?? null, 'column'); unset($sql, $parameters);