/** * show document * * @param Request $request request * @param string $slug slug * @return mixed */ public function index(Request $request, $slug) { $slug = BoardSlug::where('slug', $slug)->first(); $instanceId = $slug->instanceId; $id = $slug->targetId; $instanceConfig = InstanceConfig::instance(); $instanceConfig->setInstanceId($slug->instanceId); /** * @var Handler $handler * @var ConfigHandler $configHandler * @var UrlHandler $urlHandler * @var BoardPermissionHandler $permission */ $handler = app('xe.board.handler'); $configHandler = app('xe.board.config'); $urlHandler = app('xe.board.url'); $permission = app('xe.board.permission'); $this->setCurrentPage($request, $handler, $configHandler, $slug); $userController = new UserController($handler, $configHandler, $urlHandler, $permission); return $userController->show($request, $permission, $instanceId, $id); }
/** * show by slug * * @param Request $request request * @param BoardPermissionHandler $boardPermission board permission handler * @param string $menuUrl first segment * @param string $strSlug document slug * @return \Xpressengine\Presenter\RendererInterface * @throws Exception */ public function slug(Request $request, BoardPermissionHandler $boardPermission, $menuUrl, $strSlug) { $slug = BoardSlug::where('slug', $strSlug)->where('instanceId', $this->instanceId)->first(); if ($slug === null) { throw new NotFoundDocumentException(); } return $this->show($request, $boardPermission, $menuUrl, $slug->targetId); }