EmbedPress – Embed Google Docs, YouTube, Maps, Vimeo, Wistia Videos & Upload PDF, PPT in Gutenberg & Elementor - Version 2.7.7

Version Description

Download this release

Release Info

Developer wpdevteam
Plugin Icon wp plugin EmbedPress – Embed Google Docs, YouTube, Maps, Vimeo, Wistia Videos & Upload PDF, PPT in Gutenberg & Elementor
Version 2.7.7
Comparing to
See all releases

Code changes from version 2.7.6 to 2.7.7

EmbedPress/Includes/Classes/EmbedPress_Notice.php CHANGED
@@ -145,13 +145,13 @@ class EmbedPress_Notice {
145
  }
146
  $return_notice = $this->next_notice();
147
  $current_notice = current( $return_notice );
148
- $next_notice = next( $return_notice );
149
 
150
  $deserve_notice = $this->deserve_notice( $current_notice );
151
  $options_data = $this->get_options_data();
152
  $user_notices = $this->get_user_notices();
153
 
154
- $notice_time = isset( $options_data[ $this->plugin_name ]['notice_will_show'][ $current_notice ] )
155
  ? $options_data[ $this->plugin_name ]['notice_will_show'][ $current_notice ] : $this->timestamp;
156
  $next_notice_time = $next_notice ? $options_data[ $this->plugin_name ]['notice_will_show'][ $next_notice ] : $this->timestamp;
157
  $current_notice_end = $this->makeTime( $notice_time, $this->cne_time );
@@ -177,7 +177,7 @@ class EmbedPress_Notice {
177
  $notice_time = false;
178
  }
179
  }
180
-
181
  if( $notice_time != false ) {
182
  if( $notice_time <= $this->timestamp ) {
183
  if( $current_notice === 'upsale' ) {
@@ -195,7 +195,7 @@ class EmbedPress_Notice {
195
  return;
196
  }
197
  break;
198
- case 'function' :
199
  if( isset( $upsale_args['condition']['function'] ) && function_exists( $upsale_args['condition']['function'] ) ) {
200
  unset( $options_data[ $this->plugin_name ]['notice_will_show'][ $current_notice ] );
201
  $this->update_options_data( $options_data[ $this->plugin_name ] );
@@ -204,14 +204,16 @@ class EmbedPress_Notice {
204
  break;
205
  }
206
  }
207
- if ( ! function_exists( 'get_plugins' ) ) {
208
- include ABSPATH . '/wp-admin/includes/plugin.php';
209
- }
210
- $plugins = get_plugins();
211
- $pkey = $upsale_args['slug'] . '/' . $upsale_args['file'];
212
- if( isset( $plugins[ $pkey ] ) ) {
213
- $this->update( $current_notice );
214
- return;
 
 
215
  }
216
  add_action( 'admin_notices', array( $this, 'upsale_notice' ) );
217
  }
@@ -249,7 +251,7 @@ class EmbedPress_Notice {
249
  * When links are clicked, this function will invoked.
250
  * @return void
251
  */
252
- public function clicked(){
253
  if( isset( $_GET['plugin'] ) ) {
254
  $plugin = sanitize_text_field( $_GET['plugin'] );
255
  if( $plugin === $this->plugin_name ) {
@@ -264,38 +266,38 @@ class EmbedPress_Notice {
264
  if( isset( $_GET['later'] ) ) {
265
  $later = sanitize_text_field( $_GET['later'] );
266
  }
267
-
268
  $later_time = '';
269
-
270
  switch( $clicked_from ) {
271
-
272
  case 'opt_in' :
273
  $dismiss = ( isset( $plugin_action ) ) ? $plugin_action : false ;
274
  $later_time = $this->makeTime( $this->timestamp, $this->maybe_later_time );
275
  break;
276
-
277
- case 'first_install' :
278
  $later_time = $this->makeTime( $this->timestamp, $this->maybe_later_time );
279
  break;
280
-
281
- case 'update' :
282
  $dismiss = ( isset( $plugin_action ) ) ? $plugin_action : false ;
283
  $later_time = $this->makeTime( $this->timestamp, $this->maybe_later_time );
284
  break;
285
-
286
- case 'review' :
287
  $later_time = $this->makeTime( $this->timestamp, $this->maybe_later_time );
288
  break;
289
-
290
- case 'upsale' :
291
  $later_time = $this->makeTime( $this->timestamp, $this->maybe_later_time );
292
  break;
293
  }
294
-
295
- if( isset( $later ) && $later == true ) {
296
  $options_data[ $this->plugin_name ]['notice_will_show'][ $clicked_from ] = $later_time;
297
  }
298
- if( isset( $dismiss ) && $dismiss == true ) {
299
  update_user_meta( get_current_user_id(), $this->plugin_name . '_' . $clicked_from, true );
300
  $this->update( $clicked_from );
301
  }
@@ -362,20 +364,20 @@ class EmbedPress_Notice {
362
  case 'opt_in' :
363
  do_action('wpdeveloper_optin_notice_for_' . $this->plugin_name );
364
  break;
365
- case 'first_install' :
366
  if( $options_data[ $this->plugin_name ]['first_install'] !== 'deactivated' ) {
367
  do_action( 'wpdeveloper_first_install_notice_for_' . $this->plugin_name );
368
  $this->get_thumbnail( 'first_install' );
369
  $this->get_message( 'first_install' );
370
  }
371
  break;
372
- case 'update' :
373
  do_action( 'wpdeveloper_update_notice_for_' . $this->plugin_name );
374
  $this->get_thumbnail( 'update' );
375
  $this->get_message( 'update' );
376
  $this->dismiss_button_scripts();
377
  break;
378
- case 'review' :
379
  do_action( 'wpdeveloper_review_notice_for_' . $this->plugin_name );
380
  $this->get_thumbnail( 'review' );
381
  $this->get_message( 'review' );
@@ -416,6 +418,10 @@ class EmbedPress_Notice {
416
  */
417
  private function upsale_button(){
418
  $upsale_args = $this->get_upsale_args();
 
 
 
 
419
  $plugin_slug = ( isset( $upsale_args['slug'] )) ? $upsale_args['slug'] : '' ;
420
  if( empty( $plugin_slug ) ) {
421
  return;
@@ -494,7 +500,7 @@ class EmbedPress_Notice {
494
  * @param string $notice
495
  * @return boolean
496
  */
497
- private function deserve_notice( $notice ) {
498
  $notices = $this->get_user_notices();
499
  if( $notice === false ) {
500
  return false;
@@ -596,7 +602,7 @@ class EmbedPress_Notice {
596
  }
597
  $options_data = $this->get_options_data();
598
  $args = wp_parse_args( $args, $this->get_args() );
599
- if( ! isset( $options_data[ $this->plugin_name ] )
600
  || ( isset( $options_data[ $this->plugin_name ]['version'] ) && version_compare( $options_data[ $this->plugin_name ]['version'], $this->version, '!=' ) ) ) {
601
  $this->update_options_data( $args );
602
  }
@@ -748,14 +754,14 @@ class EmbedPress_Notice {
748
  if( ! isset( $_POST['_wpnonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['_wpnonce'] ) ), 'wpdeveloper_notice_dissmiss' ) ) {
749
  return;
750
  }
751
-
752
  if( ! isset( $_POST['action'] ) || ( $_POST['action'] !== 'wpdeveloper_notice_dissmiss_for_' . $this->plugin_name ) ) {
753
  return;
754
  }
755
-
756
  $dismiss = isset( $_POST['dismiss'] ) ? $_POST['dismiss'] : false;
757
  $notice = isset( $_POST['notice'] ) ? $_POST['notice'] : false;
758
- if( $dismiss ) {
759
  $this->update( $notice );
760
  echo 'success';
761
  } else {
@@ -765,21 +771,21 @@ class EmbedPress_Notice {
765
  }
766
 
767
  /**
768
- * This function is responsible for do action when
769
  * the dismiss button clicked in upsale notice.
770
  */
771
  public function upsale_notice_dissmiss(){
772
-
773
  if( ! isset( $_POST['_wpnonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['_wpnonce'] ) ), 'wpdeveloper_upsale_notice_dissmiss' ) ) {
774
  return;
775
  }
776
-
777
  if( ! isset( $_POST['action'] ) || ( $_POST['action'] !== 'wpdeveloper_upsale_notice_dissmiss_for_' . $this->plugin_name ) ) {
778
  return;
779
  }
780
-
781
  $dismiss = isset( $_POST['dismiss'] ) ? $_POST['dismiss'] : false;
782
- if( $dismiss ) {
783
  $this->update( 'upsale' );
784
  echo 'success';
785
  } else {
@@ -898,7 +904,7 @@ class EmbedPress_Notice {
898
  });
899
  } );
900
  </script>
901
-
902
  <?php
903
  }
904
  }
145
  }
146
  $return_notice = $this->next_notice();
147
  $current_notice = current( $return_notice );
148
+ $next_notice = next( $return_notice );
149
 
150
  $deserve_notice = $this->deserve_notice( $current_notice );
151
  $options_data = $this->get_options_data();
152
  $user_notices = $this->get_user_notices();
153
 
154
+ $notice_time = isset( $options_data[ $this->plugin_name ]['notice_will_show'][ $current_notice ] )
155
  ? $options_data[ $this->plugin_name ]['notice_will_show'][ $current_notice ] : $this->timestamp;
156
  $next_notice_time = $next_notice ? $options_data[ $this->plugin_name ]['notice_will_show'][ $next_notice ] : $this->timestamp;
157
  $current_notice_end = $this->makeTime( $notice_time, $this->cne_time );
177
  $notice_time = false;
178
  }
179
  }
180
+
181
  if( $notice_time != false ) {
182
  if( $notice_time <= $this->timestamp ) {
183
  if( $current_notice === 'upsale' ) {
195
  return;
196
  }
197
  break;
198
+ case 'function' :
199
  if( isset( $upsale_args['condition']['function'] ) && function_exists( $upsale_args['condition']['function'] ) ) {
200
  unset( $options_data[ $this->plugin_name ]['notice_will_show'][ $current_notice ] );
201
  $this->update_options_data( $options_data[ $this->plugin_name ] );
204
  break;
205
  }
206
  }
207
+ if( isset( $upsale_args['slug'], $upsale_args['file'] ) ) {
208
+ if ( ! function_exists( 'get_plugins' ) ) {
209
+ include ABSPATH . '/wp-admin/includes/plugin.php';
210
+ }
211
+ $plugins = get_plugins();
212
+ $pkey = $upsale_args['slug'] . '/' . $upsale_args['file'];
213
+ if( isset( $plugins[ $pkey ] ) ) {
214
+ $this->update( $current_notice );
215
+ return;
216
+ }
217
  }
218
  add_action( 'admin_notices', array( $this, 'upsale_notice' ) );
219
  }
251
  * When links are clicked, this function will invoked.
252
  * @return void
253
  */
254
+ public function clicked(){
255
  if( isset( $_GET['plugin'] ) ) {
256
  $plugin = sanitize_text_field( $_GET['plugin'] );
257
  if( $plugin === $this->plugin_name ) {
266
  if( isset( $_GET['later'] ) ) {
267
  $later = sanitize_text_field( $_GET['later'] );
268
  }
269
+
270
  $later_time = '';
271
+
272
  switch( $clicked_from ) {
273
+
274
  case 'opt_in' :
275
  $dismiss = ( isset( $plugin_action ) ) ? $plugin_action : false ;
276
  $later_time = $this->makeTime( $this->timestamp, $this->maybe_later_time );
277
  break;
278
+
279
+ case 'first_install' :
280
  $later_time = $this->makeTime( $this->timestamp, $this->maybe_later_time );
281
  break;
282
+
283
+ case 'update' :
284
  $dismiss = ( isset( $plugin_action ) ) ? $plugin_action : false ;
285
  $later_time = $this->makeTime( $this->timestamp, $this->maybe_later_time );
286
  break;
287
+
288
+ case 'review' :
289
  $later_time = $this->makeTime( $this->timestamp, $this->maybe_later_time );
290
  break;
291
+
292
+ case 'upsale' :
293
  $later_time = $this->makeTime( $this->timestamp, $this->maybe_later_time );
294
  break;
295
  }
296
+
297
+ if( isset( $later ) && $later == true ) {
298
  $options_data[ $this->plugin_name ]['notice_will_show'][ $clicked_from ] = $later_time;
299
  }
300
+ if( isset( $dismiss ) && $dismiss == true ) {
301
  update_user_meta( get_current_user_id(), $this->plugin_name . '_' . $clicked_from, true );
302
  $this->update( $clicked_from );
303
  }
364
  case 'opt_in' :
365
  do_action('wpdeveloper_optin_notice_for_' . $this->plugin_name );
366
  break;
367
+ case 'first_install' :
368
  if( $options_data[ $this->plugin_name ]['first_install'] !== 'deactivated' ) {
369
  do_action( 'wpdeveloper_first_install_notice_for_' . $this->plugin_name );
370
  $this->get_thumbnail( 'first_install' );
371
  $this->get_message( 'first_install' );
372
  }
373
  break;
374
+ case 'update' :
375
  do_action( 'wpdeveloper_update_notice_for_' . $this->plugin_name );
376
  $this->get_thumbnail( 'update' );
377
  $this->get_message( 'update' );
378
  $this->dismiss_button_scripts();
379
  break;
380
+ case 'review' :
381
  do_action( 'wpdeveloper_review_notice_for_' . $this->plugin_name );
382
  $this->get_thumbnail( 'review' );
383
  $this->get_message( 'review' );
418
  */
419
  private function upsale_button(){
420
  $upsale_args = $this->get_upsale_args();
421
+ if( isset( $upsale_args['href'] ) ) {
422
+ echo '<a href="'. $upsale_args['href'] .'" target="_blank" class="button button-primary">'. $upsale_args['btn_text'] .'</a>';
423
+ return;
424
+ }
425
  $plugin_slug = ( isset( $upsale_args['slug'] )) ? $upsale_args['slug'] : '' ;
426
  if( empty( $plugin_slug ) ) {
427
  return;
500
  * @param string $notice
501
  * @return boolean
502
  */
503
+ private function deserve_notice( $notice ) {
504
  $notices = $this->get_user_notices();
505
  if( $notice === false ) {
506
  return false;
602
  }
603
  $options_data = $this->get_options_data();
604
  $args = wp_parse_args( $args, $this->get_args() );
605
+ if( ! isset( $options_data[ $this->plugin_name ] )
606
  || ( isset( $options_data[ $this->plugin_name ]['version'] ) && version_compare( $options_data[ $this->plugin_name ]['version'], $this->version, '!=' ) ) ) {
607
  $this->update_options_data( $args );
608
  }
754
  if( ! isset( $_POST['_wpnonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['_wpnonce'] ) ), 'wpdeveloper_notice_dissmiss' ) ) {
755
  return;
756
  }
757
+
758
  if( ! isset( $_POST['action'] ) || ( $_POST['action'] !== 'wpdeveloper_notice_dissmiss_for_' . $this->plugin_name ) ) {
759
  return;
760
  }
761
+
762
  $dismiss = isset( $_POST['dismiss'] ) ? $_POST['dismiss'] : false;
763
  $notice = isset( $_POST['notice'] ) ? $_POST['notice'] : false;
764
+ if( $dismiss ) {
765
  $this->update( $notice );
766
  echo 'success';
767
  } else {
771
  }
772
 
773
  /**
774
+ * This function is responsible for do action when
775
  * the dismiss button clicked in upsale notice.
776
  */
777
  public function upsale_notice_dissmiss(){
778
+
779
  if( ! isset( $_POST['_wpnonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['_wpnonce'] ) ), 'wpdeveloper_upsale_notice_dissmiss' ) ) {
780
  return;
781
  }
782
+
783
  if( ! isset( $_POST['action'] ) || ( $_POST['action'] !== 'wpdeveloper_upsale_notice_dissmiss_for_' . $this->plugin_name ) ) {
784
  return;
785
  }
786
+
787
  $dismiss = isset( $_POST['dismiss'] ) ? $_POST['dismiss'] : false;
788
+ if( $dismiss ) {
789
  $this->update( 'upsale' );
790
  echo 'success';
791
  } else {
904
  });
905
  } );
906
  </script>
907
+
908
  <?php
909
  }
910
  }
EmbedPress/Includes/Traits/Shared.php CHANGED
@@ -102,8 +102,7 @@ trait Shared {
102
  * Message message for showing.
103
  */
104
  $notice->classes( 'upsale', 'notice is-dismissible ' );
105
- $notice->message( 'upsale', '<p>' . __( 'If you are using Gutenberg, you must install <a href="https://essential-blocks.com/" target="_blank">Essential Blocks</a>, it extends your capacity, with 22 Free Blocks!', $notice->text_domain ) . '</p>' );
106
- $notice->thumbnail( 'upsale', plugins_url( 'assets/images/essential-blocks.png', EMBEDPRESS_PLUGIN_BASENAME ) );
107
 
108
  // Update Notice For PRO Version
109
  if ( $this->is_pro_active() && \version_compare( EMBEDPRESS_PRO_VERSION, '2.0.0', '<' ) ) {
@@ -113,14 +112,8 @@ trait Shared {
113
  }
114
 
115
  $notice->upsale_args = array(
116
- 'slug' => 'essential-blocks',
117
- 'page_slug' => 'essential-blocks',
118
- 'file' => 'essential-blocks.php',
119
- 'btn_text' => __( 'Install Free', 'embedpress' ),
120
- 'condition' => [
121
- 'by' => 'class',
122
- 'class' => 'EssentialAdmin'
123
- ],
124
  );
125
 
126
  $notice->options_args = array(
102
  * Message message for showing.
103
  */
104
  $notice->classes( 'upsale', 'notice is-dismissible ' );
105
+ $notice->message( 'upsale', '<p>' . __( 'Thank you for relying on EmbedPress with 30,000 other websites. Checkout our Pro features.', $notice->text_domain ) . '</p>' );
 
106
 
107
  // Update Notice For PRO Version
108
  if ( $this->is_pro_active() && \version_compare( EMBEDPRESS_PRO_VERSION, '2.0.0', '<' ) ) {
112
  }
113
 
114
  $notice->upsale_args = array(
115
+ 'href' => 'https://embedpress.com/?utm_source=plugin&utm_medium=free&utm_campaign=pro_upgrade#pricing',
116
+ 'btn_text' => __( 'Learn More', 'embedpress' ),
 
 
 
 
 
 
117
  );
118
 
119
  $notice->options_args = array(
embedpress.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: EmbedPress lets you embed videos, images, posts, audio, maps and uplaoad PDF, DOC, PPT & all other types of content into your WordPress site with one-click and showcase it beautifully for the visitors. 100+ sources supported.
6
  * Author: WPDeveloper
7
  * Author URI: https://wpdeveloper.net
8
- * Version: 2.7.6
9
  * Text Domain: embedpress
10
  * Domain Path: /languages
11
  *
5
  * Description: EmbedPress lets you embed videos, images, posts, audio, maps and uplaoad PDF, DOC, PPT & all other types of content into your WordPress site with one-click and showcase it beautifully for the visitors. 100+ sources supported.
6
  * Author: WPDeveloper
7
  * Author URI: https://wpdeveloper.net
8
+ * Version: 2.7.7
9
  * Text Domain: embedpress
10
  * Domain Path: /languages
11
  *
includes.php CHANGED
@@ -22,7 +22,7 @@ if ( ! defined('EMBEDPRESS_PLG_NAME')) {
22
  }
23
 
24
  if ( ! defined('EMBEDPRESS_VERSION')) {
25
- define('EMBEDPRESS_VERSION', "2.7.6");
26
  /**
27
  * @deprecated 2.2.0
28
  */
22
  }
23
 
24
  if ( ! defined('EMBEDPRESS_VERSION')) {
25
+ define('EMBEDPRESS_VERSION', "2.7.7");
26
  /**
27
  * @deprecated 2.2.0
28
  */
readme.txt CHANGED
@@ -6,7 +6,7 @@ Tags: embed, embed youtube, gutenberg embed, pdf, doc, docs, ppt, elementor embe
6
  Requires at least: 4.6
7
  Tested up to: 5.7
8
  Requires PHP: 5.6
9
- Stable tag: 2.7.6
10
  License: GPLv3 or later
11
  License URI: https://opensource.org/licenses/GPL-3.0
12
 
@@ -301,6 +301,9 @@ Not at all. You can set up everything your team needs without any coding knowled
301
  The format is based on [Keep a Changelog](http://keepachangelog.com/)
302
  and this project adheres to [Semantic Versioning](http://semver.org/).
303
 
 
 
 
304
  = [2.7.6] - 2021-04-06 =
305
  * Hotfix
306
 
@@ -698,4 +701,4 @@ Added Wistia and Twitch blocks for Gutenberg
698
 
699
  == Upgrade Notice ==
700
 
701
- * [Major Update] Must Update
6
  Requires at least: 4.6
7
  Tested up to: 5.7
8
  Requires PHP: 5.6
9
+ Stable tag: 2.7.7
10
  License: GPLv3 or later
11
  License URI: https://opensource.org/licenses/GPL-3.0
12
 
301
  The format is based on [Keep a Changelog](http://keepachangelog.com/)
302
  and this project adheres to [Semantic Versioning](http://semver.org/).
303
 
304
+ = [2.7.7] - 2021-04-23 =
305
+ * Hotfix - notice correction.
306
+
307
  = [2.7.6] - 2021-04-06 =
308
  * Hotfix
309
 
701
 
702
  == Upgrade Notice ==
703
 
704
+ * [Minor Update] Hotfix