/** * @param $extension * @param $action * @return \Illuminate\Http\RedirectResponse * @throws \Exception */ protected function doAction($extension, $action) { $extension = $this->getExtensionSlug($extension); if ($action == self::ACTION_UNINSTALL && Artificer::isCoreExtension($extension->namespace)) { throw new \Exception('Core extensions can not be uninstalled'); } $this->getManager()->installer()->{$action}($extension->namespace); return \Redirect::back(); }
/** * @param bool $outputCore */ public function outputRoutes($outputCore = false) { $installedPlugins = $this->installer()->getInstalled(); foreach ($installedPlugins as $extension) { $extensionInstance = $this->get($extension); $isCoreExtension = Artificer::isCoreExtension($extension); if ($isCoreExtension && $outputCore) { $extensionInstance->getRoutes(); } if (!$isCoreExtension && !$outputCore) { \Route::group(['prefix' => $extensionInstance->getSlug()], function () use($extensionInstance) { $extensionInstance->getRoutes(); }); } } }