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 "