PluginProbe ʕ •ᴥ•ʔ
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more / 3.6.7
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more v3.6.7
4.5.6 4.5.5 4.5.4 4.5.3 4.5.2 trunk 1.0.0 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.5.0 1.6.0 1.6.1 1.6.2 1.6.3 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.2.0 2.2.1 2.2.2 2.3.0 2.3.1 2.3.2 2.3.3 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.1.3 3.2.0 3.2.1 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.6.8 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 3.9.1 3.9.10 3.9.11 3.9.12 3.9.13 3.9.14 3.9.15 3.9.16 3.9.17 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9 4.0.0 4.0.1 4.0.10 4.0.11 4.0.12 4.0.13 4.0.14 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.0.9 4.1.0 4.1.1 4.1.10 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 4.2.0 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9 4.3.0 4.3.1 4.4.0 4.4.1 4.4.10 4.4.11 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.4.7 4.4.8 4.4.9 4.5.0 4.5.1
embedpress / EmbedPress / AMP / EmbedHandler.php
embedpress / EmbedPress / AMP Last commit date
Adapter 6 years ago EmbedHandler.php 6 years ago
EmbedHandler.php
59 lines
1 <?php
2
3 namespace EmbedPress\AMP;
4
5
6 (defined('ABSPATH') && defined('EMBEDPRESS_IS_LOADED')) or die("No direct script access allowed.");
7
8 /**
9 * Entity that represents the embed modifier for AMP.
10 *
11 * @package EmbedPress
12 * @author EmbedPress <help@embedpress.com>
13 * @copyright Copyright (C) 2020 WPDeveloper. All rights reserved.
14 * @license GPLv3 or later
15 * @since 1.4.0
16 * @abstract
17 */
18 abstract class EmbedHandler
19 {
20 /**
21 * Process embeds to check if need to adapt for AMP pages. This is compatible
22 * witht the AMP plugin from Automattic.
23 *
24 * @param string $parsedContent
25 * @param object $urlData
26 * @param array $attributes
27 *
28 * @return object
29 */
30 static function processParsedContent($parsedContent, $urlData, $attributes)
31 {
32 // Check if we don't have the AMP plugin installed to bypass
33 if ( ! class_exists('AMP_Base_Embed_Handler')) {
34 return $parsedContent;
35 }
36
37 // Start processing
38
39 $handlerMap = [
40 'twitter' => '\\EmbedPress\\AMP\\Adapter\\Twitter',
41 'reddit' => '\\EmbedPress\\AMP\\Adapter\\Reddit',
42 ];
43
44 $providerName = strtolower($urlData->provider_name);
45
46 // Check if we have a mapped handler
47 if (isset($urlData->provider_name) && array_key_exists($providerName, $handlerMap)) {
48
49 $className = $handlerMap[$providerName];
50 $handler = new $className($parsedContent, $urlData, $attributes);
51
52 // Modify the HTML according to the AMP embed handler
53 $parsedContent = $handler->process();
54 }
55
56 return $parsedContent;
57 }
58 }
59