getTranslation($langcode)->$field_name; $editable_text = check_markup($field->value, $field->format, $langcode, [FilterInterface::TYPE_TRANSFORM_REVERSIBLE, FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE]); $response->addCommand(new GetUntransformedTextCommand($editable_text)); return $response; } /** * Apply the necessary XSS filtering for using a certain text format's editor. * * @param \Symfony\Component\HttpFoundation\Request $request * The current request object. * @param \Drupal\filter\FilterFormatInterface $filter_format * The text format whose text editor (if any) will be used. * * @return \Symfony\Component\HttpFoundation\JsonResponse * A JSON response containing the XSS-filtered value. * * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException * Thrown if no value to filter is specified. * * @see editor_filter_xss() */ public function filterXss(Request $request, FilterFormatInterface $filter_format) { $value = $request->request->get('value'); if (!isset($value)) { throw new NotFoundHttpException(); } // The original_format parameter will only exist when switching text format. $original_format_id = $request->request->get('original_format_id'); $original_format = NULL; if (isset($original_format_id)) { $original_format = $this->entityManager() ->getStorage('filter_format') ->load($original_format_id); } return new JsonResponse(editor_filter_xss($value, $filter_format, $original_format)); } }