Shortcodes and extra features for Phlox theme - Version 1.4.1

Version Description

Download this release

Release Info

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

Code changes from version 1.4.0 to 1.4.1

README.txt CHANGED
@@ -6,7 +6,7 @@ License URI: http://www.gnu.org/licenses/gpl.html
6
  Tags: banner SEO, shortcode, page-builder, siteorigin, auxin, phlox, averta, framework, widget, element, fullwidth, masonry, timeline
7
  Requires at least: 4.6
8
  Tested up to: 4.8.0
9
- Stable tag: 1.4.0
10
  License: GPLv3
11
  License URI: http://www.gnu.org/licenses/gpl.html
12
 
@@ -140,6 +140,9 @@ Bugs can be reported in our [support forums](http://wordpress.org/tags/auxin-ele
140
 
141
  == Changelog ==
142
 
 
 
 
143
  = Version 1.4.0 / (02.08.2017) =
144
  - [Improvement]: Applying some changes based on latest changes in auxin framework
145
 
6
  Tags: banner SEO, shortcode, page-builder, siteorigin, auxin, phlox, averta, framework, widget, element, fullwidth, masonry, timeline
7
  Requires at least: 4.6
8
  Tested up to: 4.8.0
9
+ Stable tag: 1.4.1
10
  License: GPLv3
11
  License URI: http://www.gnu.org/licenses/gpl.html
12
 
140
 
141
  == Changelog ==
142
 
143
+ = Version 1.4.1 / (06.08.2017) =
144
+ - [Improvement]: Custom CSS and JavaScript fields added to pages
145
+
146
  = Version 1.4.0 / (02.08.2017) =
147
  - [Improvement]: Applying some changes based on latest changes in auxin framework
148
 
admin/includes/admin-hooks.php CHANGED
@@ -277,9 +277,11 @@ function auxin_mime_types( $mimes ) {
277
  add_filter('upload_mimes', 'auxin_mime_types');
278
 
279
 
280
- /*======================================================================*/
 
 
281
 
282
- function auxin_elements_add_post_metabox_models( $models ){
283
 
284
  // Load general metabox models
285
  include_once( 'metaboxes/metabox-fields-post-audio.php' );
@@ -315,8 +317,24 @@ function auxin_elements_add_post_metabox_models( $models ){
315
  return $models;
316
  }
317
 
318
- add_filter( 'auxin_admin_metabox_models_post', 'auxin_elements_add_post_metabox_models' );
 
 
 
 
 
 
 
 
 
 
 
 
319
 
 
 
 
 
320
 
321
  /*-----------------------------------------------------------------------------------*/
322
  /* Add theme tab in siteorigin page builder
@@ -341,7 +359,6 @@ add_filter( 'siteorigin_panels_widget_dialog_tabs', 'auxin_add_widget_tabs', 20
341
 
342
  // =============================================================================
343
 
344
-
345
  function auxin_admin_footer_text( $footer_text ) {
346
 
347
  // the admin pages that we intent to display theme footer text on
277
  add_filter('upload_mimes', 'auxin_mime_types');
278
 
279
 
280
+ /*-----------------------------------------------------------------------------------*/
281
+ /* Add post format related metafields to post
282
+ /*-----------------------------------------------------------------------------------*/
283
 
284
+ function auxels_add_post_metabox_models( $models ){
285
 
286
  // Load general metabox models
287
  include_once( 'metaboxes/metabox-fields-post-audio.php' );
317
  return $models;
318
  }
319
 
320
+ add_filter( 'auxin_admin_metabox_models_post', 'auxels_add_post_metabox_models' );
321
+
322
+ /*-----------------------------------------------------------------------------------*/
323
+ /* Add advanced metafields to page
324
+ /*-----------------------------------------------------------------------------------*/
325
+
326
+ function auxels_add_page_metabox_models( $models ){
327
+
328
+
329
+ $models[] = array(
330
+ 'model' => auxin_metabox_fields_general_advanced(),
331
+ 'priority' => 36
332
+ );
333
 
334
+ return $models;
335
+ }
336
+
337
+ add_filter( 'auxin_admin_metabox_models_page', 'auxels_add_page_metabox_models' );
338
 
339
  /*-----------------------------------------------------------------------------------*/
340
  /* Add theme tab in siteorigin page builder
359
 
360
  // =============================================================================
361
 
 
362
  function auxin_admin_footer_text( $footer_text ) {
363
 
364
  // the admin pages that we intent to display theme footer text on
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: Powerful and comprehensive plugin that extends the functionality of Phlox theme by adding new shortcodes, widgets and options
15
- * Version: 1.4.0
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: 4.8.1
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: Powerful and comprehensive plugin that extends the functionality of Phlox theme by adding new shortcodes, widgets and options
15
+ * Version: 1.4.1
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: 4.8.0
23
  */
24
 
25
  // If this file is called directly, abort.
includes/classes/class-auxin-install.php CHANGED
@@ -17,97 +17,118 @@ if ( ! defined('ABSPATH') ) exit;
17
 
18
  class Auxin_Install {
19
 
20
- function __construct(){
 
 
 
 
 
 
 
 
 
 
 
 
 
21
 
22
- // Add theme capabilities on theme activation
23
- add_action( 'after_switch_theme', array( $this, 'install' ) );
24
- // will be @deprecated in version 2.0
25
- add_action( 'init', array( $this, 'install' ) );
26
- }
27
 
 
 
 
 
 
 
28
 
29
- /**
30
- * Install theme requirements
31
- */
32
- public function install(){
33
- $this->add_capabilities();
34
- }
35
 
 
 
 
 
36
 
37
- /**
38
- * Add theme custom capabilities
39
- */
40
- public function add_capabilities() {
41
 
42
- // check if custom capabilities are added before or not
43
- if( $is_added = get_theme_mod( 'auxin_capabilities_added', 0 ) ){
44
- return;
45
- }
 
 
 
 
 
46
 
47
- global $wp_roles;
48
 
49
- if ( class_exists( 'WP_Roles' ) ) {
50
- if ( ! isset( $wp_roles ) ) {
51
- $wp_roles = new WP_Roles();
52
- }
 
 
 
 
 
53
  }
54
 
55
- if ( is_object( $wp_roles ) ) {
56
 
57
- $capabilities = $this->get_theme_capabilities();
58
 
59
- foreach ( $capabilities as $cap_group ) {
60
- foreach ( $cap_group as $cap ) {
61
- $wp_roles->add_cap( 'administrator', $cap );
62
- $wp_roles->add_cap( 'editor' , $cap );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
  }
64
- }
65
- }
66
 
67
- set_theme_mod( 'auxin_capabilities_added', 1 );
68
- }
69
-
70
-
71
-
72
- /**
73
- * Get capabilities for auxin - Will be assigned during theme activation
74
- *
75
- * @return array
76
- */
77
- public function get_theme_capabilities() {
78
-
79
- $capabilities = array();
80
- $active_post_types = auxin_get_possible_post_types(true);
81
-
82
-
83
- foreach ( $active_post_types as $post_type => $is_active ) {
84
-
85
- $capabilities[ $post_type ] = array(
86
- // Post type
87
- "edit_{$post_type}",
88
- "read_{$post_type}",
89
- "delete_{$post_type}",
90
- "edit_{$post_type}s",
91
- "edit_others_{$post_type}s",
92
- "publish_{$post_type}s",
93
- "read_private_{$post_type}s",
94
- "delete_{$post_type}s",
95
- "delete_private_{$post_type}s",
96
- "delete_published_{$post_type}s",
97
- "delete_others_{$post_type}s",
98
- "edit_private_{$post_type}s",
99
- "edit_published_{$post_type}s",
100
-
101
- // Terms
102
- "manage_{$post_type}_terms",
103
- "edit_{$post_type}_terms",
104
- "delete_{$post_type}_terms",
105
- "assign_{$post_type}_terms"
106
- );
107
  }
108
 
109
- return $capabilities;
110
- }
 
 
 
 
 
 
 
 
 
 
 
111
 
112
  }
113
 
17
 
18
  class Auxin_Install {
19
 
20
+ /**
21
+ * Instance of this class.
22
+ *
23
+ * @var object
24
+ */
25
+ protected static $instance = null;
26
+
27
+
28
+ function __construct(){
29
+ // Add theme capabilities on theme activation
30
+ add_action( 'after_switch_theme', array( $this, 'install' ) );
31
+ // will be @deprecated in version 2.0
32
+ add_action( 'init', array( $this, 'install' ) );
33
+ }
34
 
 
 
 
 
 
35
 
36
+ /**
37
+ * Install theme requirements
38
+ */
39
+ public function install(){
40
+ $this->add_capabilities();
41
+ }
42
 
 
 
 
 
 
 
43
 
44
+ /**
45
+ * Add theme custom capabilities
46
+ */
47
+ public function add_capabilities() {
48
 
49
+ // check if custom capabilities are added before or not
50
+ if( get_theme_mod( 'auxin_capabilities_added', 0 ) ){
51
+ return;
52
+ }
53
 
54
+ global $wp_roles;
55
+
56
+ if ( class_exists( 'WP_Roles' ) ) {
57
+ if ( ! isset( $wp_roles ) ) {
58
+ $wp_roles = new WP_Roles();
59
+ }
60
+ }
61
+
62
+ if ( is_object( $wp_roles ) ) {
63
 
64
+ $capabilities = $this->get_theme_capabilities();
65
 
66
+ foreach ( $capabilities as $cap_group ) {
67
+ foreach ( $cap_group as $cap ) {
68
+ $wp_roles->add_cap( 'administrator', $cap );
69
+ $wp_roles->add_cap( 'editor' , $cap );
70
+ }
71
+ }
72
+ }
73
+
74
+ set_theme_mod( 'auxin_capabilities_added', 1 );
75
  }
76
 
 
77
 
 
78
 
79
+ /**
80
+ * Get capabilities for auxin - Will be assigned during theme activation
81
+ *
82
+ * @return array
83
+ */
84
+ public function get_theme_capabilities() {
85
+
86
+ $capabilities = array();
87
+ $active_post_types = auxin_get_possible_post_types(true);
88
+
89
+ foreach ( $active_post_types as $post_type => $is_active ) {
90
+
91
+ $capabilities[ $post_type ] = array(
92
+ // Post type
93
+ "edit_{$post_type}",
94
+ "read_{$post_type}",
95
+ "delete_{$post_type}",
96
+ "edit_{$post_type}s",
97
+ "edit_others_{$post_type}s",
98
+ "publish_{$post_type}s",
99
+ "read_private_{$post_type}s",
100
+ "delete_{$post_type}s",
101
+ "delete_private_{$post_type}s",
102
+ "delete_published_{$post_type}s",
103
+ "delete_others_{$post_type}s",
104
+ "edit_private_{$post_type}s",
105
+ "edit_published_{$post_type}s",
106
+
107
+ // Terms
108
+ "manage_{$post_type}_terms",
109
+ "edit_{$post_type}_terms",
110
+ "delete_{$post_type}_terms",
111
+ "assign_{$post_type}_terms"
112
+ );
113
+
114
  }
 
 
115
 
116
+ return $capabilities;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
117
  }
118
 
119
+ /**
120
+ * Return an instance of this class.
121
+ *
122
+ * @return object A single instance of this class.
123
+ */
124
+ public static function get_instance() {
125
+
126
+ // If the single instance hasn't been set, set it now.
127
+ if ( null == self::$instance ) {
128
+ self::$instance = new self;
129
+ }
130
+ return self::$instance;
131
+ }
132
 
133
  }
134
 
includes/classes/class-auxin-post-type-base.php CHANGED
@@ -52,6 +52,9 @@ class Auxin_Post_Type_Base {
52
 
53
  // Filter the list of columns shown when listing posts of the post type
54
  add_action( "manage_{$this->post_type}_posts_custom_column", array( $this, 'manage_posttype_custom_columns' ) );
 
 
 
55
  }
56
 
57
 
@@ -133,6 +136,59 @@ class Auxin_Post_Type_Base {
133
  remove_meta_box( 'postimagediv', $this->post_type, 'side' );
134
  }
135
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
136
  }
137
 
138
 
52
 
53
  // Filter the list of columns shown when listing posts of the post type
54
  add_action( "manage_{$this->post_type}_posts_custom_column", array( $this, 'manage_posttype_custom_columns' ) );
55
+
56
+ // Add post type capabilities
57
+ add_action( 'admin_init', array( $this, 'assign_post_type_capabilities' ) );
58
  }
59
 
60
 
136
  remove_meta_box( 'postimagediv', $this->post_type, 'side' );
137
  }
138
 
139
+ /**
140
+ * Auto assign custom post type capabilities
141
+ *
142
+ * @return void
143
+ */
144
+ public function assign_post_type_capabilities(){
145
+
146
+ // check if custom capabilities are already added
147
+ if( get_option( "auxin_{$this->post_type}_capabilities_added", 0 ) ){
148
+ return;
149
+ }
150
+
151
+ global $wp_roles;
152
+
153
+ if ( class_exists( 'WP_Roles' ) ) {
154
+ if ( ! isset( $wp_roles ) ) {
155
+ $wp_roles = new WP_Roles();
156
+ }
157
+ }
158
+
159
+ if ( is_object( $wp_roles ) ) {
160
+
161
+ $capabilities = array(
162
+ "edit_{$this->post_type}",
163
+ "read_{$this->post_type}",
164
+ "delete_{$this->post_type}",
165
+ "edit_{$this->post_type}s",
166
+ "edit_others_{$this->post_type}s",
167
+ "publish_{$this->post_type}s",
168
+ "read_private_{$this->post_type}s",
169
+ "delete_{$this->post_type}s",
170
+ "delete_private_{$this->post_type}s",
171
+ "delete_published_{$this->post_type}s",
172
+ "delete_others_{$this->post_type}s",
173
+ "edit_private_{$this->post_type}s",
174
+ "edit_published_{$this->post_type}s",
175
+ // Terms
176
+ "manage_{$this->post_type}_terms",
177
+ "edit_{$this->post_type}_terms",
178
+ "delete_{$this->post_type}_terms",
179
+ "assign_{$this->post_type}_terms"
180
+ );
181
+
182
+ foreach ( $capabilities as $cap ) {
183
+ $wp_roles->add_cap( 'administrator', $cap );
184
+ $wp_roles->add_cap( 'editor' , $cap );
185
+ }
186
+
187
+ update_option( "auxin_{$this->post_type}_capabilities_added", 1 );
188
+ }
189
+
190
+ }
191
+
192
  }
193
 
194
 
includes/define.php CHANGED
@@ -12,7 +12,7 @@ if( ! defined( 'THEME_NAME' ) ){
12
  }
13
 
14
 
15
- define( 'AUXELS_VERSION' , '1.4.0' );
16
 
17
  define( 'AUXELS_SLUG' , 'auxin-elements' );
18
 
12
  }
13
 
14
 
15
+ define( 'AUXELS_VERSION' , '1.4.1' );
16
 
17
  define( 'AUXELS_SLUG' , 'auxin-elements' );
18
 
includes/elements/text.php CHANGED
@@ -887,14 +887,16 @@ function auxin_widget_column_callback( $atts, $shortcode_content = null ){
887
  $main_classes = 'aux-ico-pos-'. ( $image_position ? esc_attr( $image_position ) : 'top' );
888
  $main_classes .= empty( $content ) ? ' no-content' : '';
889
  $main_classes .= empty( $text_align ) ? '' : ' aux-text-align-' . esc_attr( $text_align );
890
- $main_classes .= empty( $background_display ) ? '' : ' aux-text-widget-bg-' . esc_attr( $background_display );
891
- $main_classes .= empty( $wrapper_bg_image ) && ! empty( $fill_bg_color ) ? ' aux-text-widget-more-pad' : '';
 
 
892
 
893
  $icon_box_classes = $icon_box_inline_style = '';
894
 
895
  if ( ! empty( $image ) && is_numeric( $image ) ) {
896
  if ( 'fill' == $icon_shape ) {
897
- $main_classes .= ' aux-text-widget-header-no-pad';
898
  } else {
899
  $icon_box_classes .= 'aux-img-box';
900
  $image_data = wp_get_attachment_image_src( $image, $image_size );
@@ -928,7 +930,7 @@ function auxin_widget_column_callback( $atts, $shortcode_content = null ){
928
  }
929
 
930
  $bottom_shape_classes = empty( $bottom_shape_style ) ? '' : 'aux-border-shape-' . esc_attr( $bottom_shape_style );
931
- $bottom_shape_color = empty( $bottom_shape_color ) ? '' : 'style="border-top-color:' . esc_attr( $bottom_shape_color ) . ';"';
932
 
933
 
934
  if( ! empty( $image ) && is_numeric( $image ) ) {
@@ -981,7 +983,7 @@ function auxin_widget_column_callback( $atts, $shortcode_content = null ){
981
  <?php } if( ! empty( $content ) ) { ?>
982
  <div class="entry-content">
983
  <?php $encoding_flag = defined('ENT_HTML401') ? ENT_HTML401 : ENT_QUOTES; ?>
984
- <p><?php echo do_shortcode( html_entity_decode( $content, $encoding_flag, 'UTF-8') ); ?></p>
985
  </div>
986
  <?php } if ( ! empty( $display_button ) ) {
987
  echo auxin_widget_button_callback( $btn_atts );
@@ -990,7 +992,18 @@ function auxin_widget_column_callback( $atts, $shortcode_content = null ){
990
  </div>
991
  <?php if ( ! empty( $bottom_shape_classes ) ) { ?>
992
  <div class="aux-text-widget-footer">
993
- <div class="aux-border-shape <?php echo $bottom_shape_classes; ?>" <?php echo $bottom_shape_color; ?>></div>
 
 
 
 
 
 
 
 
 
 
 
994
  </div>
995
  <?php } ?>
996
 
887
  $main_classes = 'aux-ico-pos-'. ( $image_position ? esc_attr( $image_position ) : 'top' );
888
  $main_classes .= empty( $content ) ? ' no-content' : '';
889
  $main_classes .= empty( $text_align ) ? '' : ' aux-text-align-' . esc_attr( $text_align );
890
+ $main_classes .= empty( $wrapper_bg_image ) ? '' : ' aux-text-widget-bg aux-text-widget-bg-' . esc_attr($background_display );
891
+ $main_classes .= empty( $icon_bg_color ) && empty( $image ) && !empty( $content ) ? ' aux-text-widget-no-ico-bg' : '';
892
+ $main_classes .= !empty( $fill_bg_color ) ? ' aux-text-widget-fill-bg' : '';
893
+ $main_classes .= empty( $fill_bg_color ) && !('fill' == $icon_shape) ? ' aux-text-widget-def' : '';
894
 
895
  $icon_box_classes = $icon_box_inline_style = '';
896
 
897
  if ( ! empty( $image ) && is_numeric( $image ) ) {
898
  if ( 'fill' == $icon_shape ) {
899
+ $main_classes .= ' aux-text-widget-header-fill';
900
  } else {
901
  $icon_box_classes .= 'aux-img-box';
902
  $image_data = wp_get_attachment_image_src( $image, $image_size );
930
  }
931
 
932
  $bottom_shape_classes = empty( $bottom_shape_style ) ? '' : 'aux-border-shape-' . esc_attr( $bottom_shape_style );
933
+ $bottom_shape_color = 'wave' === $bottom_shape_style ? 'style="fill:' . esc_attr( $bottom_shape_color ) . ';"' : 'style="border-top-color:' . esc_attr( $bottom_shape_color ) . ';"';
934
 
935
 
936
  if( ! empty( $image ) && is_numeric( $image ) ) {
983
  <?php } if( ! empty( $content ) ) { ?>
984
  <div class="entry-content">
985
  <?php $encoding_flag = defined('ENT_HTML401') ? ENT_HTML401 : ENT_QUOTES; ?>
986
+ <?php echo do_shortcode( html_entity_decode( $content, $encoding_flag, 'UTF-8') ); ?>
987
  </div>
988
  <?php } if ( ! empty( $display_button ) ) {
989
  echo auxin_widget_button_callback( $btn_atts );
992
  </div>
993
  <?php if ( ! empty( $bottom_shape_classes ) ) { ?>
994
  <div class="aux-text-widget-footer">
995
+ <div class="aux-border-shape <?php echo $bottom_shape_classes; ?>"<?php echo $bottom_shape_color; ?>>
996
+ <?php if ( 'wave' === $bottom_shape_style ){?>
997
+ <svg width="100%" height="16" <?php echo $bottom_shape_color;?> >
998
+ <defs>
999
+ <pattern id="pattern-shape-wave" x="16" y="0" width="35" height="16" patternUnits="userSpaceOnUse" >
1000
+ <path d="M16 16 L35 0 L-2 0 Z" />
1001
+ </pattern>
1002
+ </defs>
1003
+ <rect x="0" y="0" width="100%" height="17" style="fill: url(#pattern-shape-wave);" />
1004
+ </svg>
1005
+ <?php }?>
1006
+ </div>
1007
  </div>
1008
  <?php } ?>
1009