PluginProbe ʕ •ᴥ•ʔ
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more / 2.6.1
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more v2.6.1
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 / Ends / Front / Handler.php
embedpress / EmbedPress / Ends / Front Last commit date
Handler.php 5 years ago index.html 7 years ago
Handler.php
121 lines
1 <?php
2
3 namespace EmbedPress\Ends\Front;
4
5 use EmbedPress\Core;
6 use EmbedPress\Ends\Back\Handler as BackEndHandler;
7 use EmbedPress\Ends\Handler as EndHandlerAbstract;
8 use EmbedPress\Shortcode;
9
10 (defined('ABSPATH') && defined('EMBEDPRESS_IS_LOADED')) or die("No direct script access allowed.");
11
12 /**
13 * The public-facing functionality of the plugin.
14 * Defines the plugin name, version, and enqueue the public-specific stylesheets and scripts.
15 *
16 * @package EmbedPress
17 * @subpackage EmbedPress/Ends/Front
18 * @author EmbedPress <help@embedpress.com>
19 * @copyright Copyright (C) 2020 WPDeveloper. All rights reserved.
20 * @license GPLv3 or later
21 * @since 1.0.0
22 */
23 class Handler extends EndHandlerAbstract
24 {
25 /**
26 * Method that register all stylesheets for the public area.
27 *
28 * @since 1.0.0
29 * @static
30 *
31 * @return void
32 */
33 public static function enqueueStyles()
34 {
35 wp_enqueue_style(EMBEDPRESS_PLG_NAME, EMBEDPRESS_URL_ASSETS . 'css/embedpress.css');
36 }
37
38
39 public function enqueueScripts() {
40
41 wp_enqueue_script( 'embedpress-pdfobject', EMBEDPRESS_URL_ASSETS . 'js/pdfobject.min.js', [],
42 $this->pluginVersion, false );
43
44 //load embedpress admin js
45
46 wp_enqueue_script( 'embedpress-front', EMBEDPRESS_URL_ASSETS . 'js/front.js', [ 'jquery','embedpress-pdfobject' ],
47 $this->pluginVersion, true );
48
49 }
50
51 /**
52 * Passes any unlinked URLs to EmbedPress\Shortcode::do_shortcode() for potential embedding.
53 *
54 * @since 1.5.0
55 * @static
56 *
57 * @param string $content The content to be searched.
58 *
59 * @return string The potentially modified content.
60 */
61 public static function autoEmbedUrls($content)
62 {
63 // Replace line breaks from all HTML elements with placeholders.
64 $content = wp_replace_in_html_tags($content, ["\n" => '<!-- embedpress-line-break -->']);
65
66 // Look for links in the content (not wrapped by shortcode)
67 if (preg_match('#(^|\s|>)https?://#i', $content)) {
68 $callbackFingerprint = ['\\EmbedPress\\Ends\\Front\\Handler', 'autoEmbedUrlsCallback'];
69
70 // Find URLs on their own line.
71 $content = preg_replace_callback('|^(\s*)(https?://[^\s<>"]+)(\s*)$|im', $callbackFingerprint, $content);
72 // Find URLs in their own paragraph.
73 $content = preg_replace_callback('|(<p(?: [^>]*)?>\s*)(https?://[^\s<>"]+)(\s*<\/p>)|i',
74 $callbackFingerprint, $content);
75 }
76
77 // Put the line breaks back.
78 return str_replace('<!-- embedpress-line-break -->', "\n", $content);
79 }
80
81 /**
82 * Callback function for \EmbedPress\Ends\Front\Handler::autoEmbedUrls().
83 *
84 * @since 1.5.0
85 * @static
86 *
87 * @param array $match A regex match array.
88 *
89 * @return string The embed HTML on success, otherwise the original URL.
90 */
91 public static function autoEmbedUrlsCallback($match)
92 {
93 $return = Shortcode::do_shortcode([], $match[2]);
94
95 return $match[1] . $return . $match[3];
96 }
97
98 /**
99 * A callback called by the WP `the_editor` filter.
100 *
101 * @since 1.6.0
102 * @static
103 *
104 * @param string $editorHTML The HTML which will be rendered as an editor, like TinyMCE.
105 *
106 * @return string The HTML which will be rendered as an editor, like TinyMCE
107 */
108 public static function renderPreviewBoxInEditors($editorHTML)
109 {
110 $plgSettings = Core::getSettings();
111
112 if ( ! is_admin() && (bool)$plgSettings->enablePluginInFront) {
113 $backEndHandler = new BackEndHandler(EMBEDPRESS_PLG_NAME, EMBEDPRESS_VERSION);
114
115 $backEndHandler->enqueueScripts();
116 }
117
118 return $editorHTML;
119 }
120 }
121