Shortcodes and extra features for Phlox theme - Version 2.9.18

Version Description

Download this release

Release Info

Developer averta
Plugin Icon 128x128 Shortcodes and extra features for Phlox theme
Version 2.9.18
Comparing to
See all releases

Code changes from version 2.9.17 to 2.9.18

README.txt CHANGED
@@ -6,8 +6,8 @@ License URI: http://www.gnu.org/licenses/gpl.html
6
  Tags: phlox, gallery, elementor, auxin, averta, auxin-elements, framework, widget, fullwidth, masonry, timeline, parallax
7
  Requires PHP: 5.4
8
  Requires at least: 4.6
9
- Tested up to: 6.0.0
10
- Stable tag: 2.9.17
11
  License: GPLv3
12
  License URI: http://www.gnu.org/licenses/gpl.html
13
 
6
  Tags: phlox, gallery, elementor, auxin, averta, auxin-elements, framework, widget, fullwidth, masonry, timeline, parallax
7
  Requires PHP: 5.4
8
  Requires at least: 4.6
9
+ Tested up to: 6.0.1
10
+ Stable tag: 2.9.18
11
  License: GPLv3
12
  License URI: http://www.gnu.org/licenses/gpl.html
13
 
admin/assets/js/plugins.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! Phlox Core Plugin - v2.9.17 (2022-07)
2
  * All required javascript plugins for admin
3
  * http://phlox.pro/
4
  * Place any jQuery/helper plugins in here, instead of separate, slower script files!
1
+ /*! Phlox Core Plugin - v2.9.18 (2022-07)
2
  * All required javascript plugins for admin
3
  * http://phlox.pro/
4
  * Place any jQuery/helper plugins in here, instead of separate, slower script files!
admin/includes/admin-ajax.php CHANGED
@@ -337,7 +337,7 @@ function auxin_ajax_upgrader(){
337
  }
338
 
339
  $handler = new Auxin_Upgrader_Ajax_Handlers;
340
- $handler->run( $_POST['key'], $_POST['type'] );
341
  }
342
  add_action( 'wp_ajax_auxin_start_upgrading', 'auxin_ajax_upgrader' );
343
 
@@ -459,6 +459,6 @@ add_action( 'wp_ajax_auxin_customizer_import', 'auxin_customizer_import' );
459
  * @return json
460
  */
461
  function auxin_template_control_importer() {
462
- wp_send_json( auxin_template_importer( $_POST['id'], $_POST['template_type'], 'update_menu' ) );
463
  }
464
  add_action( 'wp_ajax_auxin_template_control_importer', 'auxin_template_control_importer' );
337
  }
338
 
339
  $handler = new Auxin_Upgrader_Ajax_Handlers;
340
+ $handler->run( sanitize_text_field( $_POST['key'] ), sanitize_text_field( $_POST['type'] ) );
341
  }
342
  add_action( 'wp_ajax_auxin_start_upgrading', 'auxin_ajax_upgrader' );
343
 
459
  * @return json
460
  */
461
  function auxin_template_control_importer() {
462
+ wp_send_json( auxin_template_importer( sanitize_text_field( $_POST['id'] ), sanitize_text_field( $_POST['template_type'] ), 'update_menu' ) );
463
  }
464
  add_action( 'wp_ajax_auxin_template_control_importer', 'auxin_template_control_importer' );
admin/includes/classes/class-auxels-system-check.php CHANGED
@@ -57,7 +57,7 @@ class Auxels_System_Check {
57
  $output = '<ul>';
58
  $output .= sprintf(
59
  '<li>%s</li>',
60
- $message
61
  );
62
  $output .= '</ul>';
63
 
@@ -125,7 +125,7 @@ class Auxels_System_Check {
125
  $output = '<ul>';
126
  $output .= sprintf(
127
  '<li>%s</li>',
128
- $message
129
  );
130
  $output .= '</ul>';
131
  $result['description'] = $output;
57
  $output = '<ul>';
58
  $output .= sprintf(
59
  '<li>%s</li>',
60
+ wp_kses_post( $message )
61
  );
62
  $output .= '</ul>';
63
 
125
  $output = '<ul>';
126
  $output .= sprintf(
127
  '<li>%s</li>',
128
+ wp_kses_post( $message )
129
  );
130
  $output .= '</ul>';
131
  $result['description'] = $output;
auxin-elements.php CHANGED
@@ -12,14 +12,14 @@
12
  * Plugin Name: Phlox Core Elements
13
  * Plugin URI: https://wordpress.org/plugins/auxin-elements/
14
  * Description: Exclusive and comprehensive plugin that extends the functionality of Phlox theme by adding new Elements, widgets and options.
15
- * Version: 2.9.17
16
  * Author: averta
17
  * Author URI: http://averta.net
18
  * Text Domain: auxin-elements
19
  * License: GPL2
20
  * License URI: https://www.gnu.org/licenses/gpl-2.0.html
21
  * Domain Path: /languages
22
- * Tested up to: 6.0.0
23
  */
24
 
25
  // If this file is called directly, abort.
12
  * Plugin Name: Phlox Core Elements
13
  * Plugin URI: https://wordpress.org/plugins/auxin-elements/
14
  * Description: Exclusive and comprehensive plugin that extends the functionality of Phlox theme by adding new Elements, widgets and options.
15
+ * Version: 2.9.18
16
  * Author: averta
17
  * Author URI: http://averta.net
18
  * Text Domain: auxin-elements
19
  * License: GPL2
20
  * License URI: https://www.gnu.org/licenses/gpl-2.0.html
21
  * Domain Path: /languages
22
+ * Tested up to: 6.0.1
23
  */
24
 
25
  // If this file is called directly, abort.
includes/classes/class-auxin-welcome.php CHANGED
@@ -1360,7 +1360,7 @@ class Auxin_Welcome extends Auxin_Welcome_Base {
1360
  // Return Success Notification
1361
  wp_send_json_success( array(
1362
  'button' => __( 'Import', 'auxin-elements' ),
1363
- 'url' => add_query_arg( array( 'action' => 'aux_ajax_lightbox', 'key' => $_POST['key'], 'type' => 'install' , 'nonce' => wp_create_nonce( 'aux-open-lightbox' ) ), admin_url( 'admin-ajax.php' ) ),
1364
  'markup' => ob_get_clean(),
1365
  ) );
1366
  }
@@ -1704,7 +1704,7 @@ class Auxin_Welcome extends Auxin_Welcome_Base {
1704
  }
1705
 
1706
  public function uninstall_demo_through_wizard() {
1707
- return $this->ajax_uninstall( $_POST['demo_id'], $_POST['nonce'], '2' );
1708
  }
1709
 
1710
  public function third_step( array $args, $next_step ) {
1360
  // Return Success Notification
1361
  wp_send_json_success( array(
1362
  'button' => __( 'Import', 'auxin-elements' ),
1363
+ 'url' => add_query_arg( array( 'action' => 'aux_ajax_lightbox', 'key' => sanitize_text_field( $_POST['key'] ), 'type' => 'install' , 'nonce' => wp_create_nonce( 'aux-open-lightbox' ) ), admin_url( 'admin-ajax.php' ) ),
1364
  'markup' => ob_get_clean(),
1365
  ) );
1366
  }
1704
  }
1705
 
1706
  public function uninstall_demo_through_wizard() {
1707
+ return $this->ajax_uninstall( sanitize_text_field( $_POST['demo_id'] ), sanitize_text_field( $_POST['nonce'] ), '2' );
1708
  }
1709
 
1710
  public function third_step( array $args, $next_step ) {
includes/define.php CHANGED
@@ -12,7 +12,7 @@ if( ! defined( 'THEME_NAME' ) ){
12
  }
13
 
14
 
15
- define( 'AUXELS_VERSION' , '2.9.17' );
16
 
17
  define( 'AUXELS_SLUG' , 'auxin-elements' );
18
 
12
  }
13
 
14
 
15
+ define( 'AUXELS_VERSION' , '2.9.18' );
16
 
17
  define( 'AUXELS_SLUG' , 'auxin-elements' );
18
 
includes/elementor/modules/dynamic-tags/comments-number.php CHANGED
@@ -82,7 +82,7 @@ class Comments_Number extends Tag {
82
  }
83
 
84
  if ( 'comments_link' === $this->get_settings( 'link_to' ) ) {
85
- $count = sprintf( '<a href="%s">%s</a>', get_comments_link(), $count );
86
  }
87
 
88
  echo wp_kses_post( $count );
82
  }
83
 
84
  if ( 'comments_link' === $this->get_settings( 'link_to' ) ) {
85
+ $count = sprintf( '<a href="%s">%s</a>', esc_url( get_comments_link() ), esc_html( $count ) );
86
  }
87
 
88
  echo wp_kses_post( $count );
includes/elementor/modules/dynamic-tags/request-parameter.php CHANGED
@@ -44,7 +44,7 @@ class Request_Parameter extends Tag {
44
  if ( ! isset( $_POST[ $param_name ] ) ) {
45
  return '';
46
  }
47
- $value = $_POST[ $param_name ];
48
  break;
49
  case 'GET':
50
  if ( ! isset( $_GET[ $param_name ] ) ) {
44
  if ( ! isset( $_POST[ $param_name ] ) ) {
45
  return '';
46
  }
47
+ $value = auxin_sanitize_input( $_POST[ $param_name ] );
48
  break;
49
  case 'GET':
50
  if ( ! isset( $_GET[ $param_name ] ) ) {
includes/elementor/widgets/before-after.php CHANGED
@@ -249,13 +249,13 @@ class BeforeAfter extends Widget_Base {
249
  if( ! empty( $settings['after_image'] ) ) {
250
  echo sprintf( '<div class="widget-container aux-widget-before-after"><div %s >%s %s</div></div>',
251
  $this->get_render_attribute_string( 'wrapper' ),
252
- $before_image,
253
- $after_image
254
  ) ;
255
  } else {
256
  echo sprintf( '<div class="widget-container aux-widget-before-after"><div %s >%s</div></div>',
257
  $this->get_render_attribute_string( 'wrapper' ),
258
- $before_image
259
  );
260
  }
261
 
249
  if( ! empty( $settings['after_image'] ) ) {
250
  echo sprintf( '<div class="widget-container aux-widget-before-after"><div %s >%s %s</div></div>',
251
  $this->get_render_attribute_string( 'wrapper' ),
252
+ wp_kses_post( $before_image ),
253
+ wp_kses_post( $after_image )
254
  ) ;
255
  } else {
256
  echo sprintf( '<div class="widget-container aux-widget-before-after"><div %s >%s</div></div>',
257
  $this->get_render_attribute_string( 'wrapper' ),
258
+ wp_kses_post( $before_image )
259
  );
260
  }
261
 
includes/elementor/widgets/heading-modern.php CHANGED
@@ -1214,16 +1214,16 @@ class ModernHeading extends Widget_Base {
1214
  printf( '<a %1$s><%2$s class="aux-modern-heading-secondary">%3$s%4$s%5$s</%2$s></a>',
1215
  $this->get_render_attribute_string( 'link-secondary' ),
1216
  esc_attr( $settings['title_tag_secondary'] ),
1217
- $before_heading, //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1218
- $highlight_heading, //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1219
- $after_heading //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1220
  );
1221
  } else {
1222
  printf( '<%1$s class="aux-modern-heading-secondary">%2$s%3$s%4$s</%1$s>',
1223
  esc_attr( $settings['title_tag_secondary'] ),
1224
- $before_heading, //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1225
- $highlight_heading, //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1226
- $after_heading //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1227
  );
1228
  }
1229
 
1214
  printf( '<a %1$s><%2$s class="aux-modern-heading-secondary">%3$s%4$s%5$s</%2$s></a>',
1215
  $this->get_render_attribute_string( 'link-secondary' ),
1216
  esc_attr( $settings['title_tag_secondary'] ),
1217
+ wp_kses_post( $before_heading ),
1218
+ wp_kses_post( $highlight_heading ),
1219
+ wp_kses_post( $after_heading )
1220
  );
1221
  } else {
1222
  printf( '<%1$s class="aux-modern-heading-secondary">%2$s%3$s%4$s</%1$s>',
1223
  esc_attr( $settings['title_tag_secondary'] ),
1224
+ wp_kses_post( $before_heading ),
1225
+ wp_kses_post( $highlight_heading ),
1226
+ wp_kses_post( $after_heading )
1227
  );
1228
  }
1229
 
includes/elementor/widgets/icon.php CHANGED
@@ -408,7 +408,7 @@ class Icon extends Widget_Base {
408
 
409
  ?>
410
  <div <?php echo $this->get_render_attribute_string( 'wrapper' ); ?>>
411
- <<?php echo esc_html( $icon_tag ) . ' ' . $this->get_render_attribute_string( 'icon-wrapper' ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>>
412
  <?php
413
  if ( ! empty( $settings['aux_new_icon']['value'] ) ) {
414
  \Elementor\Icons_Manager::render_icon( $settings['aux_new_icon'], [ 'aria-hidden' => 'true' ] );
@@ -422,7 +422,7 @@ class Icon extends Widget_Base {
422
  }
423
  }
424
  ?>
425
- </<?php echo esc_html( $icon_tag ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>>
426
  </div>
427
  <?php
428
  }
408
 
409
  ?>
410
  <div <?php echo $this->get_render_attribute_string( 'wrapper' ); ?>>
411
+ <<?php echo esc_html( $icon_tag ) . ' ' . $this->get_render_attribute_string( 'icon-wrapper' ); ?>>
412
  <?php
413
  if ( ! empty( $settings['aux_new_icon']['value'] ) ) {
414
  \Elementor\Icons_Manager::render_icon( $settings['aux_new_icon'], [ 'aria-hidden' => 'true' ] );
422
  }
423
  }
424
  ?>
425
+ </<?php echo esc_html( $icon_tag ); ?>>
426
  </div>
427
  <?php
428
  }
includes/elementor/widgets/theme-elements/site-title.php CHANGED
@@ -504,12 +504,12 @@ class SiteTitle extends Widget_Base {
504
  $site_url = home_url( '/' );
505
  $no_follow = auxin_is_true( $settings['link_follow'] ) ? 'rel = ”nofollow”': '';
506
  $open_window = auxin_is_true( $settings['link_open'] ) ? 'target=_blank' : '';
507
- $link_output = sprintf( '<a href="%s" title="%s" %s %s>%s</a>', $site_url, get_bloginfo( 'name', 'display' ), $no_follow, $open_window, $site_title );
508
  $site_title = $link_output;
509
  }
510
 
511
  echo $settings['title_before'] !== '' ? sprintf('<%1$s class ="aux-site-title-before-heading">%2$s</%1$s>', esc_attr( $settings['title_before_tag'] ), esc_html( $settings['title_before'] ) ) : '';
512
- echo sprintf('<%1$s class="aux-site-title-heading">%2$s</%1$s>', esc_attr( $settings['title_tag'] ), esc_html( $site_title ) );
513
  echo $settings['title_after'] !== '' ? sprintf('<%1$s class ="aux-site-title-after-heading">%2$s</%1$s>', esc_attr( $settings['title_after_tag'] ), esc_html( $settings['title_after'] ) ) : '';
514
 
515
  echo '</div>';
504
  $site_url = home_url( '/' );
505
  $no_follow = auxin_is_true( $settings['link_follow'] ) ? 'rel = ”nofollow”': '';
506
  $open_window = auxin_is_true( $settings['link_open'] ) ? 'target=_blank' : '';
507
+ $link_output = sprintf( '<a href="%s" title="%s" %s %s>%s</a>', esc_url( $site_url ), get_bloginfo( 'name', 'display' ), $no_follow, $open_window, $site_title );
508
  $site_title = $link_output;
509
  }
510
 
511
  echo $settings['title_before'] !== '' ? sprintf('<%1$s class ="aux-site-title-before-heading">%2$s</%1$s>', esc_attr( $settings['title_before_tag'] ), esc_html( $settings['title_before'] ) ) : '';
512
+ echo sprintf('<%1$s class="aux-site-title-heading">%2$s</%1$s>', esc_attr( $settings['title_tag'] ), wp_kses_post( $site_title ) );
513
  echo $settings['title_after'] !== '' ? sprintf('<%1$s class ="aux-site-title-after-heading">%2$s</%1$s>', esc_attr( $settings['title_after_tag'] ), esc_html( $settings['title_after'] ) ) : '';
514
 
515
  echo '</div>';
includes/elements/recent-posts-grid-carousel.php CHANGED
@@ -949,7 +949,6 @@ function auxin_widget_recent_posts_callback( $atts, $shortcode_content = null ){
949
  $post_counter = 0;
950
  $column_class = '';
951
  $item_class = 'aux-col';
952
- $carousel_attrs = '';
953
 
954
  $columns_custom_styles = '';
955
 
@@ -975,25 +974,6 @@ function auxin_widget_recent_posts_callback( $atts, $shortcode_content = null ){
975
  } elseif ( in_array( $preview_mode, array('carousel', 'carousel-modern') ) ) {
976
  $column_class = 'master-carousel aux-no-js aux-mc-before-init' . ' aux-' . $carousel_nav_control_pos . '-control';
977
  $item_class = 'aux-mc-item';
978
-
979
- // genereate the master carousel attributes
980
- $carousel_attrs = 'data-columns="' . esc_attr( $desktop_cnum ) . '"';
981
- $carousel_attrs .= auxin_is_true( $carousel_autoplay ) ? ' data-autoplay="true"' : '';
982
- $carousel_attrs .= auxin_is_true( $carousel_autoplay ) ? ' data-delay="' . esc_attr( $carousel_autoplay_delay ) . '"' : '';
983
- $carousel_attrs .= ' data-navigation="' . esc_attr( $carousel_navigation ) . '"';
984
- $carousel_attrs .= ' data-space="' . esc_attr( $carousel_space ). '"';
985
- $carousel_attrs .= auxin_is_true( $carousel_loop ) ? ' data-loop="' . esc_attr( $carousel_loop ) . '"' : '';
986
- $carousel_attrs .= ' data-wrap-controls="true"';
987
- $carousel_attrs .= ' data-bullets="' . ('bullets' == $carousel_navigation_control ? 'true' : 'false') . '"';
988
- $carousel_attrs .= ' data-bullet-class="aux-bullets aux-small aux-mask"';
989
- $carousel_attrs .= ' data-arrows="' . ('arrows' == $carousel_navigation_control ? 'true' : 'false') . '"';
990
- $carousel_attrs .= ' data-same-height="true"';
991
-
992
- if ( 'inherit' != $tablet_cnum || 'inherit' != $phone_cnum ) {
993
- $carousel_attrs .= ' data-responsive="'. esc_attr( ( 'inherit' != $tablet_cnum ? $tablet_break_point . ':' . $tablet_cnum . ',' : '' ).
994
- ( 'inherit' != $phone_cnum ? $phone_break_point . ':' . $phone_cnum : '' ) ) . '"';
995
- }
996
-
997
  }
998
 
999
  if ( 'grid-table' == $preview_mode ) {
@@ -1023,7 +1003,25 @@ function auxin_widget_recent_posts_callback( $atts, $shortcode_content = null ){
1023
 
1024
  if( $have_posts ){
1025
 
1026
- echo ! $skip_wrappers ? sprintf( '<div data-element-id="%s" class="%s" %s>', esc_attr( $universal_id ), esc_attr( $column_class ), $carousel_attrs ) : '';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1027
 
1028
  while ( $wp_query->have_posts() ) {
1029
 
949
  $post_counter = 0;
950
  $column_class = '';
951
  $item_class = 'aux-col';
 
952
 
953
  $columns_custom_styles = '';
954
 
974
  } elseif ( in_array( $preview_mode, array('carousel', 'carousel-modern') ) ) {
975
  $column_class = 'master-carousel aux-no-js aux-mc-before-init' . ' aux-' . $carousel_nav_control_pos . '-control';
976
  $item_class = 'aux-mc-item';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
977
  }
978
 
979
  if ( 'grid-table' == $preview_mode ) {
1003
 
1004
  if( $have_posts ){
1005
 
1006
+ if ( ! $skip_wrappers ) {
1007
+ if ( in_array( $preview_mode, array('carousel', 'carousel-modern') ) ) {
1008
+ echo sprintf( '<div data-element-id="%s" class="%s" data-same-height="true" data-wrap-controls="true" data-bullet-class="aux-bullets aux-small aux-mask" %s %s %s %s %s %s %s %s %s >',
1009
+ esc_attr( $universal_id ),
1010
+ esc_attr( $column_class ),
1011
+ 'data-columns="' . esc_attr( $desktop_cnum ) . '"',
1012
+ auxin_is_true( $carousel_autoplay ) ? ' data-autoplay="true"' : '',
1013
+ auxin_is_true( $carousel_autoplay ) ? ' data-delay="' . esc_attr( $carousel_autoplay_delay ) . '"' : '',
1014
+ 'data-navigation="' . esc_attr( $carousel_navigation ) . '"',
1015
+ 'data-space="' . esc_attr( $carousel_space ). '"',
1016
+ auxin_is_true( $carousel_loop ) ? ' data-loop="' . esc_attr( $carousel_loop ) . '"' : '',
1017
+ 'data-bullets="' . ('bullets' == $carousel_navigation_control ? 'true' : 'false') . '"',
1018
+ 'data-arrows="' . ('arrows' == $carousel_navigation_control ? 'true' : 'false') . '"',
1019
+ ( 'inherit' != $tablet_cnum || 'inherit' != $phone_cnum ) ? 'data-responsive="'. esc_attr( ( 'inherit' != $tablet_cnum ? $tablet_break_point . ':' . $tablet_cnum . ',' : '' ) . ( 'inherit' != $phone_cnum ? $phone_break_point . ':' . $phone_cnum : '' ) ) . '"' : '',
1020
+ );
1021
+ } else {
1022
+ echo sprintf( '<div data-element-id="%s" class="%s">', esc_attr( $universal_id ), esc_attr( $column_class ) );
1023
+ }
1024
+ }
1025
 
1026
  while ( $wp_query->have_posts() ) {
1027
 
includes/elements/recent-posts-tiles-carousel.php CHANGED
@@ -657,24 +657,22 @@ function auxin_widget_recent_posts_tiles_carousel_callback( $atts, $shortcode_co
657
  }
658
 
659
  $container_class = 'master-carousel aux-no-js aux-mc-before-init ' . $tile_style;
660
- // genereate the master carousel attributes
661
- $carousel_attrs = 'data-columns="1"';
662
- $carousel_attrs .= ' data-autoplay="'. esc_attr( $carousel_autoplay ) .'"';
663
- $carousel_attrs .= ' data-navigation="' . esc_attr( $carousel_navigation ) . '"';
664
- $carousel_attrs .= ' data-loop="' . esc_attr( $carousel_loop ) . '"';
665
- $carousel_attrs .= ' data-delay="' . esc_attr( $carousel_autoplay_delay ) . '"';
666
- $carousel_attrs .= ' data-wrap-controls="true"';
667
- $carousel_attrs .= ' data-bullets="' . ('bullets' == $carousel_navigation_control ? 'true' : 'false') . '"';
668
- $carousel_attrs .= ' data-bullet-class="aux-bullets aux-small aux-mask"';
669
- $carousel_attrs .= ' data-arrows="' . ('arrows' == $carousel_navigation_control ? 'true' : 'false') . '"';
670
- $carousel_attrs .= ' data-same-height="false"';
671
 
672
  $have_posts = $wp_query->have_posts();
673
 
674
  if( $have_posts ){
675
 
676
 
677
- echo ! $skip_wrappers ? sprintf( '<div data-lazyload="true" data-element-id="%s" class="%s" %s>', esc_attr( $universal_id ), esc_attr( $container_class ), $carousel_attrs ) : ''; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
 
 
 
 
 
 
 
 
 
678
 
679
  while ( $wp_query->have_posts() ) {
680
  $item_pattern_info = auxin_get_tile_pattern( $tile_style_pattern , $post_counter, $aux_content_width );
657
  }
658
 
659
  $container_class = 'master-carousel aux-no-js aux-mc-before-init ' . $tile_style;
 
 
 
 
 
 
 
 
 
 
 
660
 
661
  $have_posts = $wp_query->have_posts();
662
 
663
  if( $have_posts ){
664
 
665
 
666
+ echo ! $skip_wrappers ? sprintf( '<div data-lazyload="true" data-element-id="%s" class="%s" data-columns="1" data-autoplay="%s" data-navigation="%s" data-loop="%s" data-delay="%s" data-wrap-controls="true" data-bullets="%s" data-bullet-class="aux-bullets aux-small aux-mask" data-arrows="%s" data-same-height="false">',
667
+ esc_attr( $universal_id ),
668
+ esc_attr( $container_class ),
669
+ esc_attr( $carousel_autoplay ),
670
+ esc_attr( $carousel_navigation ),
671
+ esc_attr( $carousel_loop ),
672
+ esc_attr( $carousel_autoplay_delay ),
673
+ 'bullets' == $carousel_navigation_control ? 'true' : 'false',
674
+ 'arrows' == $carousel_navigation_control ? 'true' : 'false'
675
+ ) : '';
676
 
677
  while ( $wp_query->have_posts() ) {
678
  $item_pattern_info = auxin_get_tile_pattern( $tile_style_pattern , $post_counter, $aux_content_width );
includes/elements/recent-products.php CHANGED
@@ -503,8 +503,6 @@ function auxin_widget_the_recent_products_callback( $atts, $shortcode_content =
503
  $size = array( 'width' => $column_media_width, 'height' => $column_media_width * $image_aspect_ratio );
504
  }
505
 
506
- $column_attrs = '';
507
-
508
  if ( !empty( $show_pagination ) ) {
509
  $requiredData = array(
510
  'display_price' => $result['parsed_atts']['display_price'],
@@ -532,11 +530,10 @@ function auxin_widget_the_recent_products_callback( $atts, $shortcode_content =
532
  'image_aspect_ratio' => $result['parsed_atts']['image_aspect_ratio'],
533
  );
534
 
535
- $column_attrs .= " data-widget-data='" . wp_json_encode( $requiredData ) . "'";
536
  echo '<div class="aux-isotope-animated"><div class="aux-items-loading aux-loading-hide"><div class="aux-loading-loop"><svg class="aux-circle" width="100%" height="100%" viewBox="0 0 42 42"><circle class="aux-stroke-bg" r="20" cx="21" cy="21" fill="none"></circle><circle class="aux-progress" r="20" cx="21" cy="21" fill="none" transform="rotate(-90 21 21)"></circle></svg></div></div></div>';
537
  }
538
 
539
- echo '<div class="'. esc_attr( $column_class ) .'" ' . $column_attrs . '>'; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
540
 
541
  $have_posts = $wp_query->have_posts();
542
 
503
  $size = array( 'width' => $column_media_width, 'height' => $column_media_width * $image_aspect_ratio );
504
  }
505
 
 
 
506
  if ( !empty( $show_pagination ) ) {
507
  $requiredData = array(
508
  'display_price' => $result['parsed_atts']['display_price'],
530
  'image_aspect_ratio' => $result['parsed_atts']['image_aspect_ratio'],
531
  );
532
 
 
533
  echo '<div class="aux-isotope-animated"><div class="aux-items-loading aux-loading-hide"><div class="aux-loading-loop"><svg class="aux-circle" width="100%" height="100%" viewBox="0 0 42 42"><circle class="aux-stroke-bg" r="20" cx="21" cy="21" fill="none"></circle><circle class="aux-progress" r="20" cx="21" cy="21" fill="none" transform="rotate(-90 21 21)"></circle></svg></div></div></div>';
534
  }
535
 
536
+ echo '<div class="'. esc_attr( $column_class ) .'" ' . ( !empty( $show_pagination ) ? "data-widget-data='" . auxin_escape_json( $requiredData ) . "'" : '' ) . ">";
537
 
538
  $have_posts = $wp_query->have_posts();
539
 
includes/elements/text.php CHANGED
@@ -1148,13 +1148,13 @@ function auxin_widget_column_callback( $atts, $shortcode_content = null ){
1148
  // widget header ------------------------------
1149
  echo wp_kses_post( $result['widget_header'] );
1150
  ?>
1151
- <div class="<?php echo esc_attr( $main_classes ) ;?>" <?php echo wp_kses_post( $main_styles ) ; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>>
1152
  <?php if ( ! empty( $overlay_color ) ) { ?>
1153
- <div class="aux-text-widget-overlay" <?php echo wp_kses_post( $overlay_style ) ; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>></div>
1154
  <?php } ?>
1155
 
1156
  <?php if( ! empty( $icon ) || ! empty( $image ) || ! empty( $header_bg_img ) || ! empty( $icon_svg_inline ) ) { ?>
1157
- <div class="aux-text-widget-header <?php echo esc_attr( $header_classess ) ;?>" <?php echo wp_kses_post( $header_styles ) ;//phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> >
1158
  <div class="aux-ico-box <?php echo esc_attr( $icon_box_classnames ) ;?> ">
1159
  <?php if ( ! empty( $icon ) ){ ;?>
1160
  <span class="aux-ico <?php echo esc_attr( $icon_classname ) ;?>" > </span>
@@ -1187,7 +1187,7 @@ function auxin_widget_column_callback( $atts, $shortcode_content = null ){
1187
  </div>
1188
  <?php if ( ! empty( $footer_classess ) ) { ?>
1189
  <div class="aux-text-widget-footer">
1190
- <div class="<?php echo esc_attr( $footer_classess ); ?>"<?php echo wp_kses_post( $footer_styles ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>>
1191
  <?php if ( 'wave' === $footer_shape ){?>
1192
  <svg width="100%" height="16">
1193
  <defs>
1148
  // widget header ------------------------------
1149
  echo wp_kses_post( $result['widget_header'] );
1150
  ?>
1151
+ <div class="<?php echo esc_attr( $main_classes ) ;?>" <?php echo wp_kses_post( $main_styles ); ?>>
1152
  <?php if ( ! empty( $overlay_color ) ) { ?>
1153
+ <div class="aux-text-widget-overlay" <?php echo wp_kses_post( $overlay_style ) ; ?>></div>
1154
  <?php } ?>
1155
 
1156
  <?php if( ! empty( $icon ) || ! empty( $image ) || ! empty( $header_bg_img ) || ! empty( $icon_svg_inline ) ) { ?>
1157
+ <div class="aux-text-widget-header <?php echo esc_attr( $header_classess ) ;?>" <?php echo wp_kses_post( $header_styles ) ; ?> >
1158
  <div class="aux-ico-box <?php echo esc_attr( $icon_box_classnames ) ;?> ">
1159
  <?php if ( ! empty( $icon ) ){ ;?>
1160
  <span class="aux-ico <?php echo esc_attr( $icon_classname ) ;?>" > </span>
1187
  </div>
1188
  <?php if ( ! empty( $footer_classess ) ) { ?>
1189
  <div class="aux-text-widget-footer">
1190
+ <div class="<?php echo esc_attr( $footer_classess ); ?>"<?php echo wp_kses_post( $footer_styles ); ?>>
1191
  <?php if ( 'wave' === $footer_shape ){?>
1192
  <svg width="100%" height="16">
1193
  <defs>
includes/general-functions.php CHANGED
@@ -186,7 +186,7 @@ function auxin_elementor_plugin_missing_notice( $args ){
186
  ?>
187
  <div class="elementor-alert elementor-alert-danger" role="alert">
188
  <span class="elementor-alert-title">
189
- <?php echo sprintf( esc_html__( '"%s" Plugin is Not Activated!', 'auxin-elements' ), $args['plugin_name'] ); ?>
190
  </span>
191
  <span class="elementor-alert-description">
192
  <?php esc_html_e( 'In order to use this element, you need to install and activate this plugin.', 'auxin-elements' ); ?>
@@ -2566,4 +2566,20 @@ function auxin_sanitize_input( $input ) {
2566
  }
2567
 
2568
  return $input;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2569
  }
186
  ?>
187
  <div class="elementor-alert elementor-alert-danger" role="alert">
188
  <span class="elementor-alert-title">
189
+ <?php echo sprintf( esc_html__( '"%s" Plugin is Not Activated!', 'auxin-elements' ), esc_html( $args['plugin_name'] ) ); ?>
190
  </span>
191
  <span class="elementor-alert-description">
192
  <?php esc_html_e( 'In order to use this element, you need to install and activate this plugin.', 'auxin-elements' ); ?>
2566
  }
2567
 
2568
  return $input;
2569
+ }
2570
+
2571
+ /**
2572
+ * Escape array and return json encoded data
2573
+ *
2574
+ * @param array $json_array
2575
+ * @return string
2576
+ */
2577
+ function auxin_escape_json( $json_array ) {
2578
+ array_walk_recursive( $json_array, function( &$value, $key ) {
2579
+ if ( !is_array( $value ) ) {
2580
+ $value = esc_attr( $value );
2581
+ }
2582
+ });
2583
+
2584
+ return wp_json_encode( $json_array );
2585
  }
languages/auxin-elements-fa_IR.po CHANGED
@@ -2,7 +2,7 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Auxin Essential Elements\n"
4
  "Report-Msgid-Bugs-To: http://averta.net/phlox/wordpress-theme/\n"
5
- "POT-Creation-Date: 2022-07-22 11:05:29+00:00\n"
6
  "PO-Revision-Date: 2016-11-09 12:50+0330\n"
7
  "Last-Translator: \n"
8
  "Language-Team: \n"
2
  msgstr ""
3
  "Project-Id-Version: Auxin Essential Elements\n"
4
  "Report-Msgid-Bugs-To: http://averta.net/phlox/wordpress-theme/\n"
5
+ "POT-Creation-Date: 2022-07-23 08:49:42+00:00\n"
6
  "PO-Revision-Date: 2016-11-09 12:50+0330\n"
7
  "Last-Translator: \n"
8
  "Language-Team: \n"
languages/auxin-elements.pot CHANGED
@@ -1,9 +1,9 @@
1
  # Averta Copyright (c) {2022}
2
  msgid ""
3
  msgstr ""
4
- "Project-Id-Version: Phlox Core Elements 2.9.17\n"
5
  "Report-Msgid-Bugs-To: http://averta.net/phlox/wordpress-theme/\n"
6
- "POT-Creation-Date: 2022-07-22 11:05:29+00:00\n"
7
  "MIME-Version: 1.0\n"
8
  "Content-Type: text/plain; charset=utf-8\n"
9
  "Content-Transfer-Encoding: 8bit\n"
1
  # Averta Copyright (c) {2022}
2
  msgid ""
3
  msgstr ""
4
+ "Project-Id-Version: Phlox Core Elements 2.9.18\n"
5
  "Report-Msgid-Bugs-To: http://averta.net/phlox/wordpress-theme/\n"
6
+ "POT-Creation-Date: 2022-07-23 08:49:42+00:00\n"
7
  "MIME-Version: 1.0\n"
8
  "Content-Type: text/plain; charset=utf-8\n"
9
  "Content-Transfer-Encoding: 8bit\n"
public/assets/js/plugins.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! Phlox Core Plugin - v2.9.17 (2022-07)
2
  * All required plugins
3
  * http://phlox.pro/
4
  */
1
+ /*! Phlox Core Plugin - v2.9.18 (2022-07)
2
  * All required plugins
3
  * http://phlox.pro/
4
  */
public/includes/frontend-ajax.php CHANGED
@@ -198,7 +198,7 @@ function auxels_add_product_to_cart() {
198
  try {
199
 
200
  $product_id = isset( $_POST['product_id'] ) ? absint( $_POST['product_id'] ) : '';
201
- $quantity = empty( $_POST['quantity'] ) ? 1 : wc_stock_amount( $_POST['quantity'] );
202
  $passed_validation = apply_filters( 'woocommerce_add_to_cart_validation', true, $product_id, $quantity );
203
 
204
  if( empty( $product_id ) ){
@@ -325,8 +325,8 @@ function auxels_ajax_search() {
325
  $result = $search_instance->search_general_post_types();
326
  break;
327
  }
328
- $result['fromTitle'] = sprintf( esc_html__( 'From %s', 'auxin-elements' ), $available_search_post_types[ $post_type ]);
329
- $result['noResultMessage'] = sprintf( esc_html__( "Nothing found in %s", 'auxin-elements' ), $available_search_post_types[ $post_type ]);
330
  $results[] = $result;
331
 
332
  }
198
  try {
199
 
200
  $product_id = isset( $_POST['product_id'] ) ? absint( $_POST['product_id'] ) : '';
201
+ $quantity = empty( $_POST['quantity'] ) ? 1 : wc_stock_amount( absint( $_POST['quantity'] ) );
202
  $passed_validation = apply_filters( 'woocommerce_add_to_cart_validation', true, $product_id, $quantity );
203
 
204
  if( empty( $product_id ) ){
325
  $result = $search_instance->search_general_post_types();
326
  break;
327
  }
328
+ $result['fromTitle'] = sprintf( esc_html__( 'From %s', 'auxin-elements' ), esc_html( $available_search_post_types[ $post_type ] ) );
329
+ $result['noResultMessage'] = sprintf( esc_html__( "Nothing found in %s", 'auxin-elements' ), esc_html( $available_search_post_types[ $post_type ] ) );
330
  $results[] = $result;
331
 
332
  }