<?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing namespace MailPoet\Form; if (!defined('ABSPATH')) exit; use MailPoet\WP\Functions as WPFunctions; class FormHtmlSanitizer { /** * @var array * Configuration of allowed tags for form blocks that may contain some html. * Covers all tags available in the form editor's Rich Text component and which we allow in checkbox label. * This doesn't cover CustomHTML block. */ const ALLOWED_HTML = [ 'a' => [ 'class' => true, 'href' => true, 'title' => true, 'data-id' => true, 'data-type' => true, 'target' => true, 'rel' => true, ], 'br' => [], 'code' => [], 'em' => [], 'img' => [ 'class' => true, 'style' => true, 'src' => true, 'alt' => true, ], 'kbd' => [], 'span' => [ 'style' => true, 'data-font' => true, 'class' => true, ], 'mark' => [ 'style' => true, 'class' => true, ], 'strong' => [], 'sub' => [], 'sup' => [], 's' => [], ]; /** @var WPFunctions */ private $wp; public function __construct( WPFunctions $wp ) { $this->wp = $wp; } public function sanitize(string $html): string { return $this->wp->wpKses($html, self::ALLOWED_HTML); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Block | Folder | 0755 |
|
|
Listing | Folder | 0755 |
|
|
Templates | Folder | 0755 |
|
|
Util | Folder | 0755 |
|
|
ApiDataSanitizer.php | File | 1.91 KB | 0644 |
|
AssetsController.php | File | 3.29 KB | 0644 |
|
BlockStylesRenderer.php | File | 4.04 KB | 0644 |
|
BlockWrapperRenderer.php | File | 642 B | 0644 |
|
BlocksRenderer.php | File | 4.41 KB | 0644 |
|
DisplayFormInWPContent.php | File | 14.19 KB | 0644 |
|
FormHtmlSanitizer.php | File | 1.32 KB | 0644 |
|
FormMessageController.php | File | 1.61 KB | 0644 |
|
FormSaveController.php | File | 1 KB | 0644 |
|
FormsRepository.php | File | 3.33 KB | 0644 |
|
PreviewPage.php | File | 4.03 KB | 0644 |
|
PreviewWidget.php | File | 662 B | 0644 |
|
Renderer.php | File | 4.36 KB | 0644 |
|
Widget.php | File | 9.57 KB | 0644 |
|
index.php | File | 6 B | 0644 |
|