Redux Framework - Version 4.0.9

Version Description

  • Fixed: Complete compatibility fix for older Redux extensions.
  • Release date: July 28, 2020
Download this release

Release Info

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

Code changes from version 4.0.8 to 4.0.9

composer.json CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "name": "reduxframework/redux-framework-4",
3
- "version": "4.0.8",
4
  "authors": [
5
  {
6
  "name": "Redux.io",
1
  {
2
  "name": "reduxframework/redux-framework-4",
3
+ "version": "4.0.9",
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.0.8
9
  License: GPLv3 or later
10
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
11
 
@@ -131,6 +131,10 @@ That's because the real FAQ section is on our site! Please visit [http://docs.re
131
 
132
  == Changelog ==
133
 
 
 
 
 
134
  = 4.0.8 =
135
  * Fixed: Initial library load was failing on some server setups.
136
  * Release date: July 28, 2020
5
  Requires at least: 4.0
6
  Requires PHP: 5.3
7
  Tested up to: 5.5
8
+ Stable tag: 4.0.9
9
  License: GPLv3 or later
10
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
11
 
131
 
132
  == Changelog ==
133
 
134
+ = 4.0.9 =
135
+ * Fixed: Complete compatibility fix for older Redux extensions.
136
+ * Release date: July 28, 2020
137
+
138
  = 4.0.8 =
139
  * Fixed: Initial library load was failing on some server setups.
140
  * Release date: July 28, 2020
redux-core/class-redux-core.php CHANGED
@@ -298,6 +298,7 @@ if ( ! class_exists( 'Redux_Core', false ) ) {
298
  }
299
 
300
  require_once dirname( __FILE__ ) . '/inc/classes/class-redux-path.php';
 
301
 
302
  spl_autoload_register( array( $this, 'register_classes' ) );
303
  Redux_Functions_Ex::register_class_path( 'Redux', dirname( __FILE__ ) );
298
  }
299
 
300
  require_once dirname( __FILE__ ) . '/inc/classes/class-redux-path.php';
301
+ require_once dirname( __FILE__ ) . '/inc/classes/class-redux-extension-abstract.php';
302
 
303
  spl_autoload_register( array( $this, 'register_classes' ) );
304
  Redux_Functions_Ex::register_class_path( 'Redux', dirname( __FILE__ ) );
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.0.8';
27
  Redux_Core::$redux_path = dirname( __FILE__ );
28
  Redux_Core::instance();
29
 
23
 
24
  require_once dirname( __FILE__ ) . '/class-redux-core.php';
25
 
26
+ Redux_Core::$version = '4.0.9';
27
  Redux_Core::$redux_path = dirname( __FILE__ );
28
  Redux_Core::instance();
29
 
redux-core/inc/classes/class-redux-extension-abstract.php CHANGED
@@ -251,3 +251,7 @@ abstract class Redux_Extension_Abstract {
251
  return true;
252
  }
253
  }
 
 
 
 
251
  return true;
252
  }
253
  }
254
+
255
+ if ( ! class_exists( 'Redux_Abstract_Extension' ) ) {
256
+ class_alias( 'Redux_Extension_Abstract', 'Redux_Abstract_Extension' );
257
+ }
redux-core/inc/classes/class-redux-functions-ex.php CHANGED
@@ -271,7 +271,7 @@ if ( ! class_exists( 'Redux_Functions_Ex', false ) ) {
271
  * @return object - Extended field class.
272
  */
273
  public static function extension_compatibility( $parent, $path, $ext_class, $new_class_name, $name ) {
274
- $upload_dir = ReduxFramework::$_upload_dir . '/compatibility/';
275
  if ( ! file_exists( $upload_dir . $ext_class . '.php' ) ) {
276
  if ( ! is_dir( $upload_dir ) ) {
277
  $parent->filesystem->mkdir( $upload_dir );
@@ -294,7 +294,7 @@ if ( ! class_exists( 'Redux_Functions_Ex', false ) ) {
294
  ' }' . PHP_EOL .
295
  ' // fake "extends Redux_Extension_Abstract\" using magic function' . PHP_EOL .
296
  ' public function __call( $method, $args ) {' . PHP_EOL .
297
- ' $this->c->$method( $args[0] );' . PHP_EOL .
298
  ' }' . PHP_EOL .
299
  '}' . PHP_EOL;
300
  $template = str_replace( '{{ext_class}}', $new_class_name, $class_file );
271
  * @return object - Extended field class.
272
  */
273
  public static function extension_compatibility( $parent, $path, $ext_class, $new_class_name, $name ) {
274
+ $upload_dir = ReduxFramework::$_upload_dir . '/extension_compatibility/';
275
  if ( ! file_exists( $upload_dir . $ext_class . '.php' ) ) {
276
  if ( ! is_dir( $upload_dir ) ) {
277
  $parent->filesystem->mkdir( $upload_dir );
294
  ' }' . PHP_EOL .
295
  ' // fake "extends Redux_Extension_Abstract\" using magic function' . PHP_EOL .
296
  ' public function __call( $method, $args ) {' . PHP_EOL .
297
+ ' return call_user_func_array( array( $this->c, $method ), $args );' . PHP_EOL .
298
  ' }' . PHP_EOL .
299
  '}' . PHP_EOL;
300
  $template = str_replace( '{{ext_class}}', $new_class_name, $class_file );
redux-core/inc/extensions/customizer/class-redux-extension-customizer.php CHANGED
@@ -803,14 +803,16 @@ if ( ! class_exists( 'Redux_Extension_Customizer', false ) ) {
803
  }
804
  }
805
 
806
- /**
807
- * Custom validation.
808
- *
809
- * @param mixed $field Field.
810
- *
811
- * @return mixed
812
- */
813
- function redux_customizer_custom_validation( $field ) {
814
- return $field;
 
 
815
  }
816
  }
803
  }
804
  }
805
 
806
+ if ( ! function_exists( 'redux_customizer_custom_validation' ) ) {
807
+ /**
808
+ * Custom validation.
809
+ *
810
+ * @param mixed $field Field.
811
+ *
812
+ * @return mixed
813
+ */
814
+ function redux_customizer_custom_validation( $field ) {
815
+ return $field;
816
+ }
817
  }
818
  }
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.0.8
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.0.9
14
  * Text Domain: redux-framework
15
  * License: GPLv3 or later
16
  * License URI: http://www.gnu.org/licenses/gpl-3.0.txt
redux-templates/classes/class-api.php CHANGED
@@ -223,7 +223,7 @@ class Api {
223
 
224
  $last_modified = file_exists( $path ) ? $this->get_cache_time( $path ) : false;
225
 
226
- $use_cache = true;
227
  if ( isset( $parameters['no_cache'] ) ) {
228
  $use_cache = false;
229
  }
@@ -335,7 +335,7 @@ class Api {
335
  $data = json_decode( ReduxTemplates\Init::get_local_file_contents( $test_path ), true );
336
  } else {
337
  $parameters['no_cache'] = 1;
338
- $data = $this->api_cache_fetch( $parameters, $config, 'library.json' );
339
  }
340
 
341
  if ( isset( $data['plugins'] ) ) {
223
 
224
  $last_modified = file_exists( $path ) ? $this->get_cache_time( $path ) : false;
225
 
226
+ $use_cache = true;
227
  if ( isset( $parameters['no_cache'] ) ) {
228
  $use_cache = false;
229
  }
335
  $data = json_decode( ReduxTemplates\Init::get_local_file_contents( $test_path ), true );
336
  } else {
337
  $parameters['no_cache'] = 1;
338
+ $data = $this->api_cache_fetch( $parameters, $config, 'library.json' );
339
  }
340
 
341
  if ( isset( $data['plugins'] ) ) {