Version Description
Download this release
Release Info
| Developer | andergmartins |
| Plugin | |
| Version | 2.1.5 |
| Comparing to | |
| See all releases | |
Code changes from version 2.1.4 to 2.1.5
- EmbedPress/Core.php +7 -5
- EmbedPress/Ends/Front/Handler.php +1 -0
- EmbedPress/Shortcode.php +1 -1
- EmbedPress/ThirdParty/BeaverBuilder.php +43 -0
- assets/css/preview.css +1 -1
- assets/js/preview.js +44 -7
- embedpress.php +1 -1
- includes.php +1 -1
- readme.txt +7 -1
EmbedPress/Core.php
CHANGED
|
@@ -155,16 +155,18 @@ class Core
|
|
| 155 |
|
| 156 |
$plgHandlerPublicInstance = new EndHandlerPublic($this->getPluginName(), $this->getPluginVersion());
|
| 157 |
|
| 158 |
-
$
|
| 159 |
-
$this->loaderInstance->add_action(
|
| 160 |
-
$this->loaderInstance->add_action($enqueueScriptsHookName, $plgHandlerPublicInstance, 'enqueueStyles');
|
| 161 |
|
| 162 |
-
unset($
|
| 163 |
}
|
| 164 |
|
| 165 |
// Add support for embeds on AMP pages
|
| 166 |
add_filter('pp_embed_parsed_content', array('\EmbedPress\AMP\EmbedHandler', 'processParsedContent'), 10, 3);
|
| 167 |
|
|
|
|
|
|
|
|
|
|
| 168 |
$this->loaderInstance->run();
|
| 169 |
}
|
| 170 |
|
|
@@ -377,7 +379,7 @@ class Core
|
|
| 377 |
// to modify the input since it was already injected.
|
| 378 |
$mceInit['paste_preprocess'] = 'function (plugin, args) {EmbedPress.onPaste(plugin, args);}';
|
| 379 |
}
|
| 380 |
-
|
| 381 |
|
| 382 |
return $mceInit;
|
| 383 |
}
|
| 155 |
|
| 156 |
$plgHandlerPublicInstance = new EndHandlerPublic($this->getPluginName(), $this->getPluginVersion());
|
| 157 |
|
| 158 |
+
$this->loaderInstance->add_action('wp_enqueue_scripts', $plgHandlerPublicInstance, 'enqueueScripts');
|
| 159 |
+
$this->loaderInstance->add_action('wp_enqueue_scripts', $plgHandlerPublicInstance, 'enqueueStyles');
|
|
|
|
| 160 |
|
| 161 |
+
unset($plgHandlerPublicInstance);
|
| 162 |
}
|
| 163 |
|
| 164 |
// Add support for embeds on AMP pages
|
| 165 |
add_filter('pp_embed_parsed_content', array('\EmbedPress\AMP\EmbedHandler', 'processParsedContent'), 10, 3);
|
| 166 |
|
| 167 |
+
// Add support for our embeds on Beaver Builder. Without this it only run the native embeds.
|
| 168 |
+
add_filter('fl_builder_before_render_shortcodes', array('\\EmbedPress\\ThirdParty\\BeaverBuilder', 'before_render_shortcodes'));
|
| 169 |
+
|
| 170 |
$this->loaderInstance->run();
|
| 171 |
}
|
| 172 |
|
| 379 |
// to modify the input since it was already injected.
|
| 380 |
$mceInit['paste_preprocess'] = 'function (plugin, args) {EmbedPress.onPaste(plugin, args);}';
|
| 381 |
}
|
| 382 |
+
|
| 383 |
|
| 384 |
return $mceInit;
|
| 385 |
}
|
EmbedPress/Ends/Front/Handler.php
CHANGED
|
@@ -49,6 +49,7 @@ class Handler extends EndHandlerAbstract
|
|
| 49 |
// Replace line breaks from all HTML elements with placeholders.
|
| 50 |
$content = wp_replace_in_html_tags($content, array("\n" => '<!-- embedpress-line-break -->'));
|
| 51 |
|
|
|
|
| 52 |
if (preg_match('#(^|\s|>)https?://#i', $content)) {
|
| 53 |
$callbackFingerprint = array('\EmbedPress\Ends\Front\Handler', 'autoEmbedUrlsCallback');
|
| 54 |
|
| 49 |
// Replace line breaks from all HTML elements with placeholders.
|
| 50 |
$content = wp_replace_in_html_tags($content, array("\n" => '<!-- embedpress-line-break -->'));
|
| 51 |
|
| 52 |
+
// Look for links in the content (not wrapped by shortcode)
|
| 53 |
if (preg_match('#(^|\s|>)https?://#i', $content)) {
|
| 54 |
$callbackFingerprint = array('\EmbedPress\Ends\Front\Handler', 'autoEmbedUrlsCallback');
|
| 55 |
|
EmbedPress/Shortcode.php
CHANGED
|
@@ -40,7 +40,7 @@ class Shortcode
|
|
| 40 |
public static function register()
|
| 41 |
{
|
| 42 |
// Register the new shortcode for embeds.
|
| 43 |
-
add_shortcode(EMBEDPRESS_SHORTCODE, array('\\EmbedPress\\Shortcode', 'do_shortcode')
|
| 44 |
}
|
| 45 |
|
| 46 |
/**
|
| 40 |
public static function register()
|
| 41 |
{
|
| 42 |
// Register the new shortcode for embeds.
|
| 43 |
+
add_shortcode(EMBEDPRESS_SHORTCODE, array('\\EmbedPress\\Shortcode', 'do_shortcode'));
|
| 44 |
}
|
| 45 |
|
| 46 |
/**
|
EmbedPress/ThirdParty/BeaverBuilder.php
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
namespace EmbedPress\ThirdParty;
|
| 3 |
+
|
| 4 |
+
(defined('ABSPATH') && defined('EMBEDPRESS_IS_LOADED')) or die("No direct script access allowed.");
|
| 5 |
+
|
| 6 |
+
/**
|
| 7 |
+
* Entity responsible for adding support for the Beaver Builder.
|
| 8 |
+
*
|
| 9 |
+
* @package EmbedPress
|
| 10 |
+
* @author EmbedPress <help@embedpress.com>
|
| 11 |
+
* @copyright Copyright (C) 2018 EmbedPress. All rights reserved.
|
| 12 |
+
* @license GPLv2 or later
|
| 13 |
+
* @since 1.0.0
|
| 14 |
+
*/
|
| 15 |
+
class BeaverBuilder
|
| 16 |
+
{
|
| 17 |
+
/**
|
| 18 |
+
* Method that replaces the embed shortcodes, before Beaver calls WP's native embed shortcode.
|
| 19 |
+
* It forces that when it runs $wp_embed->run_shortcode.
|
| 20 |
+
*
|
| 21 |
+
* @param string $content
|
| 22 |
+
*
|
| 23 |
+
* @return string
|
| 24 |
+
*/
|
| 25 |
+
public static function before_render_shortcodes($content)
|
| 26 |
+
{
|
| 27 |
+
global $shortcode_tags;
|
| 28 |
+
|
| 29 |
+
// Back up current registered shortcodes and clear them all out
|
| 30 |
+
$orig_shortcode_tags = $shortcode_tags;
|
| 31 |
+
remove_all_shortcodes();
|
| 32 |
+
|
| 33 |
+
add_shortcode( EMBEDPRESS_SHORTCODE, array('\\EmbedPress\\Shortcode', 'do_shortcode') );
|
| 34 |
+
|
| 35 |
+
// Do the shortcode (only the [embed] one is registered)
|
| 36 |
+
$content = do_shortcode( $content, true );
|
| 37 |
+
|
| 38 |
+
// Put the original shortcodes back
|
| 39 |
+
$shortcode_tags = $orig_shortcode_tags;
|
| 40 |
+
|
| 41 |
+
return $content;
|
| 42 |
+
}
|
| 43 |
+
}
|
assets/css/preview.css
CHANGED
|
@@ -147,7 +147,7 @@ span.hidden {
|
|
| 147 |
}
|
| 148 |
|
| 149 |
.bootbox.modal {
|
| 150 |
-
z-index:
|
| 151 |
}
|
| 152 |
|
| 153 |
.modal-dialog .row {
|
| 147 |
}
|
| 148 |
|
| 149 |
.bootbox.modal {
|
| 150 |
+
z-index: 100012;
|
| 151 |
}
|
| 152 |
|
| 153 |
.modal-dialog .row {
|
assets/js/preview.js
CHANGED
|
@@ -262,7 +262,7 @@
|
|
| 262 |
* @return void
|
| 263 |
*/
|
| 264 |
self.onReady = function() {
|
| 265 |
-
|
| 266 |
// Wait until the editor is available
|
| 267 |
var interval = window.setInterval(
|
| 268 |
function() {
|
|
@@ -281,6 +281,27 @@
|
|
| 281 |
},
|
| 282 |
250
|
| 283 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 284 |
}
|
| 285 |
};
|
| 286 |
|
|
@@ -836,6 +857,11 @@
|
|
| 836 |
// Add the node filter that will convert the url into the preview box for the embed code
|
| 837 |
editorInstance.parser.addNodeFilter('#text', function addNodeFilterIntoParser(nodes, arg) {
|
| 838 |
self.each(nodes, function eachNodeInParser(node) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 839 |
var subject = node.value.trim();
|
| 840 |
|
| 841 |
|
|
@@ -875,6 +901,10 @@
|
|
| 875 |
setTimeout(function() {
|
| 876 |
var doc = editorInstance.getDoc();
|
| 877 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 878 |
var previewWrapper = $(doc.querySelector('#'+ wrapper.attributes.map['id']));
|
| 879 |
var previewWrapperParent = $(previewWrapper.parent());
|
| 880 |
|
|
@@ -922,6 +952,11 @@
|
|
| 922 |
// Add the filter that will convert the preview box/embed code back to the raw url
|
| 923 |
editorInstance.serializer.addNodeFilter('div', function addNodeFilterIntoSerializer(nodes, arg) {
|
| 924 |
self.each(nodes, function eachNodeInSerializer(node) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 925 |
var nodeClasses = (node.attributes.map.class || "").split(' ');
|
| 926 |
var wrapperFactoryClasses = ["embedpress_wrapper", "embedpress_placeholder", "wpview", "wpview-wrap"];
|
| 927 |
|
|
@@ -1497,15 +1532,12 @@
|
|
| 1497 |
window.setTimeout(
|
| 1498 |
function configureWrappersTimeOut() {
|
| 1499 |
var doc = editorInstance.getDoc(),
|
| 1500 |
-
|
| 1501 |
-
$wrapper = null,
|
| 1502 |
-
$iframe = null;
|
| 1503 |
|
| 1504 |
// Get all the wrappers
|
| 1505 |
var wrappers = doc.getElementsByClassName('embedpress_wrapper');
|
| 1506 |
-
|
| 1507 |
-
|
| 1508 |
-
for (var i = 0; i < total; i++) {
|
| 1509 |
$wrapper = $(wrappers[i]);
|
| 1510 |
|
| 1511 |
// Check if the wrapper wasn't already configured
|
|
@@ -1564,6 +1596,10 @@
|
|
| 1564 |
self.getElementInContentById = function(id, editorInstance) {
|
| 1565 |
var doc = editorInstance.getDoc();
|
| 1566 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1567 |
return $(doc.getElementById(id));
|
| 1568 |
};
|
| 1569 |
|
|
@@ -1618,6 +1654,7 @@
|
|
| 1618 |
window.EmbedPress = new EmbedPress();
|
| 1619 |
}
|
| 1620 |
|
|
|
|
| 1621 |
window.EmbedPress.init($data.previewSettings);
|
| 1622 |
});
|
| 1623 |
})(jQuery, String, $data);
|
| 262 |
* @return void
|
| 263 |
*/
|
| 264 |
self.onReady = function() {
|
| 265 |
+
var findEditors = function() {
|
| 266 |
// Wait until the editor is available
|
| 267 |
var interval = window.setInterval(
|
| 268 |
function() {
|
| 281 |
},
|
| 282 |
250
|
| 283 |
);
|
| 284 |
+
};
|
| 285 |
+
|
| 286 |
+
if (self.tinymceIsAvailable()) {
|
| 287 |
+
findEditors();
|
| 288 |
+
}
|
| 289 |
+
|
| 290 |
+
// Add support for the Beaver Builder.
|
| 291 |
+
if (typeof FLLightbox !== 'undefined') {
|
| 292 |
+
$.each(FLLightbox._instances, function(index) {
|
| 293 |
+
FLLightbox._instances[index].on('open', function() {
|
| 294 |
+
setTimeout(function() {
|
| 295 |
+
findEditors();
|
| 296 |
+
}, 500);
|
| 297 |
+
});
|
| 298 |
+
|
| 299 |
+
FLLightbox._instances[index].on('didHideLightbox', function() {
|
| 300 |
+
setTimeout(function() {
|
| 301 |
+
findEditors();
|
| 302 |
+
}, 500);
|
| 303 |
+
});
|
| 304 |
+
});
|
| 305 |
}
|
| 306 |
};
|
| 307 |
|
| 857 |
// Add the node filter that will convert the url into the preview box for the embed code
|
| 858 |
editorInstance.parser.addNodeFilter('#text', function addNodeFilterIntoParser(nodes, arg) {
|
| 859 |
self.each(nodes, function eachNodeInParser(node) {
|
| 860 |
+
// Stop if the node is "isolated". It would generate an error in the browser console and break.
|
| 861 |
+
if (node.parent === null && node.prev === null) {
|
| 862 |
+
return;
|
| 863 |
+
}
|
| 864 |
+
|
| 865 |
var subject = node.value.trim();
|
| 866 |
|
| 867 |
|
| 901 |
setTimeout(function() {
|
| 902 |
var doc = editorInstance.getDoc();
|
| 903 |
|
| 904 |
+
if (doc === null) {
|
| 905 |
+
return;
|
| 906 |
+
}
|
| 907 |
+
|
| 908 |
var previewWrapper = $(doc.querySelector('#'+ wrapper.attributes.map['id']));
|
| 909 |
var previewWrapperParent = $(previewWrapper.parent());
|
| 910 |
|
| 952 |
// Add the filter that will convert the preview box/embed code back to the raw url
|
| 953 |
editorInstance.serializer.addNodeFilter('div', function addNodeFilterIntoSerializer(nodes, arg) {
|
| 954 |
self.each(nodes, function eachNodeInSerializer(node) {
|
| 955 |
+
// Stop if the node is "isolated". It would generate an error in the browser console and break.
|
| 956 |
+
if (node.parent === null && node.prev === null) {
|
| 957 |
+
return;
|
| 958 |
+
}
|
| 959 |
+
|
| 960 |
var nodeClasses = (node.attributes.map.class || "").split(' ');
|
| 961 |
var wrapperFactoryClasses = ["embedpress_wrapper", "embedpress_placeholder", "wpview", "wpview-wrap"];
|
| 962 |
|
| 1532 |
window.setTimeout(
|
| 1533 |
function configureWrappersTimeOut() {
|
| 1534 |
var doc = editorInstance.getDoc(),
|
| 1535 |
+
$wrapper = null;
|
|
|
|
|
|
|
| 1536 |
|
| 1537 |
// Get all the wrappers
|
| 1538 |
var wrappers = doc.getElementsByClassName('embedpress_wrapper');
|
| 1539 |
+
if (wrappers.length > 0) {
|
| 1540 |
+
for (var i = 0; i < wrappers.length; i++) {
|
|
|
|
| 1541 |
$wrapper = $(wrappers[i]);
|
| 1542 |
|
| 1543 |
// Check if the wrapper wasn't already configured
|
| 1596 |
self.getElementInContentById = function(id, editorInstance) {
|
| 1597 |
var doc = editorInstance.getDoc();
|
| 1598 |
|
| 1599 |
+
if (doc === null) {
|
| 1600 |
+
return;
|
| 1601 |
+
}
|
| 1602 |
+
|
| 1603 |
return $(doc.getElementById(id));
|
| 1604 |
};
|
| 1605 |
|
| 1654 |
window.EmbedPress = new EmbedPress();
|
| 1655 |
}
|
| 1656 |
|
| 1657 |
+
// Initialize EmbedPress for all the current editors.
|
| 1658 |
window.EmbedPress.init($data.previewSettings);
|
| 1659 |
});
|
| 1660 |
})(jQuery, String, $data);
|
embedpress.php
CHANGED
|
@@ -5,7 +5,7 @@
|
|
| 5 |
* Description: WordPress supports around 35 embed sources, but PublishPress Embeds adds over 40 more, including Facebook, Google Maps, Google Docs, UStream! Just use the URL!
|
| 6 |
* Author: EmbedPress
|
| 7 |
* Author URI: http://embedpress.com
|
| 8 |
-
* Version: 2.1.
|
| 9 |
* Text Domain: embedpress
|
| 10 |
* Domain Path: /languages
|
| 11 |
*
|
| 5 |
* Description: WordPress supports around 35 embed sources, but PublishPress Embeds adds over 40 more, including Facebook, Google Maps, Google Docs, UStream! Just use the URL!
|
| 6 |
* Author: EmbedPress
|
| 7 |
* Author URI: http://embedpress.com
|
| 8 |
+
* Version: 2.1.5
|
| 9 |
* Text Domain: embedpress
|
| 10 |
* Domain Path: /languages
|
| 11 |
*
|
includes.php
CHANGED
|
@@ -21,7 +21,7 @@ if (!defined('EMBEDPRESS_PLG_NAME')) {
|
|
| 21 |
}
|
| 22 |
|
| 23 |
if (!defined('EMBEDPRESS_PLG_VERSION')) {
|
| 24 |
-
define('EMBEDPRESS_PLG_VERSION', "2.1.
|
| 25 |
}
|
| 26 |
|
| 27 |
if (!defined('EMBEDPRESS_ROOT')) {
|
| 21 |
}
|
| 22 |
|
| 23 |
if (!defined('EMBEDPRESS_PLG_VERSION')) {
|
| 24 |
+
define('EMBEDPRESS_PLG_VERSION', "2.1.5");
|
| 25 |
}
|
| 26 |
|
| 27 |
if (!defined('EMBEDPRESS_ROOT')) {
|
readme.txt
CHANGED
|
@@ -5,7 +5,7 @@ Author URI: https://embedpress.com
|
|
| 5 |
Tags: YouTube, Google, Facebook, Wistia, Vimeo
|
| 6 |
Requires at least: 4.6
|
| 7 |
Tested up to: 4.9.4
|
| 8 |
-
Stable tag: 2.1.
|
| 9 |
License: GPLv2 or later
|
| 10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 11 |
|
|
@@ -184,6 +184,12 @@ Not at all. You can set up everything your team needs without any coding knowled
|
|
| 184 |
The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
| 185 |
and this project adheres to [Semantic Versioning](http://semver.org/).
|
| 186 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 187 |
= [2.1.4] - 2018-06-27 =
|
| 188 |
|
| 189 |
*Fixed:*
|
| 5 |
Tags: YouTube, Google, Facebook, Wistia, Vimeo
|
| 6 |
Requires at least: 4.6
|
| 7 |
Tested up to: 4.9.4
|
| 8 |
+
Stable tag: 2.1.5
|
| 9 |
License: GPLv2 or later
|
| 10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 11 |
|
| 184 |
The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
| 185 |
and this project adheres to [Semantic Versioning](http://semver.org/).
|
| 186 |
|
| 187 |
+
= [2.1.5] - 2018-08-03 =
|
| 188 |
+
|
| 189 |
+
*Fixed:*
|
| 190 |
+
|
| 191 |
+
* Fixed embeds in the Beaver Builder;
|
| 192 |
+
|
| 193 |
= [2.1.4] - 2018-06-27 =
|
| 194 |
|
| 195 |
*Fixed:*
|
