registerFunction($moduleName, 'settings', function () use ($moduleName): array { return modules()->settings($moduleName); }); $mm->registerFunction($moduleName, 'instances', function () use ($moduleName): array { $settings = modules()->settings($moduleName); $apiPath = trim((string)($settings['api_path'] ?? '/admin/api.php')); if ($apiPath === '') { $apiPath = '/admin/api.php'; } if ($apiPath[0] !== '/') { $apiPath = '/' . $apiPath; } $timeout = (int)($settings['api_timeout_sec'] ?? 8); if ($timeout <= 0) { $timeout = 8; } $verifyTls = !isset($settings['verify_tls']) || $settings['verify_tls'] === '1' || $settings['verify_tls'] === 1 || $settings['verify_tls'] === true; $instances = []; foreach (['primary', 'secondary'] as $key) { $urlKey = $key . '_url'; $tokenKey = $key . '_token'; $nameKey = $key . '_name'; $url = trim((string)($settings[$urlKey] ?? '')); if ($url === '') { continue; } $instances[$key] = [ 'id' => $key, 'name' => trim((string)($settings[$nameKey] ?? '')) ?: ($key === 'primary' ? 'Primaer' : 'Sekundaer'), 'url' => rtrim($url, '/'), 'token' => trim((string)($settings[$tokenKey] ?? '')), 'api_path' => $apiPath, 'timeout' => $timeout, 'verify_tls' => $verifyTls, 'is_primary' => $key === 'primary', ]; } return $instances; }); $mm->registerFunction($moduleName, 'lists_primary_only', function () use ($moduleName): bool { $settings = modules()->settings($moduleName); return !empty($settings['lists_primary_only']); });