-
-
Save kemenaran/a9a52d516ac556a57058fab7dcc8f92b to your computer and use it in GitHub Desktop.
<?php | |
/** | |
* Plugin Name: ColibriWP Fix Options | |
* | |
* How to use: | |
* | |
* 1. Put this file inside the wp-content/plugins/ directory; | |
* 2. In the Wordpress Dashboard, navigate to the Extensions page; | |
* 3. Enable the "ColibriWP Fix Options" extension; | |
* 4. Load any page with a `colibriwp-try-fix-serialization` GET parameter. | |
* For instance, `https://www.your-wordpress-site.com/index.php?colibriwp-try-fix-serialization=true` | |
*/ | |
function fix_str_length($matches) { | |
$string = $matches[2]; | |
$right_length = strlen($string); // yes, strlen even for UTF-8 characters, PHP wants the mem size, not the char count | |
return 's:' . $right_length . ':"' . $string . '";'; | |
} | |
function extendthemes_fix_serialized($string) | |
{ | |
// securities | |
if (!preg_match('/^[aOs]:/', $string)) return $string; | |
if (@unserialize($string) !== false) return $string; | |
$string = preg_replace("%\n%", "", $string); | |
// doublequote exploding | |
$data = preg_replace('%";%', "µµµ", $string); | |
$tab = explode("µµµ", $data); | |
$new_data = ''; | |
foreach ($tab as $line) { | |
$new_data .= preg_replace_callback('%\bs:(\d+):"(.*)%', 'fix_str_length', $line); | |
} | |
return $new_data; | |
} | |
function get_option_raw($option) { | |
global $wpdb; | |
$suppress = $wpdb->suppress_errors(); | |
$row = $wpdb->get_row( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1", $option ) ); | |
$wpdb->suppress_errors( $suppress ); | |
return $row->option_value; | |
} | |
add_action('init', function () { | |
if (isset($_REQUEST['colibriwp-try-fix-serialization'])) { | |
$x = get_option_raw( 'extend_builder_theme'); | |
if (is_string($x)) { | |
$x = preg_replace('#\r?\n#', " ", $x); | |
$x = extendthemes_fix_serialized($x); | |
$y = unserialize($x); | |
if(is_array($y)){ | |
update_option('extend_builder_theme', $y); | |
var_dump($y); | |
} else { | |
wp_die( 'Au au' ); | |
} | |
} | |
} | |
}); |
Jai presque le même problème est je n'arrive pas a le résoudre je sais que c'est le plugin colibri que pose problème:
Fatal error: Uncaught TypeError: array_replace_recursive(): Argument #2 must be of type array, null given in C:\xampp\htdocs\medic\wp-content\plugins\colibri-page-builder\extend-builder\data\theme-data.php:213 Stack trace: #0 C:\xampp\htdocs\medic\wp-content\plugins\colibri-page-builder\extend-builder\data\theme-data.php(213): array_replace_recursive(Array, NULL) #1 C:\xampp\htdocs\medic\wp-content\plugins\colibri-page-builder\extend-builder\data\theme-data.php(143): ExtendBuilder\get_theme_data() #2 C:\xampp\htdocs\medic\wp-content\plugins\colibri-page-builder\extend-builder\data\theme-data.php(41): ExtendBuilder\get_plugin_option('css_by_partials...') #3 C:\xampp\htdocs\medic\wp-content\plugins\colibri-page-builder\extend-builder\data\data.php(254): ExtendBuilder\get_colibri_options() #4 C:\xampp\htdocs\medic\wp-content\plugins\colibri-page-builder\extend-builder\data\theme-data.php(199): ExtendBuilder\get_current_data(-1, true) #5 C:\xampp\htdocs\medic\wp-content\plugins\colibri-page-builder\extend-builder\data\theme-data.php(224): ExtendBuilder\get_theme_data('colors', true, Array) #6 C:\xampp\htdocs\medic\wp-content\plugins\colibri-page-builder\extend-builder\gutenberg.php(6): ExtendBuilder\get_current_theme_data('colors', Array) #7 C:\xampp\htdocs\medic\wp-includes\class-wp-hook.php(307): ExtendBuilder{closure}('') #8 C:\xampp\htdocs\medic\wp-includes\class-wp-hook.php(331): WP_Hook->apply_filters(NULL, Array) #9 C:\xampp\htdocs\medic\wp-includes\plugin.php(474): WP_Hook->do_action(Array) #10 C:\xampp\htdocs\medic\wp-settings.php(565): do_action('after_setup_the...') #11 C:\xampp\htdocs\medic\wp-config.php(98): require_once('C:\xampp\htdocs...') #12 C:\xampp\htdocs\medic\wp-load.php(50): require_once('C:\xampp\htdocs...') #13 C:\xampp\htdocs\medic\wp-admin\admin.php(34): require_once('C:\xampp\htdocs...') #14 C:\xampp\htdocs\medic\wp-admin\index.php(10): require_once('C:\xampp\htdocs...') #15 {main} thrown in C:\xampp\htdocs\medic\wp-content\plugins\colibri-page-builder\extend-builder\data\theme-data.php on line 213
si une personne aurais une idéé
@ivansammartino er, I'm not sure… If on your new server you move the
wp-content/plugins/colibri
directory somewhere else (like towp-content/plugins-disabled/
), this will probably allow you to regain access to the admin console on the new server. Then you can try to apply the script directly to your new server maybe?