/** * {@inheritdoc} * * @return ClientView */ public function render(Request $request) { $actor = $request->getAttribute('actor'); $assets = $this->getAssets(); $locale = $this->locales->getLocale(); $localeCompiler = $locale ? $this->getLocaleCompiler($locale) : null; $view = new ClientView($this->api, $request, $actor, $assets, $this->layout, $localeCompiler); $view->setVariable('locales', $this->locales->getLocales()); $view->setVariable('locale', $locale); // Now that we've set up the ClientView instance, we can fire an event // to give extensions the opportunity to add their own assets and // translations. We will pass an array to the event which specifies // which translations should be included in the locale file. Afterwards, // we will filter all of the translations for the actor's locale and // compile only the ones we need. $keys = $this->translationKeys; $this->events->fire(new ConfigureClientView($this, $view, $keys)); if ($localeCompiler) { $translations = array_get($this->locales->getTranslator()->getMessages(), 'messages', []); $translations = $this->filterTranslations($translations, $keys); $localeCompiler->setTranslations($translations); } app('view')->share('translator', $this->locales->getTranslator()); return $view; }
/** * {@inheritdoc} * * @return ClientView */ public function render(Request $request) { $actor = $request->getAttribute('actor'); $assets = $this->getAssets(); $locale = $this->locales->getLocale(); $localeCompiler = $locale ? $this->getLocaleCompiler($locale) : null; $view = new ClientView($this->api, $request, $actor, $assets, $this->layout, $localeCompiler); $view->setVariable('locales', $this->locales->getLocales()); $view->setVariable('locale', $locale); $this->events->fire(new ConfigureClientView($this, $view)); if ($localeCompiler) { $translations = array_get($this->locales->getTranslator()->getMessages(), 'messages', []); $translations = $this->filterTranslations($translations); $localeCompiler->setTranslations($translations); } app('view')->share('translator', $this->locales->getTranslator()); return $view; }
protected function buildPayload(Request $request, $forum) { $data = $this->getDataFromDocument($forum); if ($request->getAttribute('actor')->exists) { $user = $this->getUserDocument($request); $data = array_merge($data, $this->getDataFromDocument($user)); } $payload = ['resources' => $data, 'session' => $this->buildSession($request), 'document' => $this->document, 'locales' => $this->locales->getLocales(), 'locale' => $this->locales->getLocale()]; return array_merge($payload, $this->variables); }