From 91235cd28a22dfb0cd2b7bceeef61ae776a6876b Mon Sep 17 00:00:00 2001 From: Tom Ray Date: Thu, 1 Jan 2026 16:42:01 +0000 Subject: [PATCH 1/2] Adds check for new BMO style method doCheckExtensions --- .../admin/libraries/BMO/Extensions.class.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/amp_conf/htdocs/admin/libraries/BMO/Extensions.class.php b/amp_conf/htdocs/admin/libraries/BMO/Extensions.class.php index d37a9d59ea..5cb7829a7f 100644 --- a/amp_conf/htdocs/admin/libraries/BMO/Extensions.class.php +++ b/amp_conf/htdocs/admin/libraries/BMO/Extensions.class.php @@ -47,7 +47,20 @@ public function checkUsage($exten=true, $report_conflicts=true) { } foreach(array_keys($module_hash) as $mod) { - $function = $mod."_check_extensions"; + $function = $mod."_check_extensions"; + $name = ucfirst($mod); + // Check for BMO style hook method in module replacing the legacy function check + // copyright 2026 Applied Messaging Inc + if (method_exists("FreePBX\\modules\\" . $name, "doCheckExtensions")) { + modgettext::push_textdomain($mod); + $module_usage = $this->FreePBX->$name->doCheckExtensions($exten); + if (!empty($module_usage)) { + $exten_usage[$mod] = $module_usage; + } + modgettext::pop_textdomain(); + } + + if (function_exists($function)) { modgettext::push_textdomain($mod); $module_usage = $function($exten); From f1a2642297939d2f2c5d2506b217d01e4495d303 Mon Sep 17 00:00:00 2001 From: Tom Ray Date: Thu, 1 Jan 2026 16:45:41 +0000 Subject: [PATCH 2/2] Adds check for new BMO style method doCheckExtensions --- amp_conf/htdocs/admin/libraries/BMO/Extensions.class.php | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/amp_conf/htdocs/admin/libraries/BMO/Extensions.class.php b/amp_conf/htdocs/admin/libraries/BMO/Extensions.class.php index 5cb7829a7f..5c1140085c 100644 --- a/amp_conf/htdocs/admin/libraries/BMO/Extensions.class.php +++ b/amp_conf/htdocs/admin/libraries/BMO/Extensions.class.php @@ -58,10 +58,7 @@ public function checkUsage($exten=true, $report_conflicts=true) { $exten_usage[$mod] = $module_usage; } modgettext::pop_textdomain(); - } - - - if (function_exists($function)) { + } else if (function_exists($function)) { modgettext::push_textdomain($mod); $module_usage = $function($exten); if (!empty($module_usage)) {