From b8322fc07c87fd95f20417feee03e10ba06e96cb Mon Sep 17 00:00:00 2001 From: Alex <40072887+alexdcrane@users.noreply.github.com> Date: Mon, 22 Dec 2025 13:40:34 -0700 Subject: [PATCH] Fix deleting music on hold thats on a different domain (#7670) --- .../resources/classes/switch_music_on_hold.php | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) 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 220c60b06c..7a56025c5b 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 @@ -397,11 +397,13 @@ class switch_music_on_hold { if (is_array($moh) && @sizeof($moh) != 0) { //get music on hold details - $sql = "select * from v_music_on_hold "; - $sql .= "where (domain_uuid = :domain_uuid " . (!permission_exists('music_on_hold_domain') ? "" : "or domain_uuid is null ") . ") "; - $sql .= "and music_on_hold_uuid in ('" . implode("','", array_keys($moh)) . "') "; - $parameters['domain_uuid'] = $this->domain_uuid; - $rows = $this->database->select($sql, $parameters, 'all'); + $sql = "select * from v_music_on_hold "; + $sql .= "where music_on_hold_uuid in ('" . implode("','", array_keys($moh)) . "') "; + if (!permission_exists('music_on_hold_all')) { + $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'); if (is_array($rows) && @sizeof($rows) != 0) { foreach ($rows as $row) { $streams[$row['music_on_hold_uuid']] = $row;