Shortcodes and extra features for Phlox theme - Version 2.5.3

Version Description

Download this release

Release Info

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

Code changes from version 2.5.2 to 2.5.3

README.txt CHANGED
@@ -7,7 +7,7 @@ Tags: phlox, gallery, elementor, siteorigin, auxin, averta, auxin-elements, fram
7
  Requires PHP: 5.4
8
  Requires at least: 4.6
9
  Tested up to: 5.3.3
10
- Stable tag: 2.5.2
11
  License: GPLv3
12
  License URI: http://www.gnu.org/licenses/gpl.html
13
 
7
  Requires PHP: 5.4
8
  Requires at least: 4.6
9
  Tested up to: 5.3.3
10
+ Stable tag: 2.5.3
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.5.2 (2020-03-16)
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.5.3 (2020-03-17)
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-hooks.php CHANGED
@@ -323,6 +323,8 @@ function auxels_add_page_metabox_models( $models ){
323
  include_once( 'metaboxes/metabox-fields-general-custom-logo.php');
324
  include_once( 'metaboxes/metabox-fields-general-top-header.php');
325
  include_once( 'metaboxes/metabox-fields-general-header.php');
 
 
326
  include_once( 'metaboxes/metabox-fields-general-footer.php');
327
  include_once( 'metaboxes/metabox-fields-page-template.php');
328
 
@@ -347,25 +349,35 @@ function auxels_add_page_metabox_models( $models ){
347
  );
348
 
349
  $models[] = array(
350
- 'model' => auxin_metabox_fields_general_footer(),
351
  'priority' => 9
352
  );
353
 
354
  $models[] = array(
355
- 'model' => auxin_metabox_fields_general_advanced(),
356
  'priority' => 10
357
  );
358
 
359
  $models[] = array(
360
- 'model' => auxin_metabox_fields_general_header(),
361
  'priority' => 11
362
  );
363
 
364
  $models[] = array(
365
- 'model' => auxin_metabox_fields_general_top_header(),
366
  'priority' => 12
367
  );
368
 
 
 
 
 
 
 
 
 
 
 
369
  return $models;
370
  }
371
 
323
  include_once( 'metaboxes/metabox-fields-general-custom-logo.php');
324
  include_once( 'metaboxes/metabox-fields-general-top-header.php');
325
  include_once( 'metaboxes/metabox-fields-general-header.php');
326
+ include_once( 'metaboxes/metabox-fields-general-footer-template-settings.php');
327
+ include_once( 'metaboxes/metabox-fields-general-footer-template.php');
328
  include_once( 'metaboxes/metabox-fields-general-footer.php');
329
  include_once( 'metaboxes/metabox-fields-page-template.php');
330
 
349
  );
350
 
351
  $models[] = array(
352
+ 'model' => auxin_metabox_fields_footer_templates(),
353
  'priority' => 9
354
  );
355
 
356
  $models[] = array(
357
+ 'model' => auxin_metabox_fields_footer_templates_settings(),
358
  'priority' => 10
359
  );
360
 
361
  $models[] = array(
362
+ 'model' => auxin_metabox_fields_general_advanced(),
363
  'priority' => 11
364
  );
365
 
366
  $models[] = array(
367
+ 'model' => auxin_metabox_fields_general_header(),
368
  'priority' => 12
369
  );
370
 
371
+ $models[] = array(
372
+ 'model' => auxin_metabox_fields_general_top_header(),
373
+ 'priority' => 13
374
+ );
375
+
376
+ $models[] = array(
377
+ 'model' => auxin_metabox_fields_general_footer(),
378
+ 'priority' => 14
379
+ );
380
+
381
  return $models;
382
  }
383
 
admin/includes/metaboxes/metabox-fields-general-footer-template-settings.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adds fields for footer templates settings metabox
4
+ *
5
+ * undefined
6
+ */
7
+
8
+ // no direct access allowed
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit;
11
+ }
12
+
13
+
14
+ function auxin_metabox_fields_footer_templates_settings() {
15
+
16
+ $model = new Auxin_Metabox_Model();
17
+ $model->id = 'footer-templates-settings';
18
+ $model->title = __( 'Footer Templates Settings', 'auxin-elements' );
19
+ $model->fields = array(
20
+
21
+ array(
22
+ 'title' => __( 'Footer Copyright Text', 'auxin-elements' ),
23
+ 'description' => __( 'Enter your copyright text to display on footer.', 'auxin-elements' ),
24
+ 'id' => 'page_footer_copyright',
25
+ 'type' => 'textarea',
26
+ ),
27
+
28
+ array(
29
+ 'title' => __( 'Show Phlox attribution', 'auxin-elements' ),
30
+ 'description' => __( 'Show the "Powered By Phlox" text with link to Phlox homepage in footer.', 'auxin-elements' ),
31
+ 'id' => 'page_footer_attribution',
32
+ 'type' => 'select',
33
+ 'default' => 'default',
34
+ 'choices' => array(
35
+ 'default' => __( 'Theme Default', 'auxin-elements' ),
36
+ 'yes' => __( 'Yes', 'auxin-elements' ),
37
+ 'no' => __( 'No', 'auxin-elements' ),
38
+ ),
39
+ ),
40
+
41
+ array(
42
+ 'title' => __( 'Enbale Sticky Footer', 'auxin-elements' ),
43
+ 'description' => __( 'Enable this option to pin the footer and subfooter to bottom of the website.', 'auxin-elements' ),
44
+ 'id' => 'page_footer_is_sticky',
45
+ 'type' => 'select',
46
+ 'default' => 'default',
47
+ 'choices' => array(
48
+ 'default' => __( 'Theme Default', 'auxin-elements' ),
49
+ 'yes' => __( 'Yes', 'auxin-elements' ),
50
+ 'no' => __( 'No', 'auxin-elements' ),
51
+ ),
52
+ ),
53
+
54
+ );
55
+
56
+ return $model;
57
+ }
admin/includes/metaboxes/metabox-fields-general-footer-template.php ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adds fields for footer templates metabox
4
+ *
5
+ * undefined
6
+ */
7
+
8
+ // no direct access allowed
9
+ if ( ! defined('ABSPATH') ) exit;
10
+
11
+
12
+ function auxin_metabox_fields_footer_templates(){
13
+
14
+ $model = new Auxin_Metabox_Model();
15
+ $model->id = 'footer-templates';
16
+ $model->title = __('Footer Templates', 'auxin-elements');
17
+ $model->fields = [];
18
+
19
+ if ( auxin_is_plugin_active( 'elementor/elementor.php' ) ) {
20
+
21
+ $model->fields[] = array(
22
+ 'title' => __( 'Current Footer', THEME_DOMAIN ),
23
+ 'id' => 'page_elementor_footer_edit_template',
24
+ 'type' => 'edit_template',
25
+ 'template' => 'footer',
26
+ 'dependency' => array(
27
+ array(
28
+ 'id' => 'page_footer_use_legacy',
29
+ 'value' => array( 'no' ),
30
+ 'operator'=> '!='
31
+ ),
32
+ ),
33
+ );
34
+
35
+
36
+ $templates_list = auxin_get_elementor_templates_list('footer');
37
+ $templates_list[ auxin_get_option( 'site_elementor_footer_template' ) . '-def'] = __( 'Theme Default', THEME_DOMAIN );
38
+
39
+ $model->fields[] = array(
40
+ 'title' => __( 'Your Footers', THEME_DOMAIN ),
41
+ 'id' => 'page_elementor_footer_template',
42
+ 'type' => 'selective_list',
43
+ 'choices' => $templates_list,
44
+ 'dependency' => array(
45
+ array(
46
+ 'id' => 'page_footer_use_legacy',
47
+ 'value' => array( 'no' ),
48
+ 'operator'=> '!='
49
+ ),
50
+ ),
51
+ 'related_controls' => ['page_elementor_footer_edit_template']
52
+ );
53
+
54
+ } else {
55
+ $model->fields[] = array(
56
+ 'title' => __( 'Footer Builder', THEME_DOMAIN ),
57
+ 'description' => __( 'Get footer builder and templates by installing Elementor plugin.', THEME_DOMAIN ),
58
+ 'id' => 'page_footer_install_elementor',
59
+ 'section' => 'footer-section-builder',
60
+ 'type' => 'install_elementor_plugin',
61
+ );
62
+ }
63
+
64
+ $model->fields[] = array(
65
+ 'title' => __( 'Use Legacy Footer', THEME_DOMAIN ),
66
+ 'description' => __( 'Disable it to replace footer section with an Elementor template', THEME_DOMAIN ),
67
+ 'id' => 'page_footer_use_legacy',
68
+ 'type' => 'select',
69
+ 'transport' => 'postMessage',
70
+ 'default' => 'default',
71
+ 'related_controls' => ['page_top_footer_section_use_legacy', 'page_footer_section_use_legacy'],
72
+ 'choices' => array(
73
+ 'default' => __( 'Theme Default', 'auxin-elements' ),
74
+ 'yes' => __( 'Yes', 'auxin-elements' ),
75
+ 'no' => __( 'No', 'auxin-elements' ),
76
+ ),
77
+ );
78
+
79
+ return $model;
80
+ }
admin/includes/metaboxes/metabox-fields-general-footer.php CHANGED
@@ -18,9 +18,24 @@ function auxin_metabox_fields_general_footer(){
18
 
19
  $model = new Auxin_Metabox_Model();
20
  $model->id = 'general-footer';
21
- $model->title = __('Footer Setting', 'auxin-elements' );
 
22
  $model->fields = array(
23
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  array(
25
  'title' => __('Display Footer', 'auxin-elements'),
26
  'description' => __( 'Enable it to display footer on this pages.', 'auxin-elements' ),
@@ -75,60 +90,6 @@ function auxin_metabox_fields_general_footer(){
75
  'default' => 'default'
76
  ),
77
 
78
- array(
79
- 'title' => __( 'Footer Copyright Text', 'auxin-elements' ),
80
- 'description' => __( 'Enter your copyright text to display on footer.', 'auxin-elements' ),
81
- 'id' => 'page_footer_copyright',
82
- 'dependency' => array(
83
- array(
84
- 'id' => 'page_show_footer',
85
- 'value' => array('yes', 'default'),
86
- 'operator'=> '=='
87
- )
88
- ),
89
- 'type' => 'textarea'
90
- ),
91
-
92
- array(
93
- 'title' => __( 'Show Phlox attribution', 'auxin-elements' ),
94
- 'description' => __( 'Show the "Powered By Phlox" text with link to Phlox homepage in footer.', 'auxin-elements' ),
95
- 'id' => 'page_footer_attribution',
96
- 'dependency' => array(
97
- array(
98
- 'id' => 'page_show_footer',
99
- 'value' => array('yes', 'default'),
100
- 'operator'=> '=='
101
- )
102
- ),
103
- 'type' => 'select',
104
- 'default' => 'default',
105
- 'choices' => array(
106
- 'default' => __( 'Theme Default', 'auxin-elements' ),
107
- 'yes' => __( 'Yes', 'auxin-elements' ),
108
- 'no' => __( 'No', 'auxin-elements' ),
109
- ),
110
- ),
111
-
112
- array(
113
- 'title' => __( 'Enbale Sticky Footer', 'auxin-elements' ),
114
- 'description' => __( 'Enable this option to pin the footer and subfooter to bottom of the website.', 'auxin-elements' ),
115
- 'id' => 'page_footer_is_sticky',
116
- 'dependency' => array(
117
- array(
118
- 'id' => 'page_show_footer',
119
- 'value' => array('yes', 'default'),
120
- 'operator'=> '=='
121
- )
122
- ),
123
- 'type' => 'select',
124
- 'default' => 'default',
125
- 'choices' => array(
126
- 'default' => __( 'Theme Default', 'auxin-elements' ),
127
- 'yes' => __( 'Yes', 'auxin-elements' ),
128
- 'no' => __( 'No', 'auxin-elements' ),
129
- ),
130
- ),
131
-
132
  array(
133
  'title' => __( 'Footer Background Color', 'auxin-elements' ),
134
  'description' => __( 'Specifies the background color for footer', 'auxin-elements' ),
18
 
19
  $model = new Auxin_Metabox_Model();
20
  $model->id = 'general-footer';
21
+ $model->title = __('Footer', 'auxin-elements' );
22
+ $model->is_deprecated = true;
23
  $model->fields = array(
24
 
25
+ array(
26
+ 'title' => __( 'Use Legacy Footer', THEME_DOMAIN ),
27
+ 'description' => __( 'Disable it to replace header section with an Elementor template', THEME_DOMAIN ),
28
+ 'id' => 'page_general_footer_section_use_legacy',
29
+ 'type' => 'select',
30
+ 'transport' => 'postMessage',
31
+ 'default' => 'default',
32
+ 'related_controls' => ['page_footer_use_legacy'],
33
+ 'choices' => array(
34
+ 'default' => __( 'Theme Default', 'auxin-elements' ),
35
+ 'yes' => __( 'Yes', 'auxin-elements' ),
36
+ 'no' => __( 'No', 'auxin-elements' ),
37
+ ),
38
+ ),
39
  array(
40
  'title' => __('Display Footer', 'auxin-elements'),
41
  'description' => __( 'Enable it to display footer on this pages.', 'auxin-elements' ),
90
  'default' => 'default'
91
  ),
92
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
93
  array(
94
  'title' => __( 'Footer Background Color', 'auxin-elements' ),
95
  'description' => __( 'Specifies the background color for footer', 'auxin-elements' ),
auxin-elements.php CHANGED
@@ -12,7 +12,7 @@
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.5.2
16
  * Author: averta
17
  * Author URI: http://averta.net
18
  * Text Domain: auxin-elements
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.5.3
16
  * Author: averta
17
  * Author URI: http://averta.net
18
  * Text Domain: auxin-elements
includes/classes/class-auxels-search-post-type.php CHANGED
@@ -163,7 +163,7 @@ class Auxels_Search_Post_Type {
163
  $search_products_for_name->posts,
164
  $search_variations_for_name->posts
165
  );
166
-
167
  $products_id = array();
168
  foreach ($all_search_results as $key => $product) {
169
  $id = $product->ID;
@@ -208,11 +208,15 @@ class Auxels_Search_Post_Type {
208
  unset($this->query_args['meta_query']);
209
  unset($this->query_args['suppress_filters']);
210
  wp_reset_postdata();
211
- return implode( $results );
 
 
212
  } else {
 
213
  unset($this->query_args['meta_query']);
214
  unset($this->query_args['suppress_filters']);
215
- return;
 
216
  }
217
  }
218
 
@@ -249,9 +253,9 @@ class Auxels_Search_Post_Type {
249
  );
250
  }
251
  wp_reset_postdata();
252
- return implode( $results );
253
  } else {
254
- return;
255
  }
256
  }
257
 
@@ -279,9 +283,10 @@ class Auxels_Search_Post_Type {
279
  );
280
  }
281
  wp_reset_postdata();
282
- return implode( $results );
 
283
  } else {
284
- return;
285
  }
286
  }
287
 
@@ -293,4 +298,26 @@ class Auxels_Search_Post_Type {
293
  return $search_result;
294
  }
295
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
296
  }
163
  $search_products_for_name->posts,
164
  $search_variations_for_name->posts
165
  );
166
+
167
  $products_id = array();
168
  foreach ($all_search_results as $key => $product) {
169
  $id = $product->ID;
208
  unset($this->query_args['meta_query']);
209
  unset($this->query_args['suppress_filters']);
210
  wp_reset_postdata();
211
+
212
+ return $this->search_results( 'product', $results);
213
+
214
  } else {
215
+
216
  unset($this->query_args['meta_query']);
217
  unset($this->query_args['suppress_filters']);
218
+
219
+ return $this->search_results( 'product' );
220
  }
221
  }
222
 
253
  );
254
  }
255
  wp_reset_postdata();
256
+ return $this->search_results( $this->query_args['post_type'], $results );
257
  } else {
258
+ return $this->search_results( $this->query_args['post_type'] );
259
  }
260
  }
261
 
283
  );
284
  }
285
  wp_reset_postdata();
286
+
287
+ return $this->search_results( 'portfloio', $results );
288
  } else {
289
+ return $this->search_results( 'portfolio' );
290
  }
291
  }
292
 
298
  return $search_result;
299
  }
300
 
301
+ /**
302
+ * Return Search results as array
303
+ *
304
+ * @param string $post_type
305
+ * @param array $results
306
+ *
307
+ * @return array
308
+ */
309
+ public function search_results( $post_type = 'post', $results = array() ) {
310
+ return array(
311
+ 'postType' => $post_type,
312
+ 'results' => $results,
313
+ 'searchLink' => add_query_arg(
314
+ array(
315
+ 's' => $this->s,
316
+ 'post_type' => $post_type
317
+ ),
318
+ get_site_url()
319
+ )
320
+ );
321
+ }
322
+
323
  }
includes/classes/class-auxin-welcome.php CHANGED
@@ -1238,7 +1238,7 @@ class Auxin_Welcome extends Auxin_Welcome_Base {
1238
  ?>
1239
  <div class="aux-setup-demo-content aux-content-col aux-step-import-completed">
1240
  <img src="<?php echo esc_url( AUXELS_ADMIN_URL . '/assets/images/welcome/completed.svg' ); ?>" />
1241
- <div><h2 class="aux-step-import-title"><?php esc_html_e( 'Done!' ); ?></h2></div>
1242
  <p class="aux-step-description"><?php esc_html_e( "Demo has been successfully uninstalled.", 'auxin-elements' ); ?></p>
1243
  </div>
1244
  <div class="aux-setup-demo-actions">
@@ -1315,7 +1315,7 @@ class Auxin_Welcome extends Auxin_Welcome_Base {
1315
  <div class="grid_7 no-gutter aux-steps-col">
1316
  <div class="aux-setup-demo-content aux-content-col aux-step-import-notice">
1317
  <img src="<?php echo esc_url( AUXELS_ADMIN_URL . '/assets/images/welcome/import-notice.svg' ); ?>" />
1318
- <div><h2 class="aux-step-import-title aux-iconic-title"><?php esc_html_e( 'Notice' ); ?></h2></div>
1319
  <p class="aux-step-description">
1320
  <?php esc_html_e( "For better and faster result, it's recommended to install the demo on a clean WordPress website.", 'auxin-elements' ); ?>
1321
  </p>
@@ -1343,7 +1343,7 @@ class Auxin_Welcome extends Auxin_Welcome_Base {
1343
  <div class="grid_7 no-gutter aux-steps-col">
1344
  <div class="aux-setup-demo-content aux-content-col aux-step-import-notice">
1345
  <img src="<?php echo esc_url( AUXELS_ADMIN_URL . '/assets/images/welcome/warning.png' ); ?>" />
1346
- <div><h2 class="aux-step-import-title aux-iconic-title"><?php esc_html_e( 'Warning!' ); ?></h2></div>
1347
  <p class="aux-step-description">
1348
  <?php esc_html_e( "This process will erase all images, posts and settings of this demo...", 'auxin-elements' ); ?>
1349
  </p>
@@ -1421,7 +1421,7 @@ class Auxin_Welcome extends Auxin_Welcome_Base {
1421
  ob_start();
1422
  ?>
1423
  <div class="aux-setup-demo-content aux-content-col">
1424
- <h2><?php esc_html_e( 'Required Plugins for this demo.' ); ?></h2>
1425
  <p class="aux-step-description">
1426
  <?php esc_html_e( "For better and faster install process it's recommended to install demo on a clean WordPress website.", 'auxin-elements' ); ?>
1427
  </p>
@@ -1456,7 +1456,7 @@ class Auxin_Welcome extends Auxin_Welcome_Base {
1456
  ob_start();
1457
  ?>
1458
  <div class="aux-setup-demo-content aux-content-col aux-install-plugins">
1459
- <h2><?php esc_html_e( 'Required Plugins for this demo.' ); ?></h2>
1460
  <p class="aux-step-description"><?php esc_html_e( 'The following plugins are required to be installed for this demo.', 'auxin-elements' ); ?></p>
1461
  <ul class="aux-wizard-plugins">
1462
  <?php
1238
  ?>
1239
  <div class="aux-setup-demo-content aux-content-col aux-step-import-completed">
1240
  <img src="<?php echo esc_url( AUXELS_ADMIN_URL . '/assets/images/welcome/completed.svg' ); ?>" />
1241
+ <div><h2 class="aux-step-import-title"><?php esc_html_e( 'Done!', 'auxin-elements' ); ?></h2></div>
1242
  <p class="aux-step-description"><?php esc_html_e( "Demo has been successfully uninstalled.", 'auxin-elements' ); ?></p>
1243
  </div>
1244
  <div class="aux-setup-demo-actions">
1315
  <div class="grid_7 no-gutter aux-steps-col">
1316
  <div class="aux-setup-demo-content aux-content-col aux-step-import-notice">
1317
  <img src="<?php echo esc_url( AUXELS_ADMIN_URL . '/assets/images/welcome/import-notice.svg' ); ?>" />
1318
+ <div><h2 class="aux-step-import-title aux-iconic-title"><?php esc_html_e( 'Notice', 'auxin-elements' ); ?></h2></div>
1319
  <p class="aux-step-description">
1320
  <?php esc_html_e( "For better and faster result, it's recommended to install the demo on a clean WordPress website.", 'auxin-elements' ); ?>
1321
  </p>
1343
  <div class="grid_7 no-gutter aux-steps-col">
1344
  <div class="aux-setup-demo-content aux-content-col aux-step-import-notice">
1345
  <img src="<?php echo esc_url( AUXELS_ADMIN_URL . '/assets/images/welcome/warning.png' ); ?>" />
1346
+ <div><h2 class="aux-step-import-title aux-iconic-title"><?php esc_html_e( 'Warning!', 'auxin-elements' ); ?></h2></div>
1347
  <p class="aux-step-description">
1348
  <?php esc_html_e( "This process will erase all images, posts and settings of this demo...", 'auxin-elements' ); ?>
1349
  </p>
1421
  ob_start();
1422
  ?>
1423
  <div class="aux-setup-demo-content aux-content-col">
1424
+ <h2><?php esc_html_e( 'Required Plugins for this demo.', 'auxin-elements' ); ?></h2>
1425
  <p class="aux-step-description">
1426
  <?php esc_html_e( "For better and faster install process it's recommended to install demo on a clean WordPress website.", 'auxin-elements' ); ?>
1427
  </p>
1456
  ob_start();
1457
  ?>
1458
  <div class="aux-setup-demo-content aux-content-col aux-install-plugins">
1459
+ <h2><?php esc_html_e( 'Required Plugins for this demo.', 'auxin-elements' ); ?></h2>
1460
  <p class="aux-step-description"><?php esc_html_e( 'The following plugins are required to be installed for this demo.', 'auxin-elements' ); ?></p>
1461
  <ul class="aux-wizard-plugins">
1462
  <?php
includes/define.php CHANGED
@@ -12,7 +12,7 @@ if( ! defined( 'THEME_NAME' ) ){
12
  }
13
 
14
 
15
- define( 'AUXELS_VERSION' , '2.5.2' );
16
 
17
  define( 'AUXELS_SLUG' , 'auxin-elements' );
18
 
12
  }
13
 
14
 
15
+ define( 'AUXELS_VERSION' , '2.5.3' );
16
 
17
  define( 'AUXELS_SLUG' , 'auxin-elements' );
18
 
includes/elementor/class-auxin-elementor-core-elements.php CHANGED
@@ -595,6 +595,12 @@ final class Elements {
595
  // Add auxin custom styles
596
  wp_enqueue_style( 'auxin-elementor-widgets' , AUXELS_ADMIN_URL . '/assets/css/elementor-widgets.css' );
597
  wp_enqueue_style( 'wp-mediaelement' );
 
 
 
 
 
 
598
  }
599
 
600
  /**
595
  // Add auxin custom styles
596
  wp_enqueue_style( 'auxin-elementor-widgets' , AUXELS_ADMIN_URL . '/assets/css/elementor-widgets.css' );
597
  wp_enqueue_style( 'wp-mediaelement' );
598
+
599
+ // Enqueue header template styles in header
600
+ if( $header_template_style = auxin_get_option( 'site_elementor_header_template' ) ){
601
+ $css_file = new \Elementor\Core\Files\CSS\Post( $header_template_style );
602
+ $css_file->enqueue();
603
+ }
604
  }
605
 
606
  /**
includes/elementor/widgets/contact-form.php CHANGED
@@ -154,6 +154,37 @@ class ContactForm extends Widget_Base {
154
  /* -------------------------------------------------------------------------- */
155
  /* General Input Style */
156
  /* -------------------------------------------------------------------------- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
157
  $this->start_controls_section(
158
  'general_input_section',
159
  [
154
  /* -------------------------------------------------------------------------- */
155
  /* General Input Style */
156
  /* -------------------------------------------------------------------------- */
157
+ $this->start_controls_section(
158
+ 'labels_section',
159
+ [
160
+ 'label' => __('Labels', 'auxin-elements' ),
161
+ 'tab' => Controls_Manager::TAB_STYLE,
162
+ ]
163
+ );
164
+
165
+ $this->add_group_control(
166
+ Group_Control_Typography::get_type(),
167
+ [
168
+ 'name' => 'labels_typography',
169
+ 'label' => __( 'Typography', 'auxin-elements' ),
170
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
171
+ 'selector' => '{{WRAPPER}} label'
172
+ ]
173
+ );
174
+
175
+ $this->add_control(
176
+ 'labels_color',
177
+ [
178
+ 'label' => __( 'Color', 'auxin-elements' ),
179
+ 'type' => Controls_Manager::COLOR,
180
+ 'selectors' => [
181
+ '{{WRAPPER}} label' => 'color: {{VALUE}};'
182
+ ]
183
+ ]
184
+ );
185
+
186
+ $this->end_controls_section();
187
+
188
  $this->start_controls_section(
189
  'general_input_section',
190
  [
includes/elementor/widgets/theme-elements/copyright.php CHANGED
@@ -101,7 +101,7 @@ class Copyright extends Widget_Base {
101
  'type' => Controls_Manager::TEXT,
102
  'label' => __( 'Copyright Text', 'auxin-elements' ),
103
  'label_block' => true,
104
- 'default' => __( '© {{Y}} {{sitename}}. All rights reserved.', 'auxin-elements' ),
105
  'separator' => 'after',
106
  )
107
  );
101
  'type' => Controls_Manager::TEXT,
102
  'label' => __( 'Copyright Text', 'auxin-elements' ),
103
  'label_block' => true,
104
+ 'default' => sprintf( __( '&copy; %s. All rights reserved.', 'auxin-elements' ), '{{Y}} {{sitename}}' ),
105
  'separator' => 'after',
106
  )
107
  );
includes/elementor/widgets/theme-elements/logo.php CHANGED
@@ -655,7 +655,8 @@ class Logo extends Widget_Base {
655
  'size' => $image_size,
656
  'crop' => true,
657
  'add_hw' => true,
658
- 'upscale' => false
 
659
  )
660
  );
661
 
655
  'size' => $image_size,
656
  'crop' => true,
657
  'add_hw' => true,
658
+ 'upscale' => false,
659
+ 'preloadable' => false
660
  )
661
  );
662
 
includes/general-functions.php CHANGED
@@ -2110,8 +2110,12 @@ function auxin_get_header_template(){
2110
  * @return void
2111
  */
2112
  function auxin_get_footer_template(){
 
 
2113
  $template_ID = auxin_get_option( 'site_elementor_footer_template', '' );
2114
-
 
 
2115
  $attrs = [
2116
  'class' => ['aux-elementor-footer'],
2117
  'itemscope' => 'itemscope',
2110
  * @return void
2111
  */
2112
  function auxin_get_footer_template(){
2113
+ global $post;
2114
+
2115
  $template_ID = auxin_get_option( 'site_elementor_footer_template', '' );
2116
+ $template_ID = ( ! empty( auxin_get_post_meta( $post, 'page_elementor_footer_template' ) ) && auxin_get_post_meta($post , 'page_footer_use_legacy' ) !== 'default' ) ?
2117
+ auxin_get_post_meta( $post, 'page_elementor_footer_template' ) : $template_ID ;
2118
+
2119
  $attrs = [
2120
  'class' => ['aux-elementor-footer'],
2121
  'itemscope' => 'itemscope',
includes/general-hooks.php CHANGED
@@ -3369,8 +3369,11 @@ function auxin_override_inner_body_sections(){
3369
  remove_action( 'auxin_after_inner_body_open', 'auxin_the_main_header_section', 4 );
3370
  add_action( 'auxin_after_inner_body_open', 'auxin_get_header_template', 4 );
3371
  }
 
 
 
3372
 
3373
- if( ! auxin_is_true( auxin_get_option( 'site_footer_use_legacy', '0' ) ) ) {
3374
  remove_action( 'auxin_before_the_footer', 'auxin_the_site_footer' );
3375
  add_action( 'auxin_before_the_footer', 'auxin_get_footer_template' );
3376
  }
3369
  remove_action( 'auxin_after_inner_body_open', 'auxin_the_main_header_section', 4 );
3370
  add_action( 'auxin_after_inner_body_open', 'auxin_get_header_template', 4 );
3371
  }
3372
+ if ( 'default' === $use_legacy_footer = auxin_get_post_meta( $post, 'page_footer_use_legacy', 'default' ) ) {
3373
+ $use_legacy_footer = auxin_get_option('site_footer_use_legacy');
3374
+ }
3375
 
3376
+ if( ! auxin_is_true( $use_legacy_footer ) ) {
3377
  remove_action( 'auxin_before_the_footer', 'auxin_the_site_footer' );
3378
  add_action( 'auxin_before_the_footer', 'auxin_get_footer_template' );
3379
  }
public/assets/js/plugins.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! Phlox Core Plugin - v2.5.2 (2020-03-16)
2
  * All required plugins
3
  * http://phlox.pro/
4
  */
1
+ /*! Phlox Core Plugin - v2.5.3 (2020-03-17)
2
  * All required plugins
3
  * http://phlox.pro/
4
  */
public/includes/frontend-ajax.php CHANGED
@@ -228,85 +228,48 @@ add_action( 'wp_ajax_nopriv_auxels_add_to_cart', 'auxels_add_product_to_cart' );
228
  */
229
  function auxels_ajax_search() {
230
 
231
- $search_post_type = post_type_exists( 'product' ) ? 'product' : 'post';
232
- $second_post_type = 'post';
233
-
 
 
 
 
 
234
  $s = trim( sanitize_text_field( $_GET['s'] ) );
235
  if ( "0" == $cat = trim( sanitize_text_field( $_GET['cat'] ) ) ) {
236
  $cat = '';
237
  }
238
 
239
- // Dom Wrapper
240
- $empty_wrapper_start = "<div class='aux-empty-result'>";
241
- $empty_wrapper_end = "</div>";
242
-
243
- // Emtpy Result Message and Dom - when main post type is empty or both post types or empty
244
- $empty_result_message = esc_html__( "No Result! %s Nothing Found For: %s From %s", 'auxin-elements' );
245
- $both_empty_result_message = esc_html__( "No Result! %s Nothing Found For: %s From %s And %s", 'auxin-elements');
246
-
247
- $empty_result_dom = $empty_wrapper_start.
248
- '<span class="aux-empty-result">' .
249
- sprintf(
250
- $empty_result_message,
251
- '</br>',
252
- '<span class="aux-search-phrase">"' .$s. '"</span><br>',
253
- '<span class="aux-post-type">' .$search_post_type. '</span>'
254
- ).
255
- "</span>".
256
- $empty_wrapper_end;
257
-
258
- $both_empty_result_dom = $empty_wrapper_start.
259
- "<span class='aux-empty-result'>".
260
- sprintf(
261
- $both_empty_result_message,
262
- '</br>',
263
- '<span class="aux-search-phrase">"' .$s. '"</span><br>',
264
- '<span class="aux-post-type">' .$search_post_type. '</span>',
265
- '<span class="aux-post-type">' .$second_post_type. '</span>'
266
- ).
267
- "</span>".
268
- $empty_wrapper_end;
269
-
270
-
271
  // Start Searching First Post type
272
- $search_instance = new Auxels_Search_Post_Type($s,$cat,$search_post_type,'');
273
- if ( $search_post_type == 'product')
274
- $first_result = $search_instance->search_products();
275
- else if ($search_post_type == 'portfolio' )
276
- $first_result = $search_instance->search_portfolio();
277
- else
278
- $first_result = $search_instance->search_general_post_types();
279
-
280
- if ( empty( $first_result ) )
281
- $first_result = $empty_result_dom;
282
-
283
- if ( ! auxin_get_option( 'fullscreen_second_search_result', false )) {
284
- echo $first_result;
285
- die();
286
  }
287
 
288
- // Start Searching second post type
289
- $search_instance->set_query_args(array( 'post_type' => $second_post_type));
290
- if ( $second_post_type == 'product')
291
- $second_result = $search_instance->search_products();
292
- else if ($second_post_type == 'portfolio' )
293
- $second_result = $search_instance->search_portfolio();
294
- else
295
- $second_result = $search_instance->search_general_post_types();
296
-
297
- if ( ! empty( $second_result ) ) {
298
-
299
- $first_result .= "<span class='aux-other-search-result-label'>".esc_html__( 'From', 'auxin-elements' ).' '.$second_post_type."</span>";
300
- $first_result .= "<div class='aux-other-search-result'>";
301
- $first_result .= $second_result."</div>";
 
 
 
302
 
303
- } else if ( $first_result == $empty_result_dom) {
304
- $first_result = $both_empty_result_dom;
305
  }
306
 
307
- echo $first_result;
308
- die();
309
  }
310
 
311
- add_action( 'wp_ajax_auxin_ajax_search', 'auxels_ajax_search' );
312
- add_action( 'wp_ajax_nopriv_auxin_ajax_search', 'auxels_ajax_search');
228
  */
229
  function auxels_ajax_search() {
230
 
231
+ $available_search_post_types = auxin_get_available_post_types_for_search();
232
+
233
+ if ( ! empty( $_GET['post_types'] ) ) {
234
+ $post_types = explode( ',', sanitize_text_field( $_GET['post_types'] ) );
235
+ } else {
236
+ $post_types = array_keys( $available_search_post_types );
237
+ }
238
+
239
  $s = trim( sanitize_text_field( $_GET['s'] ) );
240
  if ( "0" == $cat = trim( sanitize_text_field( $_GET['cat'] ) ) ) {
241
  $cat = '';
242
  }
243
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
244
  // Start Searching First Post type
245
+ $search_instance = new Auxels_Search_Post_Type($s,$cat,$post_types[0],'');
246
+
247
+ if ( ! empty( $_GET['per_page'] ) && is_numeric( $_GET['per_page'] ) ) {
248
+ $search_instance->set_query_args( array( 'posts_per_page' => sanitize_text_field( $_GET['per_page'] ) ) );
 
 
 
 
 
 
 
 
 
 
249
  }
250
 
251
+ $results = array();
252
+ foreach( $post_types as $key => $post_type ) {
253
+ $search_instance->set_query_args( array( 'post_type' => $post_type ) );
254
+ switch ($post_type) {
255
+ case 'product':
256
+ $result = $search_instance->search_products();
257
+ break;
258
+ case 'portfolio':
259
+ $result = $search_instance->search_portfolio();
260
+ break;
261
+ default:
262
+ $result = $search_instance->search_general_post_types();
263
+ break;
264
+ }
265
+ $result['fromTitle'] = sprintf( esc_html__( 'From %s', 'auxin-elements' ), $available_search_post_types[ $post_type ]);
266
+ $result['noResultMessage'] = sprintf( esc_html__( "Nothing found in %s", 'auxin-elements' ), $available_search_post_types[ $post_type ]);
267
+ $results[] = $result;
268
 
 
 
269
  }
270
 
271
+ wp_send_json_success( $results );
 
272
  }
273
 
274
+ add_action( 'wp_ajax_aux_modern_search_handler', 'auxels_ajax_search' );
275
+ add_action( 'wp_ajax_nopriv_aux_modern_search_handler', 'auxels_ajax_search');