Redux Framework - Version 4.1.6

Version Description

  • Fixed: Issue with customizer double loading the PHP classes and causing an exception.
  • Fixed: Chanced a class name as to not conflict with a 6+ year old version of Redux.
  • Release date: July 30, 2020
Download this release

Release Info

Developer dovyp
Plugin Icon 128x128 Redux Framework
Version 4.1.6
Comparing to
See all releases

Code changes from version 4.1.5 to 4.1.6

composer.json CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "name": "reduxframework/redux-framework-4",
3
- "version": "4.1.5",
4
  "authors": [
5
  {
6
  "name": "Redux.io",
1
  {
2
  "name": "reduxframework/redux-framework-4",
3
+ "version": "4.1.6",
4
  "authors": [
5
  {
6
  "name": "Redux.io",
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: admin, admin interface, options, theme options, plugin options, options fr
5
  Requires at least: 4.0
6
  Requires PHP: 5.3
7
  Tested up to: 5.5
8
- Stable tag: 4.1.5
9
  License: GPLv3 or later
10
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
11
 
@@ -131,6 +131,11 @@ That's because the real FAQ section is on our site! Please visit [http://docs.re
131
 
132
  == Changelog ==
133
 
 
 
 
 
 
134
  = 4.1.5 =
135
  * Fixed: Google fonts not working when old configs used string vs an array for output.
136
  * Release date: July 30, 2020
5
  Requires at least: 4.0
6
  Requires PHP: 5.3
7
  Tested up to: 5.5
8
+ Stable tag: 4.1.6
9
  License: GPLv3 or later
10
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
11
 
131
 
132
  == Changelog ==
133
 
134
+ = 4.1.6 =
135
+ * Fixed: Issue with customizer double loading the PHP classes and causing an exception.
136
+ * Fixed: Chanced a class name as to not conflict with a 6+ year old version of Redux.
137
+ * Release date: July 30, 2020
138
+
139
  = 4.1.5 =
140
  * Fixed: Google fonts not working when old configs used string vs an array for output.
141
  * Release date: July 30, 2020
redux-core/framework.php CHANGED
@@ -23,7 +23,7 @@ defined( 'ABSPATH' ) || exit;
23
 
24
  require_once dirname( __FILE__ ) . '/class-redux-core.php';
25
 
26
- Redux_Core::$version = '4.1.5';
27
  Redux_Core::$redux_path = dirname( __FILE__ );
28
  Redux_Core::instance();
29
 
@@ -458,7 +458,7 @@ if ( ! class_exists( 'ReduxFramework', false ) ) {
458
 
459
  // Grab database values.
460
  $this->options_defaults_class = new Redux_Options_Defaults();
461
- $this->options_class = new Redux_Options( $this );
462
  $this->options_class->get();
463
 
464
  $this->output_class = new Redux_Output( $this );
@@ -535,7 +535,7 @@ if ( ! class_exists( 'ReduxFramework', false ) ) {
535
  public function _default_values() { // phpcs:ignore PSR2.Methods.MethodDeclaration.Underscore
536
  if ( ! isset( $this->options_class ) ) {
537
  $this->options_defaults_class = new Redux_Options_Defaults();
538
- $this->options_class = new Redux_Options( $this );
539
  }
540
 
541
  return $this->options_class->default_values();
23
 
24
  require_once dirname( __FILE__ ) . '/class-redux-core.php';
25
 
26
+ Redux_Core::$version = '4.1.6';
27
  Redux_Core::$redux_path = dirname( __FILE__ );
28
  Redux_Core::instance();
29
 
458
 
459
  // Grab database values.
460
  $this->options_defaults_class = new Redux_Options_Defaults();
461
+ $this->options_class = new Redux_Options_Constructor( $this );
462
  $this->options_class->get();
463
 
464
  $this->output_class = new Redux_Output( $this );
535
  public function _default_values() { // phpcs:ignore PSR2.Methods.MethodDeclaration.Underscore
536
  if ( ! isset( $this->options_class ) ) {
537
  $this->options_defaults_class = new Redux_Options_Defaults();
538
+ $this->options_class = new Redux_Options_Constructor( $this );
539
  }
540
 
541
  return $this->options_class->default_values();
redux-core/inc/classes/{class-redux-options.php → class-redux-options-constructor.php} RENAMED
@@ -9,12 +9,12 @@
9
 
10
  defined( 'ABSPATH' ) || exit;
11
 
12
- if ( ! class_exists( 'Redux_Options', false ) ) {
13
 
14
  /**
15
  * Class Redux_Options
16
  */
17
- class Redux_Options extends Redux_Class {
18
 
19
  /**
20
  * Array to hold single panel data.
@@ -52,8 +52,8 @@ if ( ! class_exists( 'Redux_Options', false ) ) {
52
  public function __construct( $parent ) {
53
 
54
  parent::__construct( $parent );
55
-
56
  add_action( 'admin_init', array( $this, 'register' ) );
 
57
  }
58
 
59
  /**
@@ -69,7 +69,7 @@ if ( ! class_exists( 'Redux_Options', false ) ) {
69
  foreach ( $sections as $key => $section ) {
70
  if ( 'fields' === $key ) {
71
  foreach ( $section as $field ) {
72
- if ( ! empty( $field['id'] ) && ! empty( $field['data'] ) && ! empty( $options_values[ $field['id'] ] ) && Redux_Helpers::is_integer( $options_values[ $field['id'] ] ) ) {
73
  $options_values[ $field['id'] ] = apply_filters( 'wpml_object_id', $options_values[ $field['id'] ], $field['data'], true );
74
  }
75
  }
@@ -91,6 +91,10 @@ if ( ! class_exists( 'Redux_Options', false ) ) {
91
  $defaults = $core->defaults;
92
  }
93
 
 
 
 
 
94
  if ( 'transient' === $core->args['database'] ) {
95
  $result = get_transient( $core->args['opt_name'] . '-transient' );
96
  } elseif ( 'theme_mods' === $core->args['database'] ) {
@@ -908,7 +912,7 @@ if ( ! class_exists( 'Redux_Options', false ) ) {
908
  */
909
  // phpcs:ignore WordPress.NamingConventions.ValidHookName
910
  do_action_ref_array(
911
- // phpcs:ignore WordPress.NamingConventions.ValidHookName
912
  "redux/options/{$core->args['opt_name']}/validate",
913
  array(
914
  &$plugin_options,
9
 
10
  defined( 'ABSPATH' ) || exit;
11
 
12
+ if ( ! class_exists( 'Redux_Options_Object', false ) ) {
13
 
14
  /**
15
  * Class Redux_Options
16
  */
17
+ class Redux_Options_Constructor extends Redux_Class {
18
 
19
  /**
20
  * Array to hold single panel data.
52
  public function __construct( $parent ) {
53
 
54
  parent::__construct( $parent );
 
55
  add_action( 'admin_init', array( $this, 'register' ) );
56
+
57
  }
58
 
59
  /**
69
  foreach ( $sections as $key => $section ) {
70
  if ( 'fields' === $key ) {
71
  foreach ( $section as $field ) {
72
+ if ( ! empty( $field['id'] ) && ! empty( $field['data'] ) && ! empty( $options_values[ $field['id'] ] ) && \Redux_Helpers::is_integer( $options_values[ $field['id'] ] ) ) {
73
  $options_values[ $field['id'] ] = apply_filters( 'wpml_object_id', $options_values[ $field['id'] ], $field['data'], true );
74
  }
75
  }
91
  $defaults = $core->defaults;
92
  }
93
 
94
+ if ( empty( $core->args ) ) {
95
+ return;
96
+ }
97
+
98
  if ( 'transient' === $core->args['database'] ) {
99
  $result = get_transient( $core->args['opt_name'] . '-transient' );
100
  } elseif ( 'theme_mods' === $core->args['database'] ) {
912
  */
913
  // phpcs:ignore WordPress.NamingConventions.ValidHookName
914
  do_action_ref_array(
915
+ // phpcs:ignore WordPress.NamingConventions.ValidHookName
916
  "redux/options/{$core->args['opt_name']}/validate",
917
  array(
918
  &$plugin_options,
redux-core/inc/extensions/customizer/inc/class-redux-customizer-fields.php CHANGED
@@ -1,6 +1,4 @@
1
- <?php /** @noinspection PhpCSValidationInspection */ // phpcs:ignore WordPress.Files.FileName
2
- // phpcs:ignoreFile
3
-
4
  /**
5
  * Redux Customizer Fields Class
6
  *
@@ -9,242 +7,249 @@
9
  * @package Redux Framework
10
  */
11
 
12
- defined( 'ABSPATH' ) || exit;
 
 
13
 
14
- /**
15
- * Class Redux_Customizer_Control_checkbox
16
- */
17
- class Redux_Customizer_Control_Checkbox extends Redux_Customizer_Control {
18
 
 
19
  /**
20
- * Set control type.
21
- *
22
- * @var string
23
  */
24
- public $type = 'redux-checkbox';
25
-
 
 
 
 
 
 
26
  }
27
 
28
- /**
29
- * Class Redux_Customizer_Control_color_rgba
30
- */
31
- class Redux_Customizer_Control_Color_Rgba extends Redux_Customizer_Control {
32
-
33
  /**
34
- * Set control type.
35
- *
36
- * @var string
37
  */
38
- public $type = 'redux-color_rgba';
39
-
 
 
 
 
 
 
40
  }
41
 
42
- /**
43
- * Class Redux_Customizer_Control_color
44
- */
45
- // phpcs:ignore Generic.Files.OneClassPerFile
46
- class Redux_Customizer_Control_Color extends Redux_Customizer_Control {
47
 
 
48
  /**
49
- * Set control type.
50
- *
51
- * @var string
52
  */
53
- public $type = 'redux-color';
54
-
 
 
 
 
 
 
55
  }
56
 
57
- /**
58
- * Class Redux_Customizer_Control_media
59
- */
60
- // phpcs:ignore Generic.Files.OneClassPerFile
61
- class Redux_Customizer_Control_Media extends Redux_Customizer_Control {
62
-
63
  /**
64
- * Set control type.
65
- *
66
- * @var string
67
  */
68
- public $type = 'redux-media';
69
-
 
 
 
 
 
 
 
70
  }
71
 
72
- /**
73
- * Class Redux_Customizer_Control_spinner
74
- */
75
- // phpcs:ignore Generic.Files.OneClassPerFile
76
- class Redux_Customizer_Control_Spinner extends Redux_Customizer_Control {
77
-
78
  /**
79
- * Set control type.
80
- *
81
- * @var string
82
  */
83
- public $type = 'redux-spinner';
84
-
 
 
 
 
 
 
 
85
  }
86
 
87
- /**
88
- * Class Redux_Customizer_Control_palette
89
- */
90
- // phpcs:ignore Generic.Files.OneClassPerFile
91
- class Redux_Customizer_Control_Palette extends Redux_Customizer_Control {
92
-
93
  /**
94
- * Set control type.
95
- *
96
- * @var string
97
  */
98
- public $type = 'redux-palette';
99
-
 
 
 
 
 
 
 
100
  }
101
 
102
- /**
103
- * Class Redux_Customizer_Control_button_set
104
- */
105
- // phpcs:ignore Generic.Files.OneClassPerFile
106
- class Redux_Customizer_Control_Button_Set extends Redux_Customizer_Control {
107
-
108
  /**
109
- * Set control type.
110
- *
111
- * @var string
112
  */
113
- public $type = 'redux-button_set';
114
-
 
 
 
 
 
 
 
115
  }
116
 
117
- /**
118
- * Class Redux_Customizer_Control_image_select
119
- */
120
- // phpcs:ignore Generic.Files.OneClassPerFile
121
- class Redux_Customizer_Control_Image_Select extends Redux_Customizer_Control {
122
-
123
  /**
124
- * Set control type.
125
- *
126
- * @var string
127
  */
128
- public $type = 'redux-image_select';
 
129
 
 
 
 
 
 
 
 
130
  }
131
 
132
- /**
133
- * Class Redux_Customizer_Control_radio
134
- */
135
- // phpcs:ignore Generic.Files.OneClassPerFile
136
- class Redux_Customizer_Control_Radio extends Redux_Customizer_Control {
137
-
138
  /**
139
- * Set control type.
140
- *
141
- * @var string
142
  */
143
- public $type = 'redux-radio';
144
-
 
 
 
 
 
 
 
145
  }
146
 
147
- /**
148
- * Class Redux_Customizer_Control_select
149
- */
150
- // phpcs:ignore Generic.Files.OneClassPerFile
151
- class Redux_Customizer_Control_Select extends Redux_Customizer_Control {
152
-
153
  /**
154
- * Set control type.
155
- *
156
- * @var string
157
  */
158
- public $type = 'redux-select';
 
159
 
 
 
 
 
 
 
 
160
  }
161
 
162
- /**
163
- * Class Redux_Customizer_Control_gallery
164
- */
165
- // phpcs:ignore Generic.Files.OneClassPerFile
166
- class Redux_Customizer_Control_Gallery extends Redux_Customizer_Control {
167
-
168
  /**
169
- * Set control type.
170
- *
171
- * @var string
172
  */
173
- public $type = 'redux-gallery';
174
-
 
 
 
 
 
 
 
175
  }
176
 
177
- /**
178
- * Class Redux_Customizer_Control_slider
179
- */
180
- // phpcs:ignore Generic.Files.OneClassPerFile
181
- class Redux_Customizer_Control_Slider extends Redux_Customizer_Control {
182
-
183
  /**
184
- * Set control type.
185
- *
186
- * @var string
187
  */
188
- public $type = 'redux-slider';
189
-
 
 
 
 
 
 
 
190
  }
191
 
192
- /**
193
- * Class Redux_Customizer_Control_sortable
194
- */
195
- // phpcs:ignore Generic.Files.OneClassPerFile
196
- class Redux_Customizer_Control_Sortable extends Redux_Customizer_Control {
197
-
198
  /**
199
- * Set control type.
200
- *
201
- * @var string
202
  */
203
- public $type = 'redux-sortable';
204
-
 
 
 
 
 
 
 
205
  }
206
 
207
- /**
208
- * Class Redux_Customizer_Control_switch
209
- */
210
- // phpcs:ignore Generic.Files.OneClassPerFile
211
- class Redux_Customizer_Control_Switch extends Redux_Customizer_Control {
212
-
213
  /**
214
- * Set control type.
215
- *
216
- * @var string
217
  */
218
- public $type = 'redux-switch';
219
-
 
 
 
 
 
 
 
220
  }
221
 
222
- /**
223
- * Class Redux_Customizer_Control_text
224
- */
225
- // phpcs:ignore Generic.Files.OneClassPerFile
226
- class Redux_Customizer_Control_Text extends Redux_Customizer_Control {
227
-
228
  /**
229
- * Set control type.
230
- *
231
- * @var string
232
  */
233
- public $type = 'redux-text';
234
-
 
 
 
 
 
 
 
235
  }
236
 
237
- /**
238
- * Class Redux_Customizer_Control_textarea
239
- */
240
- // phpcs:ignore Generic.Files.OneClassPerFile
241
- class Redux_Customizer_Control_Textarea extends Redux_Customizer_Control {
242
-
243
  /**
244
- * Set control type.
245
- *
246
- * @var string
247
  */
248
- public $type = 'redux-textarea';
 
249
 
 
 
 
 
 
 
 
250
  }
1
+ <?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
 
 
2
  /**
3
  * Redux Customizer Fields Class
4
  *
7
  * @package Redux Framework
8
  */
9
 
10
+ // phpcs:disable PSR1.Classes.ClassDeclaration.MissingNamespace
11
+ // phpcs:disable Generic.Files.OneObjectStructurePerFile.MultipleFound
12
+ // phpcs:disable Generic.Files.OneClassPerFile
13
 
14
+ defined( 'ABSPATH' ) || exit;
 
 
 
15
 
16
+ if ( ! class_exists( 'Redux_Customizer_Control_Checkbox', false ) ) {
17
  /**
18
+ * Class Redux_Customizer_Control_checkbox
 
 
19
  */
20
+ class Redux_Customizer_Control_Checkbox extends Redux_Customizer_Control {
21
+ /**
22
+ * Set control type.
23
+ *
24
+ * @var string
25
+ */
26
+ public $type = 'redux-checkbox';
27
+ }
28
  }
29
 
30
+ if ( ! class_exists( 'Redux_Customizer_Control_Color_Rgba', false ) ) {
 
 
 
 
31
  /**
32
+ * Class Redux_Customizer_Control_color_rgba
 
 
33
  */
34
+ class Redux_Customizer_Control_Color_Rgba extends Redux_Customizer_Control {
35
+ /**
36
+ * Set control type.
37
+ *
38
+ * @var string
39
+ */
40
+ public $type = 'redux-color_rgba';
41
+ }
42
  }
43
 
 
 
 
 
 
44
 
45
+ if ( ! class_exists( 'Redux_Customizer_Control_Color', false ) ) {
46
  /**
47
+ * Class Redux_Customizer_Control_color
 
 
48
  */
49
+ class Redux_Customizer_Control_Color extends Redux_Customizer_Control {
50
+ /**
51
+ * Set control type.
52
+ *
53
+ * @var string
54
+ */
55
+ public $type = 'redux-color';
56
+ }
57
  }
58
 
59
+ if ( ! class_exists( 'Redux_Customizer_Control_Media', false ) ) {
 
 
 
 
 
60
  /**
61
+ * Class Redux_Customizer_Control_media
 
 
62
  */
63
+ class Redux_Customizer_Control_Media extends Redux_Customizer_Control {
64
+ // phpcs:ignore Generic.Files.OneClassPerFile
65
+ /**
66
+ * Set control type.
67
+ *
68
+ * @var string
69
+ */
70
+ public $type = 'redux-media';
71
+ }
72
  }
73
 
74
+ if ( ! class_exists( 'Redux_Customizer_Control_Spinner', false ) ) {
 
 
 
 
 
75
  /**
76
+ * Class Redux_Customizer_Control_spinner
 
 
77
  */
78
+ class Redux_Customizer_Control_Spinner extends Redux_Customizer_Control {
79
+ // phpcs:ignore Generic.Files.OneClassPerFile
80
+ /**
81
+ * Set control type.
82
+ *
83
+ * @var string
84
+ */
85
+ public $type = 'redux-spinner';
86
+ }
87
  }
88
 
89
+ if ( ! class_exists( 'Redux_Customizer_Control_Palette', false ) ) {
 
 
 
 
 
90
  /**
91
+ * Class Redux_Customizer_Control_palette
 
 
92
  */
93
+ class Redux_Customizer_Control_Palette extends Redux_Customizer_Control {
94
+ // phpcs:ignore Generic.Files.OneClassPerFile
95
+ /**
96
+ * Set control type.
97
+ *
98
+ * @var string
99
+ */
100
+ public $type = 'redux-palette';
101
+ }
102
  }
103
 
104
+ if ( ! class_exists( 'Redux_Customizer_Control_Button_Set', false ) ) {
 
 
 
 
 
105
  /**
106
+ * Class Redux_Customizer_Control_button_set
 
 
107
  */
108
+ class Redux_Customizer_Control_Button_Set extends Redux_Customizer_Control {
109
+ // phpcs:ignore Generic.Files.OneClassPerFile
110
+ /**
111
+ * Set control type.
112
+ *
113
+ * @var string
114
+ */
115
+ public $type = 'redux-button_set';
116
+ }
117
  }
118
 
119
+ if ( ! class_exists( 'Redux_Customizer_Control_Image_Select', false ) ) {
 
 
 
 
 
120
  /**
121
+ * Class Redux_Customizer_Control_image_select
 
 
122
  */
123
+ class Redux_Customizer_Control_Image_Select extends Redux_Customizer_Control {
124
+ // phpcs:ignore Generic.Files.OneClassPerFile
125
 
126
+ /**
127
+ * Set control type.
128
+ *
129
+ * @var string
130
+ */
131
+ public $type = 'redux-image_select';
132
+ }
133
  }
134
 
135
+ if ( ! class_exists( 'Redux_Customizer_Control_Radio', false ) ) {
 
 
 
 
 
136
  /**
137
+ * Class Redux_Customizer_Control_radio
 
 
138
  */
139
+ class Redux_Customizer_Control_Radio extends Redux_Customizer_Control {
140
+ // phpcs:ignore Generic.Files.OneClassPerFile
141
+ /**
142
+ * Set control type.
143
+ *
144
+ * @var string
145
+ */
146
+ public $type = 'redux-radio';
147
+ }
148
  }
149
 
150
+ if ( ! class_exists( 'Redux_Customizer_Control_Select', false ) ) {
 
 
 
 
 
151
  /**
152
+ * Class Redux_Customizer_Control_select
 
 
153
  */
154
+ class Redux_Customizer_Control_Select extends Redux_Customizer_Control {
155
+ // phpcs:ignore Generic.Files.OneClassPerFile
156
 
157
+ /**
158
+ * Set control type.
159
+ *
160
+ * @var string
161
+ */
162
+ public $type = 'redux-select';
163
+ }
164
  }
165
 
166
+ if ( ! class_exists( 'Redux_Customizer_Control_Gallery', false ) ) {
 
 
 
 
 
167
  /**
168
+ * Class Redux_Customizer_Control_gallery
 
 
169
  */
170
+ class Redux_Customizer_Control_Gallery extends Redux_Customizer_Control {
171
+ // phpcs:ignore Generic.Files.OneClassPerFile
172
+ /**
173
+ * Set control type.
174
+ *
175
+ * @var string
176
+ */
177
+ public $type = 'redux-gallery';
178
+ }
179
  }
180
 
181
+ if ( ! class_exists( 'Redux_Customizer_Control_Slider', false ) ) {
 
 
 
 
 
182
  /**
183
+ * Class Redux_Customizer_Control_slider
 
 
184
  */
185
+ class Redux_Customizer_Control_Slider extends Redux_Customizer_Control {
186
+ // phpcs:ignore Generic.Files.OneClassPerFile
187
+ /**
188
+ * Set control type.
189
+ *
190
+ * @var string
191
+ */
192
+ public $type = 'redux-slider';
193
+ }
194
  }
195
 
196
+ if ( ! class_exists( 'Redux_Customizer_Control_Sortable', false ) ) {
 
 
 
 
 
197
  /**
198
+ * Class Redux_Customizer_Control_sortable
 
 
199
  */
200
+ class Redux_Customizer_Control_Sortable extends Redux_Customizer_Control {
201
+ // phpcs:ignore Generic.Files.OneClassPerFile
202
+ /**
203
+ * Set control type.
204
+ *
205
+ * @var string
206
+ */
207
+ public $type = 'redux-sortable';
208
+ }
209
  }
210
 
211
+ if ( ! class_exists( 'Redux_Customizer_Control_Switch', false ) ) {
 
 
 
 
 
212
  /**
213
+ * Class Redux_Customizer_Control_switch
 
 
214
  */
215
+ class Redux_Customizer_Control_Switch extends Redux_Customizer_Control {
216
+ // phpcs:ignore Generic.Files.OneClassPerFile
217
+ /**
218
+ * Set control type.
219
+ *
220
+ * @var string
221
+ */
222
+ public $type = 'redux-switch';
223
+ }
224
  }
225
 
226
+ if ( ! class_exists( 'Redux_Customizer_Control_Text', false ) ) {
 
 
 
 
 
227
  /**
228
+ * Class Redux_Customizer_Control_text
 
 
229
  */
230
+ class Redux_Customizer_Control_Text extends Redux_Customizer_Control {
231
+ // phpcs:ignore Generic.Files.OneClassPerFile
232
+ /**
233
+ * Set control type.
234
+ *
235
+ * @var string
236
+ */
237
+ public $type = 'redux-text';
238
+ }
239
  }
240
 
241
+ if ( ! class_exists( 'Redux_Customizer_Control_Textarea', false ) ) {
 
 
 
 
 
242
  /**
243
+ * Class Redux_Customizer_Control_textarea
 
 
244
  */
245
+ class Redux_Customizer_Control_Textarea extends Redux_Customizer_Control {
246
+ // phpcs:ignore Generic.Files.OneClassPerFile
247
 
248
+ /**
249
+ * Set control type.
250
+ *
251
+ * @var string
252
+ */
253
+ public $type = 'redux-textarea';
254
+ }
255
  }
redux-framework.php CHANGED
@@ -10,7 +10,7 @@
10
  * Description: Build better sites in WordPress fast
11
  * Author: Redux.io + Dovy Paukstys
12
  * Author URI: http://redux.io
13
- * Version: 4.1.5
14
  * Text Domain: redux-framework
15
  * License: GPLv3 or later
16
  * License URI: http://www.gnu.org/licenses/gpl-3.0.txt
10
  * Description: Build better sites in WordPress fast
11
  * Author: Redux.io + Dovy Paukstys
12
  * Author URI: http://redux.io
13
+ * Version: 4.1.6
14
  * Text Domain: redux-framework
15
  * License: GPLv3 or later
16
  * License URI: http://www.gnu.org/licenses/gpl-3.0.txt