PluginProbe ʕ •ᴥ•ʔ
EmbedPress – PDF Embedder, 3D PDF FlipBook, Google Reviews, YouTube Videos, Upload & Embed PDF documents / 1.5.0
EmbedPress – PDF Embedder, 3D PDF FlipBook, Google Reviews, YouTube Videos, Upload & Embed PDF documents v1.5.0
4.6.5 4.6.4 4.6.3 4.6.2 4.6.1 4.6.0 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 9 years ago index.html 9 years ago
Handler.php
79 lines
1 <?php
2 namespace EmbedPress\Ends\Front;
3
4 use \EmbedPress\Ends\Handler as EndHandlerAbstract;
5 use \EmbedPress\Shortcode;
6
7 (defined('ABSPATH') && defined('EMBEDPRESS_IS_LOADED')) or die("No direct script access allowed.");
8
9 /**
10 * The public-facing functionality of the plugin.
11 * Defines the plugin name, version, and enqueue the public-specific stylesheets and scripts.
12 *
13 * @package EmbedPress
14 * @subpackage EmbedPress/Ends/Front
15 * @author PressShack <help@pressshack.com>
16 * @copyright Copyright (C) 2017 Open Source Training, LLC. All rights reserved.
17 * @license GPLv2 or later
18 * @since 1.0.0
19 */
20 class Handler extends EndHandlerAbstract
21 {
22 /**
23 * Method that register all stylesheets for the public area.
24 *
25 * @since 1.0.0
26 * @static
27 *
28 * @return void
29 */
30 public static function enqueueStyles()
31 {
32 wp_enqueue_style(EMBEDPRESS_PLG_NAME, EMBEDPRESS_URL_ASSETS .'css/embedpress.css');
33 }
34
35 /**
36 * Passes any unlinked URLs to EmbedPress\Shortcode::do_shortcode() for potential embedding.
37 *
38 * @since 1.5.0
39 * @static
40 *
41 * @param string $content The content to be searched.
42 *
43 * @return string The potentially modified content.
44 */
45 public static function autoEmbedUrls($content)
46 {
47 // Replace line breaks from all HTML elements with placeholders.
48 $content = wp_replace_in_html_tags($content, array("\n" => '<!-- embedpress-line-break -->'));
49
50 if (preg_match('#(^|\s|>)https?://#i', $content)) {
51 $callbackFingerprint = array('\EmbedPress\Ends\Front\Handler', 'autoEmbedUrlsCallback');
52
53 // Find URLs on their own line.
54 $content = preg_replace_callback('|^(\s*)(https?://[^\s<>"]+)(\s*)$|im', $callbackFingerprint, $content);
55 // Find URLs in their own paragraph.
56 $content = preg_replace_callback('|(<p(?: [^>]*)?>\s*)(https?://[^\s<>"]+)(\s*<\/p>)|i', $callbackFingerprint, $content);
57 }
58
59 // Put the line breaks back.
60 return str_replace('<!-- embedpress-line-break -->', "\n", $content);
61 }
62
63 /**
64 * Callback function for \EmbedPress\Ends\Front\Handler::autoEmbedUrls().
65 *
66 * @since 1.5.0
67 * @static
68 *
69 * @param array $match A regex match array.
70 *
71 * @return string The embed HTML on success, otherwise the original URL.
72 */
73 public static function autoEmbedUrlsCallback($match) {
74 $return = Shortcode::do_shortcode(array(), $match[2]);
75
76 return $match[1] . $return . $match[3];
77 }
78 }
79