/** * preview * * @param Request $request * @param PageHandler $pageHandler page handler * * @return \Xpressengine\Presenter\RendererInterface */ public function preview(Request $request, PageHandler $pageHandler) { $pageId = $this->pageId; $config = $pageHandler->getPageConfig($pageId); $user = $request->user(); /** @var \Illuminate\Http\Request $request */ $request = app('request'); $title = $request->get('pageTitle'); $mode = $request->get('mode'); $documentInputs = $request->except('_token', 'certifyKey_confirmation', 'anonymity', 'queryString', 'notice', '_codes', '_links', '_hashTags', '_mentions', '_files'); $previewDoc = new Document($documentInputs); $previewDoc->id = 'preview-' . app('xe.keygen')->generate(); $previewDoc->instanceId = $pageId; $previewDoc->user()->associate($user); $page = new PageEntity(['pageId' => $pageId, 'uid' => $previewDoc->id, 'content' => $previewDoc]); $content = $previewDoc->content; return XePresenter::make('show', ['pageId' => $pageId, 'page' => $page, 'title' => $title, 'content' => $content, 'config' => $config]); }