slug); $this->plugins[$info->slug] = $info; } /** * Return all registered PluginLicenseInfo objects, keyed by slug. * * @return PluginLicenseInfo[] */ public function all() : array { // Refactor old licensing plugin integration $old_plugins = []; $handlers = ['YayMailScoped\\YAYDP\\License\\License_Handler', 'YayMailScoped\\YayMail\\License\\LicenseHandler', 'YayMailScoped\\Yay_Currency\\License\\LicenseHandler', 'YayMailScoped\\Yay_Swatches\\License\\LicenseHandler', 'YayMailScoped\\YayExtra\\License\\LicenseHandler', 'YayMailScoped\\YayRev\\License\\LicenseHandler', 'YayMailScoped\\YayWholesaleB2B\\License\\LicenseHandler', 'YayMailScoped\\YaySMTP\\License\\LicenseHandler']; foreach ($handlers as $handler) { if (\class_exists($handler) && \method_exists($handler, 'get_licensing_plugins')) { $plugins = $handler::get_licensing_plugins(); if (\is_array($plugins)) { $old_plugins = \array_merge($old_plugins, $plugins); } } } return \array_merge($this->plugins, $old_plugins); } /** * Return a single PluginLicenseInfo by slug, or null if not registered. */ public function get(string $slug) : ?PluginLicenseInfo { return $this->plugins[$slug] ?? null; } /** * Check if a slug is registered. */ public function has(string $slug) : bool { return isset($this->plugins[$slug]); } }