ProShell v2.0
Dashboard
Server Info
Server: 158.106.128.192
PHP: 8.2.33
home
planet5
public_html
bansibaba.com
wp-includes
2026-09-13 19:05:59
Editing: class-amp-scribd-embed-handler.php
Cancel
Save Changes
<?php /** * Class AMP_Scribd_Embed_Handler * * @package AMP * @since 1.4 */ /** * Class AMP_Scribd_Embed_Handler * * @internal */ class AMP_Scribd_Embed_Handler extends AMP_Base_Embed_Handler { /** * Registers embed. */ public function register_embed() { add_filter( 'embed_oembed_html', [ $this, 'filter_embed_oembed_html' ], 10, 2 ); } /** * Unregisters embed. */ public function unregister_embed() { remove_filter( 'embed_oembed_html', [ $this, 'filter_embed_oembed_html' ] ); } /** * Filter oEmbed HTML for Scribd to be AMP compatible. * * @param string $cache Cache for oEmbed. * @param string $url Embed URL. * @return string Embed. */ public function filter_embed_oembed_html( $cache, $url ) { if ( ! in_array( wp_parse_url( $url, PHP_URL_HOST ), [ 'scribd.com', 'www.scribd.com' ], true ) ) { return $cache; } return $this->sanitize_iframe( $cache ); } /** * Retrieves iframe element from HTML string and amends or appends the correct sandbox permissions. * * @param string $html HTML string. * @return string iframe with correct sandbox permissions. */ private function sanitize_iframe( $html ) { return preg_replace_callback( '#^.*<iframe(?P<iframe_attributes>[^>]+?)></iframe>.*$#s', function ( $matches ) { $attrs = $matches['iframe_attributes']; // Amend the required keywords to the iframe's sandbox. $sandbox = 'allow-popups allow-scripts'; $replaced = 0; $attrs = preg_replace( '#(?<=\ssandbox=["\'])#', "{$sandbox} ", // whitespace is necessary to separate prior permissions. $attrs, 1, $replaced ); // If no sandbox attribute was found, then add the attribute. if ( 0 === $replaced ) { $attrs .= sprintf( ' sandbox="%s"', $sandbox ); } // The iframe sanitizer will convert this into an amp-iframe. return "<iframe{$attrs}></iframe>"; }, $html ); } }
Upload Files
Cancel
Upload
Create New
Cancel
Create
Change Permissions
Cancel
Save
Change Date
Cancel
Save
Rename Item
Cancel
Save
Confirm Delete
Are you sure you want to delete the selected items?
Cancel
Delete