Skip to content

Commit 1fe36ec

Browse files
Merge branch 'latest'
2 parents 7a82815 + 6b821bd commit 1fe36ec

File tree

23 files changed

+756
-535
lines changed

23 files changed

+756
-535
lines changed

EmbedPress/Elementor/Widgets/Embedpress_Elementor.php

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,9 @@ public function get_style_depends() {
5050

5151
$handles = [];
5252

53-
if (isset($handler_keys['enabled_custom_player']) && $handler_keys['enabled_custom_player'] === 'yes') {
53+
$is_editor = isset(\Elementor\Plugin::$instance->editor) && \Elementor\Plugin::$instance->editor->is_edit_mode();
54+
55+
if ($is_editor || (isset($handler_keys['enabled_custom_player']) && $handler_keys['enabled_custom_player'] === 'yes')) {
5456
$handles[] = 'embedpress-plyr-css';
5557
}
5658
if (isset($handler_keys['enabled_instafeed']) && $handler_keys['enabled_instafeed'] === 'yes') {
@@ -73,8 +75,10 @@ public function get_script_depends()
7375

7476
$handles = [];
7577

76-
if (isset($handler_keys['enabled_custom_player']) && $handler_keys['enabled_custom_player'] === 'yes') {
77-
$handles[] = 'embedpress-plyr-polyfilled';
78+
$is_editor = isset(\Elementor\Plugin::$instance->editor) && \Elementor\Plugin::$instance->editor->is_edit_mode();
79+
80+
if ($is_editor || (isset($handler_keys['enabled_custom_player']) && $handler_keys['enabled_custom_player'] === 'yes')) {
81+
$handles[] = 'embedpress-plyr';
7882
$handles[] = 'embedpress-init-plyr';
7983
$handles[] = 'embedpress-vimeo-player';
8084
}

EmbedPress/Gutenberg/EmbedPressBlockRenderer.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1220,15 +1220,20 @@ public static function render_youtube_block($attributes, $content = '', $block =
12201220
// Build alignment class
12211221
$align_class = 'align' . $align;
12221222

1223+
// Extract width/height from attributes
1224+
$width = isset($attributes['width']) ? intval($attributes['width']) : 640;
1225+
$height = isset($attributes['height']) ? intval($attributes['height']) : 360;
1226+
12231227
// Generate YouTube block HTML
12241228
ob_start();
12251229
?>
1226-
<div class="ose-youtube wp-block-embed-youtube ose-youtube-single-video <?php echo esc_attr($align_class); ?>">
1230+
<div class="ose-youtube responsive wp-block-embed-youtube ose-youtube-single-video <?php echo esc_attr($align_class); ?>" style="max-width: 100%;">
12271231
<iframe src="<?php echo esc_url($processed_iframe_url); ?>"
12281232
allowtransparency="true"
12291233
allowfullscreen="true"
12301234
frameborder="0"
1231-
width="640" height="360">
1235+
style="max-width: 100%;"
1236+
width="<?php echo esc_attr($width); ?>" height="<?php echo esc_attr($height); ?>">
12321237
</iframe>
12331238
</div>
12341239
<?php

assets/css/blocks.build.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/css/embedpress.css

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,10 @@
174174
height: 100%;
175175
}
176176

177+
.ose-flourish iframe {
178+
border: none;
179+
}
180+
177181
.ose-deviantart img, .ose-deviantart a, .ose-deviantart div {
178182
width: 100%;
179183
height: 100%;
@@ -1604,6 +1608,7 @@ a.ep-social-icon.twitter:focus-visible {
16041608
right: 2px;
16051609
bottom: 8px;
16061610
opacity: 0;
1611+
pointer-events: none;
16071612
}
16081613

16091614
.cui-toolbar-button-right {
@@ -1628,8 +1633,8 @@ a.ep-social-icon.twitter:focus-visible {
16281633
}
16291634

16301635
.ep-external-doc-icons svg {
1631-
width: 30px;
1632-
height: 30px;
1636+
width: 22px;
1637+
height: 22px;
16331638
cursor: pointer;
16341639
transition: 0.3s;
16351640
padding: 5px;
@@ -1661,16 +1666,29 @@ a.ep-social-icon.twitter:focus-visible {
16611666
display: flex;
16621667
align-items: center;
16631668
justify-content: center;
1664-
width: 40px;
1665-
height: 40px;
1669+
width: 32px;
1670+
height: 32px;
16661671
/* background: var(--viewer-primary-color); */
16671672
}
16681673

1674+
.ep-file-download-option-masked.fullscreen-enabled iframe,
16691675
.elementor .elementor-element.elementor-element .embedpress-document-embed .fullscreen-enabled iframe, .embedpress-document-embed .fullscreen-enabled iframe {
16701676
width: 100% !important;
16711677
height: 100% !important;
16721678
}
16731679

1680+
.ep-file-download-option-masked.fullscreen-enabled {
1681+
overflow: visible;
1682+
}
1683+
1684+
.ep-file-download-option-masked.fullscreen-enabled .embed-download-disabled {
1685+
display: none;
1686+
}
1687+
1688+
.ep-file-download-option-masked.fullscreen-enabled::after {
1689+
display: block;
1690+
}
1691+
16741692
.embedpress-document-embed {
16751693
position: relative;
16761694
}
@@ -1718,6 +1736,7 @@ a.ep-social-icon.twitter:focus-visible {
17181736
bottom: 0;
17191737
content: '';
17201738
left: 0;
1739+
pointer-events: none;
17211740
}
17221741

17231742
.ep-file-download-option-masked.ep-file-docx::after {

assets/js/blocks.build.js

Lines changed: 4 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/js/documents-viewer-script.js

Lines changed: 47 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,25 @@ embedpressDocViewer.viewerStyle = () => {
100100
document.head.appendChild(customStyle);
101101
}
102102
}
103+
104+
console.log('embedpressDocViewer', embedpressDocViewer);
105+
console.log('embedpressDocViewer', embedpressDocViewer);
106+
103107
embedpressDocViewer.epDocumentsViewerController = () => {
108+
console.log('[EP Debug] epDocumentsViewerController called');
109+
// Remove previous listeners to prevent duplicates when called multiple times
110+
if (embedpressDocViewer._handleClick) {
111+
document.removeEventListener('click', embedpressDocViewer._handleClick);
112+
}
113+
if (embedpressDocViewer._handleDrawIconClick) {
114+
document.removeEventListener('click', embedpressDocViewer._handleDrawIconClick);
115+
}
116+
if (embedpressDocViewer._handleFullscreenChange) {
117+
document.removeEventListener('fullscreenchange', embedpressDocViewer._handleFullscreenChange);
118+
}
119+
104120
const viwerParentEls = document.querySelectorAll('.ep-file-download-option-masked');
105-
121+
106122
function handleFullscreenChange() {
107123
if (!document.fullscreenElement) {
108124
viwerParentEls.forEach((el) => {
@@ -115,10 +131,12 @@ embedpressDocViewer.epDocumentsViewerController = () => {
115131

116132
function handleClick(event) {
117133
event.stopPropagation();
118-
134+
135+
console.log('[EP Debug] handleClick fired, target:', event.target);
136+
119137
const viwerParentEl = event.target.closest('.ep-file-download-option-masked');
120-
121-
if (!viwerParentEl) return;
138+
139+
if (!viwerParentEl) { console.log('[EP Debug] No .ep-file-download-option-masked parent found'); return; }
122140

123141
const viewerIframeEl = viwerParentEl.querySelector('iframe');
124142
if (!viewerIframeEl) return;
@@ -139,6 +157,12 @@ embedpressDocViewer.epDocumentsViewerController = () => {
139157
const downloadcIcon = event.target.closest('.ep-doc-download-icon svg');
140158
const minimizeIcon = event.target.closest('.ep-doc-minimize-icon svg');
141159
const fullscreenIcon = event.target.closest('.ep-doc-fullscreen-icon svg');
160+
161+
console.log('popupIcon', popupIcon);
162+
console.log('printIcon', printIcon);
163+
console.log('downloadcIcon', downloadcIcon);
164+
console.log('minimizeIcon', minimizeIcon);
165+
console.log('fullscreenIcon', fullscreenIcon);
142166

143167
if (popupIcon instanceof SVGElement) {
144168
window.open(fileUrl, '_blank');
@@ -237,32 +261,51 @@ embedpressDocViewer.epDocumentsViewerController = () => {
237261
canvas.style.display = canDraw ? "block" : "none";
238262
}
239263

264+
embedpressDocViewer._handleClick = handleClick;
265+
embedpressDocViewer._handleDrawIconClick = handleDrawIconClick;
266+
embedpressDocViewer._handleFullscreenChange = handleFullscreenChange;
267+
240268
document.addEventListener('click', handleClick);
241269
document.addEventListener('click', handleDrawIconClick);
242270
document.addEventListener('fullscreenchange', handleFullscreenChange);
243271
};
244272

245273

274+
console.log('[EP Debug] Gutenberg check:', jQuery('.wp-block-embedpress-document.embedpress-document-embed').length);
275+
console.log('[EP Debug] Elementor doc check:', jQuery('.ep-file-download-option-masked').length);
276+
246277
if (typeof embedpressDocViewer.epDocumentsViewerController === "function") {
247278
if (jQuery('.wp-block-embedpress-document.embedpress-document-embed').length > 0) {
279+
console.log('[EP Debug] Init: Gutenberg document block found');
248280
embedpressDocViewer.epDocumentsViewerController();
249281
}
250282
}
251283

252284
if (typeof wp !== 'undefined' && typeof wp.editor !== 'undefined') {
253285
if (typeof embedpressDocViewer.viewerStyle === "function") {
286+
console.log('[EP Debug] Init: WP editor detected');
254287
embedpressDocViewer.epDocumentsViewerController();
255288
}
256289
}
257290

291+
// Initialize for Elementor frontend (non-editor) when document viewers exist on the page
292+
if (typeof embedpressDocViewer.epDocumentsViewerController === "function") {
293+
if (jQuery('.ep-file-download-option-masked').length > 0) {
294+
console.log('[EP Debug] Init: Elementor/shortcode document viewer found on frontend');
295+
embedpressDocViewer.epDocumentsViewerController();
296+
embedpressDocViewer.viewerStyle();
297+
}
298+
}
258299

259300
if (typeof embedpressDocViewer.viewerStyle === "function") {
260301
if (jQuery('.wp-block-embedpress-document.embedpress-document-embed').length > 0) {
261302
embedpressDocViewer.viewerStyle();
262303
}
263304
}
264305
jQuery(window).on("elementor/frontend/init", function () {
306+
console.log('[EP Debug] Elementor frontend init fired');
265307
var filterableGalleryHandler = function ($scope, $) {
308+
console.log('[EP Debug] Elementor element_ready/embedpres_document fired');
266309
if (typeof embedpressDocViewer.epDocumentsViewerController === "function") {
267310
embedpressDocViewer.epDocumentsViewerController();
268311
}

assets/js/front.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1184,6 +1184,31 @@ jQuery(window).on("elementor/frontend/init", function () {
11841184
elementorFrontend.hooks.addAction("frontend/element_ready/embedpres_document.default", filterableGalleryHandler);
11851185
elementorFrontend.hooks.addAction("frontend/element_ready/embedpres_elementor.default", adsHandler);
11861186
elementorFrontend.hooks.addAction("frontend/element_ready/embedpres_elementor.default", epGlobals.handlePosterImageLoad);
1187+
1188+
// Re-initialize custom player when Elementor widget becomes ready
1189+
var customPlayerHandler = function ($scope, $) {
1190+
var wrappers = $scope[0].querySelectorAll('.ep-embed-content-wraper');
1191+
if (typeof initPlayer === 'function') {
1192+
wrappers.forEach(function (wrapper) {
1193+
if (!wrapper.classList.contains('plyr-initialized')) {
1194+
initPlayer(wrapper);
1195+
}
1196+
});
1197+
} else {
1198+
// Fallback: ensure embeds are visible even if Plyr scripts failed to load
1199+
wrappers.forEach(function (wrapper) {
1200+
if (wrapper.hasAttribute('data-playerid')) {
1201+
wrapper.style.opacity = '1';
1202+
}
1203+
});
1204+
}
1205+
1206+
// Re-initialize lazy loaded iframes for this widget
1207+
if (typeof window.epReinitLazyLoad === 'function') {
1208+
window.epReinitLazyLoad();
1209+
}
1210+
};
1211+
elementorFrontend.hooks.addAction("frontend/element_ready/embedpres_elementor.default", customPlayerHandler);
11871212
});
11881213

11891214

embedpress.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* Description: EmbedPress lets you embed videos, images, posts, audio, maps and upload PDF, DOC, PPT & all other types of content into your WordPress site with one-click and showcase it beautifully for the visitors. 250+ sources supported.
77
* Author: WPDeveloper
88
* Author URI: https://wpdeveloper.com
9-
* Version: 4.4.9
9+
* Version: 4.4.10
1010
* Text Domain: embedpress
1111
* Domain Path: /languages
1212
*
@@ -61,7 +61,7 @@
6161
if (defined('EMBEDPRESS_DEV_MODE') && EMBEDPRESS_DEV_MODE) {
6262
define('EMBEDPRESS_PLUGIN_VERSION', time());
6363
} else {
64-
define('EMBEDPRESS_PLUGIN_VERSION', '4.4.9');
64+
define('EMBEDPRESS_PLUGIN_VERSION', '4.4.10');
6565
}
6666
}
6767

includes.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
}
2323

2424
if ( ! defined('EMBEDPRESS_VERSION')) {
25-
define('EMBEDPRESS_VERSION', "4.4.9");
25+
define('EMBEDPRESS_VERSION', "4.4.10");
2626
/**
2727
* @deprecated 2.2.0
2828
*/

0 commit comments

Comments
 (0)