PluginProbe ʕ •ᴥ•ʔ
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more / 2.1.6
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more v2.1.6
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 8 years ago EmbedHandler.php 8 years ago
EmbedHandler.php
58 lines
1 <?php
2 namespace EmbedPress\AMP;
3
4
5 (defined('ABSPATH') && defined('EMBEDPRESS_IS_LOADED')) or die("No direct script access allowed.");
6
7 /**
8 * Entity that represents the embed modifier for AMP.
9 *
10 * @package EmbedPress
11 * @author EmbedPress <help@embedpress.com>
12 * @copyright Copyright (C) 2018 EmbedPress. All rights reserved.
13 * @license GPLv2 or later
14 * @since 1.4.0
15 * @abstract
16 */
17 abstract class EmbedHandler
18 {
19 /**
20 * Process embeds to check if need to adapt for AMP pages. This is compatible
21 * witht the AMP plugin from Automattic.
22 *
23 * @param string $parsedContent
24 * @param object $urlData
25 * @param array $attributes
26 *
27 * @return object
28 */
29 static function processParsedContent($parsedContent, $urlData, $attributes)
30 {
31 // Check if we don't have the AMP plugin installed to bypass
32 if (! class_exists('AMP_Base_Embed_Handler')) {
33 return $parsedContent;
34 }
35
36 // Start processing
37
38 $handlerMap = [
39 'twitter' => '\\EmbedPress\\AMP\\Adapter\\Twitter',
40 'reddit' => '\\EmbedPress\\AMP\\Adapter\\Reddit',
41 ];
42
43 $providerName = strtolower($urlData->provider_name);
44
45 // Check if we have a mapped handler
46 if (isset($urlData->provider_name) && array_key_exists($providerName, $handlerMap)) {
47
48 $className = $handlerMap[$providerName];
49 $handler = new $className($parsedContent, $urlData, $attributes);
50
51 // Modify the HTML according to the AMP embed handler
52 $parsedContent = $handler->process();
53 }
54
55 return $parsedContent;
56 }
57 }
58