| 1 |
<?php |
| 2 |
|
| 3 |
add_action('admin_init', function() { |
| 4 |
|
| 5 |
$options_manager = get_responsive_menu_service('option_manager'); |
| 6 |
$plugin_data = get_file_data(dirname(__FILE__) . '/responsive-menu.php', ['version']); |
| 7 |
$new_version = $plugin_data[0]; |
| 8 |
|
| 9 |
$migration = new ResponsiveMenu\Database\Migration( |
| 10 |
$options_manager, |
| 11 |
get_option('responsive_menu_version'), |
| 12 |
$new_version, |
| 13 |
get_responsive_menu_default_options() |
| 14 |
); |
| 15 |
|
| 16 |
if($migration->needsTable()) { |
| 17 |
require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); |
| 18 |
global $wpdb; |
| 19 |
maybe_create_table( |
| 20 |
$wpdb->prefix . 'responsive_menu', |
| 21 |
"CREATE TABLE " . $wpdb->prefix . "responsive_menu ( |
| 22 |
name varchar(50) NOT NULL, |
| 23 |
value varchar(5000) DEFAULT NULL, |
| 24 |
PRIMARY KEY (name) |
| 25 |
) " . $wpdb->get_charset_collate() . ";" |
| 26 |
); |
| 27 |
} |
| 28 |
|
| 29 |
if($migration->needsUpdate()) { |
| 30 |
$migration->addNewOptions(); |
| 31 |
$migration->tidyUpOptions(); |
| 32 |
$task = new ResponsiveMenu\Tasks\UpdateOptionsTask(); |
| 33 |
$task->run($options_manager->all(), get_responsive_menu_service('view')); |
| 34 |
update_option('responsive_menu_version', $new_version); |
| 35 |
} |
| 36 |
|
| 37 |
}); |