Redux Framework - Version 3.2.2

Version Description

  • Fixed: Info field didn't intend within section.
  • Fixed: Compiler hook wasn't running.
Download this release

Release Info

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

Code changes from version 3.2.1 to 3.2.2

Gruntfile.js CHANGED
@@ -224,6 +224,11 @@ module.exports = function(grunt) {
224
  }
225
  }
226
  },
 
 
 
 
 
227
  });
228
 
229
  grunt.loadNpmTasks('grunt-contrib-uglify');
@@ -235,6 +240,7 @@ module.exports = function(grunt) {
235
  grunt.loadNpmTasks("grunt-phplint");
236
  grunt.loadNpmTasks('grunt-contrib-less');
237
  grunt.loadNpmTasks('grunt-po2mo');
 
238
 
239
  grunt.registerTask('langUpdate', "Update languages", function() {
240
  shell.exec('tx pull -a --minimum-perc=25');
@@ -254,6 +260,7 @@ module.exports = function(grunt) {
254
  grunt.registerTask('watchPHP', ['watch:php', 'phplint:core', 'phplint:plugin']);
255
 
256
  grunt.registerTask("lintPHP", ["phplint:plugin", "phplint:core"]);
 
257
  grunt.registerTask("compileCSS", ["less:production", "less:development", "less:extensions"]);
258
  grunt.registerTask('compileJS', ['jshint', 'concat:core', 'uglify:core', 'concat:vendor', 'uglify:vendor']);
259
  grunt.registerTask('compileTestJS', ['jshint', 'concat:core', 'concat:vendor']);
224
  }
225
  }
226
  },
227
+ recess: {
228
+ dist: {
229
+ src: ['ReduxCore/assets/css/admin.less']
230
+ }
231
+ }
232
  });
233
 
234
  grunt.loadNpmTasks('grunt-contrib-uglify');
240
  grunt.loadNpmTasks("grunt-phplint");
241
  grunt.loadNpmTasks('grunt-contrib-less');
242
  grunt.loadNpmTasks('grunt-po2mo');
243
+ grunt.loadNpmTasks('grunt-recess');
244
 
245
  grunt.registerTask('langUpdate', "Update languages", function() {
246
  shell.exec('tx pull -a --minimum-perc=25');
260
  grunt.registerTask('watchPHP', ['watch:php', 'phplint:core', 'phplint:plugin']);
261
 
262
  grunt.registerTask("lintPHP", ["phplint:plugin", "phplint:core"]);
263
+ grunt.registerTask("lintLESS", ["recess:dist"]);
264
  grunt.registerTask("compileCSS", ["less:production", "less:development", "less:extensions"]);
265
  grunt.registerTask('compileJS', ['jshint', 'concat:core', 'uglify:core', 'concat:vendor', 'uglify:vendor']);
266
  grunt.registerTask('compileTestJS', ['jshint', 'concat:core', 'concat:vendor']);
README.md CHANGED
@@ -22,7 +22,7 @@ https://github.com/ReduxFramework/ReduxFramework/wiki/translate
22
 
23
  ## Getting Started with Redux ##
24
 
25
- ReduxFramework has been built from the groud up to be the most flexible framework around. You can run it as an auto-updating plugin, or embed it inside your plugin or theme. It allows for multiple copies of itself within the same WordPress instance. For a guide on getting started please refer to [https://github.com/ReduxFramework/redux-framework/wiki/Getting-Started](https://github.com/ReduxFramework/redux-framework/wiki/Getting-Started).
26
 
27
  You can also [download our sample theme available here](https://github.com/ReduxFramework/ReduxSampleTheme) to start developing right away.
28
 
@@ -74,6 +74,13 @@ Send me an email at ghost1227@reduxframework.com so I can add you to our user sp
74
 
75
  ### Master ###
76
 
 
 
 
 
 
 
 
77
  = 3.1.9.44 =
78
  * Fixed: Small bug in image_select javascript.
79
 
22
 
23
  ## Getting Started with Redux ##
24
 
25
+ ReduxFramework has been built from the ground up to be the most flexible framework around. You can run it as an auto-updating plugin, or embed it inside your plugin or theme. It allows for multiple copies of itself within the same WordPress instance. For a guide on getting started please refer to [https://github.com/ReduxFramework/redux-framework/wiki/Getting-Started](https://github.com/ReduxFramework/redux-framework/wiki/Getting-Started).
26
 
27
  You can also [download our sample theme available here](https://github.com/ReduxFramework/ReduxSampleTheme) to start developing right away.
28
 
74
 
75
  ### Master ###
76
 
77
+ = 3.2.2.2 =
78
+ * Fixed: Info field didn't intend within section.
79
+
80
+ = 3.2.2.1 =
81
+ * Fixed: Compiler hook wasn't running.
82
+
83
+
84
  = 3.1.9.44 =
85
  * Fixed: Small bug in image_select javascript.
86
 
README.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_i
4
  Tags: admin, admin interface, options, theme options, plugin options, options framework, settings, web fonts, google fonts
5
  Requires at least: 3.5.1
6
  Tested up to: 3.9.0
7
- Stable tag: 3.2.0
8
  License: GPLv3 or later
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -125,6 +125,10 @@ That's because the real FAQ section is on our site! Please visit [http://docs.re
125
 
126
  == Changelog ==
127
 
 
 
 
 
128
  = 3.2.1 =
129
  * Fixed: Small bug in image_select javascript.
130
  * Added: Import hook, just because we can. :)
4
  Tags: admin, admin interface, options, theme options, plugin options, options framework, settings, web fonts, google fonts
5
  Requires at least: 3.5.1
6
  Tested up to: 3.9.0
7
+ Stable tag: 3.2.2
8
  License: GPLv3 or later
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
125
 
126
  == Changelog ==
127
 
128
+ = 3.2.2 =
129
+ * Fixed: Info field didn't intend within section.
130
+ * Fixed: Compiler hook wasn't running.
131
+
132
  = 3.2.1 =
133
  * Fixed: Small bug in image_select javascript.
134
  * Added: Import hook, just because we can. :)
ReduxCore/framework.php CHANGED
@@ -17,7 +17,7 @@
17
  * @package Redux_Framework
18
  * @subpackage Core
19
  * @author Redux Framework Team
20
- * @version 3.2.1
21
  */
22
 
23
  // Exit if accessed directly
@@ -60,7 +60,7 @@ if( !class_exists( 'ReduxFramework' ) ) {
60
  // ATTENTION DEVS
61
  // Please update the build number with each push, no matter how small.
62
  // This will make for easier support when we ask users what version they are using.
63
- public static $_version = '3.2.1';
64
  public static $_dir;
65
  public static $_url;
66
  public static $wp_content_url;
@@ -1244,7 +1244,7 @@ if( !class_exists( 'ReduxFramework' ) ) {
1244
  if( !isset( $section['type'] ) || $section['type'] != 'divide' ) {
1245
 
1246
  foreach( $this->sections as $k => $section ) {
1247
- if ( !isset( $section['title'] ) ){
1248
  continue;
1249
  }
1250
 
@@ -2113,7 +2113,7 @@ if( !class_exists( 'ReduxFramework' ) ) {
2113
  }
2114
  }
2115
  add_settings_section( $this->args['opt_name'] . $k . '_section', $heading, array( &$this, '_section_desc' ), $this->args['opt_name'] . $k . '_section_group' );
2116
-
2117
  if( isset( $section['fields'] ) ) {
2118
  foreach( $section['fields'] as $fieldk => $field ) {
2119
  if ( !isset( $field['type'] ) ) {
@@ -2148,6 +2148,16 @@ if( !class_exists( 'ReduxFramework' ) ) {
2148
  continue;
2149
  }
2150
 
 
 
 
 
 
 
 
 
 
 
2151
  $th = $this->get_header_html( $field );
2152
 
2153
  $field['name'] = $this->args['opt_name'] . '[' . $field['id'] . ']';
@@ -2479,8 +2489,8 @@ if( !class_exists( 'ReduxFramework' ) ) {
2479
  }
2480
 
2481
  if (isset($compiler)) {
2482
- $this->run_compiler = true;
2483
- //setcookie('redux-compiler-' . $this->args['opt_name'], 1, time()+1000, '/');
2484
  $plugin_options['REDUX_COMPILER'] = time();
2485
  }
2486
  $this->saved = "defaults_section";
@@ -2514,8 +2524,8 @@ if( !class_exists( 'ReduxFramework' ) ) {
2514
 
2515
  if( !empty( $plugin_options['compiler'] ) ) {
2516
  $plugin_options['REDUX_COMPILER'] = time();
2517
- //setcookie('redux-compiler-' . $this->args['opt_name'], 1, time()+1000, '/');
2518
- $this->run_compiler = true;
2519
  }
2520
 
2521
  unset( $plugin_options['defaults'], $plugin_options['defaults_section'], $plugin_options['import'], $plugin_options['import_code'], $plugin_options['import_link'], $plugin_options['compiler'], $plugin_options['redux-section'] );
@@ -2696,20 +2706,32 @@ if( !class_exists( 'ReduxFramework' ) ) {
2696
 
2697
  if (isset($section['type']) && $section['type'] == "divide") {
2698
  $string .= '<li class="divide">&nbsp;</li>';
2699
- } else {
2700
  // DOVY! REPLACE $k with $section['ID'] when used properly.
2701
  //$active = ( ( is_numeric($this->current_tab) && $this->current_tab == $k ) || ( !is_numeric($this->current_tab) && $this->current_tab === $k ) ) ? ' active' : '';
2702
  $string .= '<li id="' . $k.$suffix . '_section_group_li" class="redux-group-tab-link-li">';
2703
  $string .= '<a href="javascript:void(0);" id="' . $k.$suffix . '_section_group_li_a" class="redux-group-tab-link-a" data-rel="' . $k.$suffix . '">' . $icon . '<span class="group_title">' . $section['title'] . '</span></a>';
2704
- if ( !empty( $section['sections'] ) ) {
2705
- $string .= '<ul id="' . $k.$suffix . '_section_group_li_subsections" class="sub">';
2706
- foreach ($section['sections'] as $k2 => $subsection) {
2707
- $string .= '<li id="' . $k.$suffix . '_section_group_li" class="redux-group-tab-link-li">';
2708
- $string .= '<a href="javascript:void(0);" id="' . $k.$suffix . '_section_group_subsection_li_a" class="redux-group-tab-link-a" data-rel="' . $k.$suffix .'sub-'.$k2.'"><span class="group_title">' . $subsection['title'] . '</span></a>';
 
 
 
 
 
 
 
 
2709
  $string .= '</li>';
2710
  }
 
 
 
2711
  $string .= '</ul>';
2712
  }
 
2713
  $string .- '</li>';
2714
  }
2715
  return $string;
17
  * @package Redux_Framework
18
  * @subpackage Core
19
  * @author Redux Framework Team
20
+ * @version 3.2.2
21
  */
22
 
23
  // Exit if accessed directly
60
  // ATTENTION DEVS
61
  // Please update the build number with each push, no matter how small.
62
  // This will make for easier support when we ask users what version they are using.
63
+ public static $_version = '3.2.2';
64
  public static $_dir;
65
  public static $_url;
66
  public static $wp_content_url;
1244
  if( !isset( $section['type'] ) || $section['type'] != 'divide' ) {
1245
 
1246
  foreach( $this->sections as $k => $section ) {
1247
+ if ( !isset( $section['title'] ) || ( isset( $section['subsection'] ) && $section['subsection'] == true ) ) {
1248
  continue;
1249
  }
1250
 
2113
  }
2114
  }
2115
  add_settings_section( $this->args['opt_name'] . $k . '_section', $heading, array( &$this, '_section_desc' ), $this->args['opt_name'] . $k . '_section_group' );
2116
+ $sectionIndent = false;
2117
  if( isset( $section['fields'] ) ) {
2118
  foreach( $section['fields'] as $fieldk => $field ) {
2119
  if ( !isset( $field['type'] ) ) {
2148
  continue;
2149
  }
2150
 
2151
+ if ( isset( $field['type'] ) && $field['type'] == "section" ) {
2152
+ if ( isset( $field['indent'] ) && $field['indent'] == true ) {
2153
+ $sectionIndent = true;
2154
+ } else {
2155
+ $sectionIndent = false;
2156
+ }
2157
+ }
2158
+ if ( isset( $field['type'] ) && $field['type'] == "info" && $sectionIndent ) {
2159
+ $field['sectionIndent'] = $sectionIndent;
2160
+ }
2161
  $th = $this->get_header_html( $field );
2162
 
2163
  $field['name'] = $this->args['opt_name'] . '[' . $field['id'] . ']';
2489
  }
2490
 
2491
  if (isset($compiler)) {
2492
+ //$this->run_compiler = true;
2493
+ setcookie('redux-compiler-' . $this->args['opt_name'], 1, time()+1000, '/');
2494
  $plugin_options['REDUX_COMPILER'] = time();
2495
  }
2496
  $this->saved = "defaults_section";
2524
 
2525
  if( !empty( $plugin_options['compiler'] ) ) {
2526
  $plugin_options['REDUX_COMPILER'] = time();
2527
+ setcookie('redux-compiler-' . $this->args['opt_name'], 1, time()+1000, '/');
2528
+ //$this->run_compiler = true;
2529
  }
2530
 
2531
  unset( $plugin_options['defaults'], $plugin_options['defaults_section'], $plugin_options['import'], $plugin_options['import_code'], $plugin_options['import_link'], $plugin_options['compiler'], $plugin_options['redux-section'] );
2706
 
2707
  if (isset($section['type']) && $section['type'] == "divide") {
2708
  $string .= '<li class="divide">&nbsp;</li>';
2709
+ } else if (!isset($section['subsection']) || $section['subsection'] != true ) {
2710
  // DOVY! REPLACE $k with $section['ID'] when used properly.
2711
  //$active = ( ( is_numeric($this->current_tab) && $this->current_tab == $k ) || ( !is_numeric($this->current_tab) && $this->current_tab === $k ) ) ? ' active' : '';
2712
  $string .= '<li id="' . $k.$suffix . '_section_group_li" class="redux-group-tab-link-li">';
2713
  $string .= '<a href="javascript:void(0);" id="' . $k.$suffix . '_section_group_li_a" class="redux-group-tab-link-a" data-rel="' . $k.$suffix . '">' . $icon . '<span class="group_title">' . $section['title'] . '</span></a>';
2714
+ $nextK = $k;
2715
+ if ( isset( $this->sections[($k+1)] ) && isset($this->sections[($k+1)]['subsection']) && $this->sections[($k+1)]['subsection'] == true ) {
2716
+ $string .= '<ul id="' . $nextK.$suffix . '_section_group_li_subsections" class="subsection">';
2717
+ }
2718
+
2719
+ $doLoop = true;
2720
+ while ($doLoop) {
2721
+ $nextK += 1;
2722
+ if ( count($this->sections) < $nextK || !isset( $this->sections[$nextK] ) || !isset($this->sections[$nextK]['subsection']) || $this->sections[$nextK]['subsection'] != true ) {
2723
+ $doLoop = false;
2724
+ } else {
2725
+ $string .= '<li id="' . $nextK.$suffix . '_section_group_li" class="redux-group-tab-link-li">';
2726
+ $string .= '<a href="javascript:void(0);" id="' . $nextK.$suffix . '_section_group_li_a" class="redux-group-tab-link-a" data-rel="' . $nextK.$suffix .'"><span class="group_title">' . $this->sections[$nextK]['title'] . '</span></a>';
2727
  $string .= '</li>';
2728
  }
2729
+ }
2730
+
2731
+ if ( isset( $this->sections[($k+1)] ) && isset($this->sections[($k+1)]['subsection']) && $this->sections[($k+1)]['subsection'] == true ) {
2732
  $string .= '</ul>';
2733
  }
2734
+
2735
  $string .- '</li>';
2736
  }
2737
  return $string;
ReduxCore/inc/fields/info/field_info.php CHANGED
@@ -98,7 +98,9 @@ if( !class_exists( 'ReduxFramework_info' ) ) {
98
  $this->field['style'] = 'redux-' . $this->field['style'].' ';
99
  }
100
 
101
- echo '</td></tr></table><div id="info-' . $this->field['id'] . '" class="' . $this->field['style'] . $this->field['class'] . ' redux-field-'.$this->field['type'].'">';
 
 
102
 
103
  if ( !empty($this->field['raw_html']) && $this->field['raw_html'] ) {
104
  echo $this->field['desc'];
98
  $this->field['style'] = 'redux-' . $this->field['style'].' ';
99
  }
100
 
101
+ $indent = (isset($this->field['sectionIndent']) && $this->field['sectionIndent']) ? ' form-table-section-indented' : '';
102
+
103
+ echo '</td></tr></table><div id="info-' . $this->field['id'] . '" class="' . $this->field['style'] . $this->field['class'] . ' redux-field-'.$this->field['type'].$indent.'">';
104
 
105
  if ( !empty($this->field['raw_html']) && $this->field['raw_html'] ) {
106
  echo $this->field['desc'];
package.json CHANGED
@@ -24,7 +24,8 @@
24
  "grunt-contrib-less": "~0.8.2",
25
  "recess": "~1.1.9",
26
  "grunt-po2mo": "~0.1.0",
27
- "shelljs": "~0.2.6"
 
28
  },
29
  "scripts": {
30
  "test": "echo \"Error: no test specified\" && exit 1"
24
  "grunt-contrib-less": "~0.8.2",
25
  "recess": "~1.1.9",
26
  "grunt-po2mo": "~0.1.0",
27
+ "shelljs": "~0.2.6",
28
+ "grunt-recess": "^0.6.1"
29
  },
30
  "scripts": {
31
  "test": "echo \"Error: no test specified\" && exit 1"
redux-framework.php CHANGED
@@ -12,7 +12,7 @@
12
  * Description: Redux is a simple, truly extensible options framework for WordPress themes and plugins.
13
  * Author: Redux
14
  * Author URI: http://reduxframework.com
15
- * Version: 3.2.1
16
  * Text Domain: redux-framework
17
  * License: GPL3+
18
  * License URI: http://www.gnu.org/licenses/gpl-3.0.txt
12
  * Description: Redux is a simple, truly extensible options framework for WordPress themes and plugins.
13
  * Author: Redux
14
  * Author URI: http://reduxframework.com
15
+ * Version: 3.2.2
16
  * Text Domain: redux-framework
17
  * License: GPL3+
18
  * License URI: http://www.gnu.org/licenses/gpl-3.0.txt