PluginProbe ʕ •ᴥ•ʔ
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more / 3.6.7
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more v3.6.7
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 / Gutenberg / block-backend / block-embedpress.php
embedpress / Gutenberg / block-backend Last commit date
block-embedpress.php 3 years ago block-wistia.php 5 years ago block-youtube.php 3 years ago
block-embedpress.php
237 lines
1 <?php
2 // Exit if accessed directly.
3
4 use EmbedPress\Providers\Youtube;
5
6 if (!defined('ABSPATH')) {
7 exit;
8 }
9 /**
10 * It renders gutenberg block of embedpress on the frontend
11 * @param array $attributes
12 */
13
14 //Custom Logo
15 function customLogo($embedHTML, $atts){
16
17
18
19
20 $x = !empty($atts['logoX']) ? $atts['logoX'] : 0;
21 $y = !empty($atts['logoY']) ? $atts['logoY'] : 0;
22 $uniqid = !empty($atts['url'])? '.ose-uid-' . md5($atts['url']): '';
23
24 $brandUrl = !empty($atts['customlogoUrl']) ? $atts['customlogoUrl'] : '';
25 $opacity = !empty($atts['logoOpacity']) ? $atts['logoOpacity'] : '';
26
27 $cssClass = !empty( $atts['url'] ) ? '.ose-uid-' . md5( $atts['url'] ) : '.ose-youtube';
28
29
30
31 ob_start(); ?>
32 <style type="text/css">
33 <?php echo esc_html($cssClass); ?>
34 {
35 position: relative;
36 }
37
38 <?php echo esc_html($cssClass); ?> .watermark {
39 border: 0;
40 position: absolute;
41 bottom: <?php echo esc_html($y); ?>%;
42 right: <?php echo esc_html($x); ?>%;
43 max-width: 150px;
44 max-height: 75px;
45 opacity: 0.25;
46 z-index: 5;
47 -o-transition: opacity 0.5s ease-in-out;
48 -moz-transition: opacity 0.5s ease-in-out;
49 -webkit-transition: opacity 0.5s ease-in-out;
50 transition: opacity 0.5s ease-in-out;
51 opacity: <?php echo esc_html($opacity); ?>;
52 }
53
54 <?php echo esc_html($cssClass); ?>
55 .watermark:hover {
56 opacity: 1;
57 }
58 </style>
59 <?php
60
61
62 $style = ob_get_clean();
63
64 if ( ! class_exists( '\simple_html_dom' ) ) {
65 include_once EMBEDPRESS_PATH_CORE . 'simple_html_dom.php';
66 }
67
68 $cta = '';
69 $img = '';
70
71 if(!empty($atts['customlogo'])){
72 $img = '<img src="'.esc_url($atts['customlogo']).'"/>';
73
74 $imgDom = str_get_html( $img );
75 $imgDom = $imgDom->find( 'img', 0 );
76 $imgDom->setAttribute( 'class', 'watermark ep-custom-logo' );
77 $imgDom->removeAttribute( 'style' );
78 $imgDom->setAttribute( 'width', 'auto' );
79 $imgDom->setAttribute( 'height', 'auto' );
80 ob_start();
81 echo $imgDom;
82
83 $cta .= ob_get_clean();
84
85 $imgDom->clear();
86 unset( $img, $imgDom );
87
88 if ( !empty($brandUrl) ) {
89 $cta = '<a href="'.esc_url($brandUrl).'" target="_blank">'.$cta.'</a>';
90 }
91 $dom = str_get_html( $embedHTML );
92
93 $wrapDiv = $dom->find( $uniqid, 0 );
94
95 if ( ! empty( $wrapDiv ) && is_object( $wrapDiv ) ) {
96 $wrapDiv->innertext .= $cta;
97 }
98
99 ob_start();
100 echo $wrapDiv;
101
102 $markup = ob_get_clean();
103
104 $dom->clear();
105 unset( $dom, $wrapDiv );
106
107 $embedHTML = $style . $markup;
108
109 }
110
111 return $embedHTML;
112
113 }
114
115 function embedpress_render_block($attributes)
116 {
117
118
119 if (!empty($attributes['embedHTML'])) {
120 $embed = apply_filters('embedpress_gutenberg_embed', $attributes['embedHTML'], $attributes);
121
122 $aligns = [
123 'left' => 'alignleft',
124 'right' => 'alignright',
125 'wide' => 'alignwide',
126 'full' => 'alignfull',
127 'center' => 'aligncenter',
128 ];
129 if (isset($attributes['align'])) {
130 $alignment = isset($aligns[$attributes['align']]) ? $aligns[$attributes['align']] . ' clear' : '';
131 } else {
132 $alignment = 'aligncenter'; // default alignment is center in js, so keeping same here
133 }
134 $embed = customLogo($embed, $attributes);
135
136 ob_start();
137 ?>
138 <div class="embedpress-gutenberg-wrapper">
139 <div class="wp-block-embed__wrapper <?php echo esc_attr($alignment) ?> <?php if($attributes['videosize'] == 'responsive') echo 'ep-video-responsive'; ?>">
140 <?php echo $embed; ?>
141 </div>
142 </div>
143 <?php
144
145
146
147 echo embedpress_render_block_style($attributes);
148
149 return ob_get_clean();
150 }
151 }
152
153 /**
154 * Make style function for embedpress render block
155 */
156
157 function embedpress_render_block_style($attributes)
158 {
159
160 $uniqid = !empty($attributes['url']) ? '.ose-uid-' . md5($attributes['url']) : '';
161
162 $_iscustomlogo = '';
163
164 if(!empty($attributes['customlogo'])){
165 $_iscustomlogo = $uniqid.' img.watermark.ep-custom-logo {
166 display: block !important;
167 }';
168 }
169 $youtubeStyles = '<style>
170 ' . esc_attr($uniqid) . ' {
171 width: ' . esc_attr($attributes['width']) . 'px !important;
172 height: ' . esc_attr($attributes['height']) . 'px;
173 max-width: 100%;
174 }
175
176 ' . esc_attr($uniqid) . '>iframe {
177 height: ' . esc_attr($attributes['height']) . 'px !important;
178 max-height: ' . esc_attr($attributes['height']) . 'px !important;
179 width: 100%;
180 }
181
182 ' . esc_attr($uniqid) . ' .wistia_embed {
183 max-width: 100%;
184 }
185
186 .alignright .ose-wistia' . esc_attr($uniqid) .'{
187 margin-left: auto;
188 }
189 .alignleft .ose-wistia' . esc_attr($uniqid) .'{
190 margin-right: auto;
191 }
192 .aligncenter .ose-wistia' . esc_attr($uniqid) .'{
193 margin: auto;
194 }
195 '.$uniqid.' img.watermark{
196 display: none;
197 }
198 '.$_iscustomlogo.'
199 </style>';
200
201 if($attributes['videosize'] == 'responsive') {
202 $youtubeStyles = '<style>
203 ' . esc_attr($uniqid) . ' {
204 position: relative;
205 width: ' . esc_attr($attributes['width']) . 'px !important;
206 height: 0;
207 padding-top: 56.25%;
208 max-width: 100%;
209 }
210
211 .ose-wistia{
212 height: auto !important;
213 padding-top: 0;
214 }
215
216 ' . esc_attr($uniqid) . ' > iframe {
217 position: absolute;
218 top: 0;
219 left: 0;
220 width: 100%;
221 height: 100%;
222 }
223
224 .ep-video-responsive{
225 display: inline-block!important;
226 max-width: 100%;
227 }
228 '.$uniqid.' img.watermark{
229 display: none;
230 }
231 '.$_iscustomlogo.'
232 </style>';
233 }
234
235 return $youtubeStyles;
236 }
237