/**
  * create instance
  */
 public function __construct()
 {
     $instanceConfig = InstanceConfig::instance();
     $this->currentUrl = $instanceConfig->getUrl();
     $this->boardId = $instanceConfig->getInstanceId();
     if ($this->boardId === null) {
         throw new NotFoundInstanceIdException();
     }
     $this->handler = app('xe.board.handler');
     $this->urlHandler = app('xe.board.url');
     $this->configHandler = app('xe.board.config');
     // set config
     $this->config = $this->configHandler->get($this->boardId);
     $this->handler->setConfig($this->config);
     $this->urlHandler->setConfig($this->config);
     // check is manager
     $this->permissionHandler = app('xe.board.permission');
     if (Auth::guest() === false && $this->permissionHandler->get($this->boardId)->ables(PermissionHandler::ACTION_MANAGE) === true) {
         $this->isManager = true;
     }
     // set skin
     /** @var \Xpressengine\Presenter\Presenter $presenter */
     $presenter = app('xe.presenter');
     $presenter->setSkin(Board::getId());
     //$presenter->htmlRenderPopup();
     $presenter->share('config', $this->config);
     $presenter->share('currentUrl', $this->currentUrl);
     $presenter->share('boardId', $this->boardId);
     $presenter->share('handler', $this->handler);
     $presenter->share('permissionHandler', $this->permissionHandler);
     $presenter->share('configHandler', $this->configHandler);
     $presenter->share('urlHandler', $this->urlHandler);
     $presenter->share('isManager', $this->isManager);
 }
 /**
  * UserController constructor.
  *
  * @param Handler $handler
  * @param ConfigHandler $configHandler
  * @param UrlHandler $urlHandler
  * @param BoardPermissionHandler $boardPermission
  */
 public function __construct(Handler $handler, ConfigHandler $configHandler, UrlHandler $urlHandler, BoardPermissionHandler $boardPermission)
 {
     $instanceConfig = InstanceConfig::instance();
     $this->instanceId = $instanceConfig->getInstanceId();
     $this->handler = $handler;
     $this->configHandler = $configHandler;
     $this->urlHandler = $urlHandler;
     $this->config = $configHandler->get($this->instanceId);
     if ($this->config !== null) {
         $urlHandler->setConfig($this->config);
         $this->isManager = false;
         if (Gate::allows(BoardPermissionHandler::ACTION_MANAGE, new Instance($boardPermission->name($this->instanceId)))) {
             $this->isManager = true;
         }
     }
     // set Skin
     XePresenter::setSkinTargetId(BoardModule::getId());
     XePresenter::share('handler', $handler);
     XePresenter::share('configHandler', $configHandler);
     XePresenter::share('urlHandler', $urlHandler);
     XePresenter::share('isManager', $this->isManager);
     XePresenter::share('instanceId', $this->instanceId);
     XePresenter::share('config', $this->config);
 }