You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
971 B

<?php
/**
* Class AMP_Embed_Sanitizer
*
* @package AMP
*/
/**
* Class AMP_Embed_Sanitizer
*
* Calls sanitize_raw_embeds method on embed handlers.
*/
class AMP_Embed_Sanitizer extends AMP_Base_Sanitizer {
/**
* Embed handlers.
*
* @var AMP_Base_Embed_Handler[] AMP_Base_Embed_Handler[]
*/
private $embed_handlers = [];
/**
* AMP_Embed_Sanitizer constructor.
*
* @param DOMDocument $dom DOM.
* @param array $args Args.
*/
public function __construct( $dom, $args = [] ) {
parent::__construct( $dom, $args );
if ( ! empty( $this->args['embed_handlers'] ) ) {
$this->embed_handlers = $this->args['embed_handlers'];
}
}
/**
* Checks if each embed_handler has sanitize_raw_method and calls it.
*/
public function sanitize() {
foreach ( $this->embed_handlers as $embed_handler ) {
if ( method_exists( $embed_handler, 'sanitize_raw_embeds' ) ) {
$embed_handler->sanitize_raw_embeds( $this->dom );
}
}
}
}