pluginModel->getAllPluginsConfig(); $pluginMetadata = $this->pluginModel->getPluginsMetadata(); $installedPlugins = $this->pluginModel->getInstalledPlugins(); $installedPluginTables = $this->pluginModel->getInstalledPluginTables($pluginMetadata); $installedPluginsSchemas = $this->pluginModel->createPluginSchemas($installedPluginTables); $disabledPlugins = $this->reloadHelper->disableMissingPlugins($plugins, $installedPlugins); $enabledPlugins = $this->reloadHelper->enableFoundPlugins($plugins, $installedPlugins); $updatedPlugins = $this->reloadHelper->updatePlugins($plugins, $installedPlugins, $pluginMetadata, $installedPluginsSchemas); $installedPlugins = $this->reloadHelper->installPlugins($plugins, $installedPlugins, $pluginMetadata, $installedPluginsSchemas); $persist = array_values((array) ($disabledPlugins + $enabledPlugins + $updatedPlugins + $installedPlugins)); $this->pluginModel->saveEntities($persist); // Alert the user to the number of additions return $this->translator->trans( 'mautic.plugin.notice.reloaded', [ '%added%' => count($installedPlugins), '%disabled%' => count($disabledPlugins), '%updated%' => count($updatedPlugins), ], 'flashes' ); } }