/** * construct. * * @param \Illuminate\Contracts\Mail\Mailer $mailer * @param \Illuminate\Filesystem\Filesystem $filesystem * @param \Illuminate\Contracts\View\Factory $viewFactory */ public function __construct(MailerContract $mailer, Filesystem $filesystem, ViewFactory $viewFactory) { $this->mailer = $mailer; $this->filesystem = $filesystem; $this->viewFactory = $viewFactory; $this->viewFactory->addNamespace($this->viewNamespace, $this->storagePath()); }
/** * Bootstrap the application services. */ public function boot(Router $router, ViewFactory $view) { $view->addNamespace('admin', resource_path('views/admin')); // route model binding for admin routes $router->model('content_page', Page::class); $this->bootAdminRoutes($router); }
/** * boot. * * @method boot * * @param \Illuminate\Contracts\View\Factory $viewFactory * @param \Illuminate\Routing\Router $router */ public function boot(ViewFactory $viewFactory, Router $router) { $viewFactory->addNamespace('payum', __DIR__ . '/../resources/views'); $config = $this->app['config']['payum']; $this->handleRoutes($router, $config); if ($this->app->runningInConsole() === true) { $this->handlePublishes(); } }
/** * Register an addon. * * @param $path * @param $enabled * @param $installed */ public function register($path, array $enabled, array $installed) { if (!is_dir($path)) { return; } $vendor = strtolower(basename(dirname($path))); $slug = strtolower(substr(basename($path), 0, strpos(basename($path), '-'))); $type = strtolower(substr(basename($path), strpos(basename($path), '-') + 1)); $class = studly_case($vendor) . '\\' . studly_case($slug) . studly_case($type) . '\\' . studly_case($slug) . studly_case($type); /* @var Addon|Module|Extension|Twig_ExtensionInterface $addon */ $addon = app($class)->setPath($path)->setType($type)->setSlug($slug)->setVendor($vendor); // If the addon supports states - set the state now. if ($addon->getType() === 'module' || $addon->getType() === 'extension') { $addon->setInstalled(in_array($addon->getNamespace(), $installed)); $addon->setEnabled(in_array($addon->getNamespace(), $enabled)); } // Bind to the service container. $this->container->alias($addon->getNamespace(), $alias = get_class($addon)); $this->container->instance($alias, $addon); // Load package configuration. $this->configurator->addNamespace($addon->getNamespace(), $addon->getPath('resources/config')); // Load system overrides. $this->configurator->addNamespaceOverrides($addon->getNamespace(), base_path('resources/addons/' . $addon->getVendor() . '/' . $addon->getSlug() . '-' . $addon->getType())); // Load application overrides. $this->configurator->addNamespaceOverrides($addon->getNamespace(), $this->application->getResourcesPath('addons/' . $addon->getVendor() . '/' . $addon->getSlug() . '-' . $addon->getType() . '/config')); // Continue loading things. $this->provider->register($addon); // Add the view / translation namespaces. $this->views->addNamespace($addon->getNamespace(), $addon->getPath('resources/views')); $this->translator->addNamespace($addon->getNamespace(), $addon->getPath('resources/lang')); /* * If the addon is a plugin then * load it into Twig when appropriate. */ if ($addon->getType() === 'plugin') { $this->events->listen('Anomaly\\Streams\\Platform\\View\\Event\\RegisteringTwigPlugins', function (RegisteringTwigPlugins $event) use($addon) { $twig = $event->getTwig(); $twig->addExtension($addon); }); } $this->collection->put($addon->getNamespace(), $addon); $this->events->fire(new AddonWasRegistered($addon)); }
/** * Detect the active theme and set up * our environment with it. */ public function handle() { $admin = $this->themes->get($this->config->get('streams::themes.admin')); $standard = $this->themes->get($this->config->get('streams::themes.standard')); if ($admin) { $admin->setActive(true); } if ($standard) { $standard->setActive(true); } if ($admin && in_array($this->request->segment(1), ['installer', 'admin'])) { $admin->setCurrent(true); } elseif ($standard) { $standard->setCurrent(true); } if ($theme = $this->themes->current()) { $this->view->addNamespace('theme', $theme->getPath('resources/views')); $this->translator->addNamespace('theme', $theme->getPath('resources/lang')); $this->asset->addPath('theme', $theme->getPath('resources')); $this->image->addPath('theme', $theme->getPath('resources')); } }
/** * 플러그인의 view namespace를 지정한다. * * @param PluginEntity $entity 플러그인 * * @return void */ private function registerViewNamespace(PluginEntity $entity) { $this->viewFactory->addNamespace($entity->getId(), $this->pluginsDir . '/' . $entity->getId()); }
/** * @param Factory $viewFactory */ public function __construct(Factory $viewFactory) { $this->viewFactory = $viewFactory; $this->viewFactory->addNamespace('mitchell', realpath(__DIR__ . '/templates/mitchell')); $this->viewFactory->addNamespace('laraveldoctrine', realpath(__DIR__ . '/templates/laraveldoctrine')); }
/** * Setup the pagination environment. * * @return void */ protected function setupPaginationEnvironment() { $this->view->addNamespace('pagination', __DIR__ . '/views'); }