public static function isInstalled() { if (!self::isExtensionDriverReady()) { return false; } $pluginManager = Artificer::pluginManager(); $widgetManager = Artificer::widgetManager(); foreach (Artificer::getCoreExtensions() as $coreExtension) { if (!$pluginManager->isInstalled($coreExtension) && !$widgetManager->isInstalled($coreExtension)) { return false; } } return true; }
protected function installCoreExtensions() { $pluginManager = Artificer::pluginManager(); $widgetManager = Artificer::widgetManager(); // Enable install events Artificer::pluginManager()->boot(); Artificer::widgetManager()->boot(); foreach (Artificer::getCoreExtensions() as $coreExtension) { if (!$pluginManager->isInstalled($coreExtension) && !$widgetManager->isInstalled($coreExtension)) { // Todo: know if its plugin or widget $installed = $pluginManager->installer()->install($coreExtension); if (!$installed) { throw new \Exception("Unable to install Artificer core extension {$coreExtension}"); } } } }