diff --git a/app/music_on_hold/music_on_hold.php b/app/music_on_hold/music_on_hold.php
index 4f79e3647c..258a31fbe7 100644
--- a/app/music_on_hold/music_on_hold.php
+++ b/app/music_on_hold/music_on_hold.php
@@ -45,14 +45,21 @@
//get the music_on_hold array
$sql = "select * from v_music_on_hold ";
- $sql .= "where true ";
- 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 (!empty($show) && $show == "all" && permission_exists('music_on_hold_all')) {
+ $sql .= "where true ";
}
- elseif (permission_exists('music_on_hold_domain')) {
- $sql .= "and domain_uuid = :domain_uuid ";
- $parameters['domain_uuid'] = $_SESSION['domain_uuid'];
+ else {
+ $conditions = [];
+ $sql .= "where (";
+ if (permission_exists('music_on_hold_domain')) {
+ $conditions[] = "domain_uuid = :domain_uuid";
+ $parameters['domain_uuid'] = $_SESSION['domain_uuid'];
+ }
+ if (permission_exists('music_on_hold_global')) {
+ $conditions[] = "domain_uuid is null ";
+ }
+ $sql .= implode(" or ", $conditions);
+ $sql .= ")";
}
$sql .= "order by domain_uuid desc, music_on_hold_name asc, music_on_hold_rate asc";
$streams = $database->select($sql, $parameters ?? null, 'all');
@@ -327,36 +334,39 @@
//script
echo "";
@@ -376,7 +386,7 @@
echo "