fix: fall back to manifest XML for base_url in Send Heartbeat

Hidden field defaults aren't in database params until plugin is
re-saved. Added same manifest XML fallback used for signing_key.
This commit is contained in:
Jonathan Miller
2026-06-06 22:34:49 -05:00
parent debe79df87
commit e2813d0290
@@ -101,6 +101,26 @@ class DisplayController extends BaseController
$params = new \Joomla\Registry\Registry($monitorPlugin->params);
$baseUrl = rtrim($params->get('base_url', ''), '/');
// Fall back to manifest XML default if not yet saved in params
if (empty($baseUrl))
{
$manifestFile = JPATH_PLUGINS . '/system/mokowaas_monitor/mokowaas_monitor.xml';
if (is_file($manifestFile))
{
$xml = simplexml_load_file($manifestFile);
if ($xml)
{
foreach ($xml->xpath('//field[@name="base_url"]') as $field)
{
$baseUrl = rtrim((string) $field['default'], '/');
break;
}
}
}
}
if (empty($baseUrl))
{
$this->jsonResponse(['success' => false, 'message' => 'MokoWaaSHQ URL not configured in monitor plugin.']);