Elementor Page Builder - Version 2.4.0-beta2

Version Description

Download this release

Release Info

Developer KingYes
Plugin Icon 128x128 Elementor Page Builder
Version 2.4.0-beta2
Comparing to
See all releases

Code changes from version 2.4.0-beta1 to 2.4.0-beta2

core/base/background-task.php CHANGED
@@ -61,7 +61,7 @@ abstract class Background_Task extends \WP_Background_Process {
61
 
62
  public function get_current_offset() {
63
  $limit = $this->get_limit();
64
- return $this->current_item['iterate_num'] * $limit;
65
  }
66
 
67
  public function get_limit() {
61
 
62
  public function get_current_offset() {
63
  $limit = $this->get_limit();
64
+ return ( $this->current_item['iterate_num'] - 1 ) * $limit;
65
  }
66
 
67
  public function get_limit() {
core/documents-manager.php CHANGED
@@ -609,6 +609,19 @@ class Documents_Manager {
609
  return $this->current_doc;
610
  }
611
 
 
 
 
 
 
 
 
 
 
 
 
 
 
612
  private function register_types() {
613
  if ( ! did_action( 'elementor/documents/register' ) ) {
614
  /**
609
  return $this->current_doc;
610
  }
611
 
612
+ /**
613
+ * Get groups.
614
+ *
615
+ * @since 2.0.0
616
+ * @deprecated 2.4.0
617
+ * @access public
618
+ *
619
+ * @return array
620
+ */
621
+ public function get_groups() {
622
+ return [];
623
+ }
624
+
625
  private function register_types() {
626
  if ( ! did_action( 'elementor/documents/register' ) ) {
627
  /**
elementor.php CHANGED
@@ -4,7 +4,7 @@
4
  * Description: The most advanced frontend drag & drop page builder. Create high-end, pixel perfect websites at record speeds. Any theme, any page, any design.
5
  * Plugin URI: https://elementor.com/?utm_source=wp-plugins&utm_campaign=plugin-uri&utm_medium=wp-dash
6
  * Author: Elementor.com
7
- * Version: 2.4.0-beta1
8
  * Author URI: https://elementor.com/?utm_source=wp-plugins&utm_campaign=author-uri&utm_medium=wp-dash
9
  *
10
  * Text Domain: elementor
@@ -27,7 +27,7 @@ if ( ! defined( 'ABSPATH' ) ) {
27
  exit; // Exit if accessed directly.
28
  }
29
 
30
- define( 'ELEMENTOR_VERSION', '2.4.0-beta1' );
31
  define( 'ELEMENTOR_PREVIOUS_STABLE_VERSION', '2.3.8' );
32
 
33
  define( 'ELEMENTOR__FILE__', __FILE__ );
4
  * Description: The most advanced frontend drag & drop page builder. Create high-end, pixel perfect websites at record speeds. Any theme, any page, any design.
5
  * Plugin URI: https://elementor.com/?utm_source=wp-plugins&utm_campaign=plugin-uri&utm_medium=wp-dash
6
  * Author: Elementor.com
7
+ * Version: 2.4.0-beta2
8
  * Author URI: https://elementor.com/?utm_source=wp-plugins&utm_campaign=author-uri&utm_medium=wp-dash
9
  *
10
  * Text Domain: elementor
27
  exit; // Exit if accessed directly.
28
  }
29
 
30
+ define( 'ELEMENTOR_VERSION', '2.4.0-beta2' );
31
  define( 'ELEMENTOR_PREVIOUS_STABLE_VERSION', '2.3.8' );
32
 
33
  define( 'ELEMENTOR__FILE__', __FILE__ );
includes/controls/animation.php CHANGED
@@ -118,6 +118,7 @@ class Control_Animation extends Base_Data_Control {
118
  * @param array $additional_animations Additional Animations array.
119
  */
120
  $additional_animations = apply_filters( 'elementor/controls/animations/additional_animations', $additional_animations );
 
121
  self::$_animations = array_merge( self::$_animations, $additional_animations );
122
  }
123
 
118
  * @param array $additional_animations Additional Animations array.
119
  */
120
  $additional_animations = apply_filters( 'elementor/controls/animations/additional_animations', $additional_animations );
121
+
122
  self::$_animations = array_merge( self::$_animations, $additional_animations );
123
  }
124
 
includes/db.php CHANGED
@@ -346,20 +346,21 @@ class DB {
346
  *
347
  * @param array $data_container Any type of elementor data.
348
  * @param callable $callback A function to iterate data by.
 
349
  *
350
  * @return mixed Iterated data.
351
  */
352
- public function iterate_data( $data_container, $callback ) {
353
  if ( isset( $data_container['elType'] ) ) {
354
  if ( ! empty( $data_container['elements'] ) ) {
355
- $data_container['elements'] = $this->iterate_data( $data_container['elements'], $callback );
356
  }
357
 
358
- return $callback( $data_container );
359
  }
360
 
361
  foreach ( $data_container as $element_key => $element_value ) {
362
- $element_data = $this->iterate_data( $data_container[ $element_key ], $callback );
363
 
364
  if ( null === $element_data ) {
365
  continue;
346
  *
347
  * @param array $data_container Any type of elementor data.
348
  * @param callable $callback A function to iterate data by.
349
+ * @param array $args Array of args pointers for passing parameters in & out of the callback
350
  *
351
  * @return mixed Iterated data.
352
  */
353
+ public function iterate_data( $data_container, $callback, $args = [] ) {
354
  if ( isset( $data_container['elType'] ) ) {
355
  if ( ! empty( $data_container['elements'] ) ) {
356
+ $data_container['elements'] = $this->iterate_data( $data_container['elements'], $callback, $args );
357
  }
358
 
359
+ return call_user_func( $callback, $data_container, $args );
360
  }
361
 
362
  foreach ( $data_container as $element_key => $element_value ) {
363
+ $element_data = $this->iterate_data( $data_container[ $element_key ], $callback, $args );
364
 
365
  if ( null === $element_data ) {
366
  continue;
includes/frontend.php CHANGED
@@ -1078,6 +1078,16 @@ class Frontend extends App {
1078
  ];
1079
  }
1080
 
 
 
 
 
 
 
 
 
 
 
1081
  return $settings;
1082
  }
1083
 
1078
  ];
1079
  }
1080
 
1081
+ if ( is_user_logged_in() ) {
1082
+ $user = wp_get_current_user();
1083
+
1084
+ if ( ! empty( $user->roles ) ) {
1085
+ $settings['user'] = [
1086
+ 'roles' => $user->roles,
1087
+ ];
1088
+ }
1089
+ }
1090
+
1091
  return $settings;
1092
  }
1093
 
includes/settings/settings.php CHANGED
@@ -298,7 +298,7 @@ class Settings extends Settings_Page {
298
  <div class="elementor-blank_state">
299
  <i class="eicon-nerd-chuckle"></i>
300
  <h2><?php echo __( 'Get Popup Builder', 'elementor' ); ?></h2>
301
- <p><?php echo __( 'Create advanced popups that drive more leads and conversions to your business.', 'elementor' ); ?></p>
302
  <a class="elementor-button elementor-button-default elementor-button-go-pro" target="_blank" href="<?php echo Utils::get_pro_link( 'https://elementor.com/pro/?utm_source=popup-templates&utm_campaign=gopro&utm_medium=wp-dash' ); ?>"><?php echo __( 'Go Pro', 'elementor' ); ?></a>
303
  </div>
304
  </div><!-- /.wrap -->
@@ -319,7 +319,7 @@ class Settings extends Settings_Page {
319
  <div class="elementor-blank_state">
320
  <i class="eicon-nerd-chuckle"></i>
321
  <h2><?php echo __( 'Get Theme Builder', 'elementor' ); ?></h2>
322
- <p><?php echo __( 'Elementor Pro comes built-in with an industry leading theme builder, which lets you customize every part of your WordPress theme visually.', 'elementor' ); ?></p>
323
  <a class="elementor-button elementor-button-default elementor-button-go-pro" target="_blank" href="<?php echo Utils::get_pro_link( 'https://elementor.com/pro/?utm_source=theme-templates&utm_campaign=gopro&utm_medium=wp-dash' ); ?>"><?php echo __( 'Go Pro', 'elementor' ); ?></a>
324
  </div>
325
  </div><!-- /.wrap -->
298
  <div class="elementor-blank_state">
299
  <i class="eicon-nerd-chuckle"></i>
300
  <h2><?php echo __( 'Get Popup Builder', 'elementor' ); ?></h2>
301
+ <p><?php echo __( 'Popup Builder lets you take advantage of all the amazing features in Elementor so you can build popups easily to get more leads and conversions. Go pro now and start designing your popup today.', 'elementor' ); ?></p>
302
  <a class="elementor-button elementor-button-default elementor-button-go-pro" target="_blank" href="<?php echo Utils::get_pro_link( 'https://elementor.com/pro/?utm_source=popup-templates&utm_campaign=gopro&utm_medium=wp-dash' ); ?>"><?php echo __( 'Go Pro', 'elementor' ); ?></a>
303
  </div>
304
  </div><!-- /.wrap -->
319
  <div class="elementor-blank_state">
320
  <i class="eicon-nerd-chuckle"></i>
321
  <h2><?php echo __( 'Get Theme Builder', 'elementor' ); ?></h2>
322
+ <p><?php echo __( 'Theme Builder is the industry leading all-in-one solution that lets you customize every part of your WordPress theme visually: Header, Footer, Single, Archive & WooCommerce.', 'elementor' ); ?></p>
323
  <a class="elementor-button elementor-button-default elementor-button-go-pro" target="_blank" href="<?php echo Utils::get_pro_link( 'https://elementor.com/pro/?utm_source=theme-templates&utm_campaign=gopro&utm_medium=wp-dash' ); ?>"><?php echo __( 'Go Pro', 'elementor' ); ?></a>
324
  </div>
325
  </div><!-- /.wrap -->
includes/widgets/read-more.php CHANGED
@@ -52,7 +52,7 @@ class Widget_Read_More extends Widget_Base {
52
  * @return string Widget icon.
53
  */
54
  public function get_icon() {
55
- return 'eicon-ellipsis-h';
56
  }
57
 
58
  /**
52
  * @return string Widget icon.
53
  */
54
  public function get_icon() {
55
+ return 'eicon-post-excerpt';
56
  }
57
 
58
  /**
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: page builder, editor, landing page, drag-and-drop, elementor, visual edito
4
  Requires at least: 4.7
5
  Tested up to: 5.0
6
  Requires PHP: 5.4
7
- Beta tag: 2.4.0-beta1
8
  Stable tag: 2.3.8
9
  License: GPLv3
10
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
4
  Requires at least: 4.7
5
  Tested up to: 5.0
6
  Requires PHP: 5.4
7
+ Beta tag: 2.4.0-beta2
8
  Stable tag: 2.3.8
9
  License: GPLv3
10
  License URI: https://www.gnu.org/licenses/gpl-3.0.html