/**
  * 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());
 }
Exemple #7
0
 /**
  * @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'));
 }
Exemple #8
0
 /**
  * Setup the pagination environment.
  *
  * @return void
  */
 protected function setupPaginationEnvironment()
 {
     $this->view->addNamespace('pagination', __DIR__ . '/views');
 }