> service → [panelKey => title] */ private static $resolved = []; /** * Return the saved custom title for a panel of a module, or null when the * module has no panel-label service / the panel was never customised. * * @param string $languageFile module language namespace, e.g. "leads::leads" * @param string $panelName panel key, e.g. "lead_information" * @return string|null */ public static function overrideFor(string $languageFile, string $panelName) { $map = (array) config('crm_field_settings.panel_label_services', []); $serviceClass = $map[$languageFile] ?? null; if (!is_string($serviceClass) || !class_exists($serviceClass)) { return null; } if (!array_key_exists($serviceClass, self::$resolved)) { $user = auth()->user(); self::$resolved[$serviceClass] = $user !== null ? app($serviceClass)->getPanelLabelOverrides($user) : []; } $overrides = self::$resolved[$serviceClass]; if (array_key_exists($panelName, $overrides)) { $title = trim((string) $overrides[$panelName]); if ($title !== '') { return $title; } } return null; } }