BlockRenderController.php
28 lines
| 1 | <?php |
| 2 | |
| 3 | namespace Give\Campaigns\Blocks\CampaignComments\Controller; |
| 4 | |
| 5 | use Give\Campaigns\Blocks\CampaignComments\DataTransferObjects\BlockAttributes; |
| 6 | |
| 7 | /** |
| 8 | * @since 4.0.0 |
| 9 | */ |
| 10 | class BlockRenderController |
| 11 | { |
| 12 | /** |
| 13 | * @since 4.16.1 escape attribute values in block markup |
| 14 | * @since 4.0.0 |
| 15 | */ |
| 16 | public function render(array $attributes, string $secondaryColor): string |
| 17 | { |
| 18 | $blockAttributes = BlockAttributes::fromArray($attributes); |
| 19 | |
| 20 | return sprintf( |
| 21 | "<div id='givewp-campaign-comments-block-%s' data-secondary-color='%s' data-givewp-campaign-comments data-attributes='%s'></div>", |
| 22 | esc_attr((string) $blockAttributes->blockId), |
| 23 | esc_attr($secondaryColor), |
| 24 | esc_attr((string) json_encode($blockAttributes->toArray())) |
| 25 | ); |
| 26 | } |
| 27 | } |
| 28 |