PluginProbe
Responsive Menu – Create Mobile-Friendly Menu / 4.1.1
Responsive Menu – Create Mobile-Friendly Menu v4.1.1
4.7.3 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.10 4.1.11 4.1.12 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 4.2.0 All 90 releases
responsive-menu / migration.php

migration.php in Responsive Menu – Create Mobile-Friendly Menu 4.1.1, at migration.php

49 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 add_action('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 $old_version = get_option('responsive_menu_version') ? get_option('responsive_menu_version') : get_option('RMVer');
10
11 $migration = new ResponsiveMenu\Database\Migration(
12 $options_manager,
13 $old_version,
14 $new_version,
15 get_responsive_menu_default_options()
16 );
17
18 if($migration->needsTable()) {
19 require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
20 global $wpdb;
21 maybe_create_table(
22 $wpdb->prefix . 'responsive_menu',
23 "CREATE TABLE " . $wpdb->prefix . "responsive_menu (
24 name varchar(50) NOT NULL,
25 value LONGTEXT DEFAULT NULL,
26 PRIMARY KEY (name)
27 ) " . $wpdb->get_charset_collate() . ";"
28 );
29 }
30
31 if($migration->needsUpdate()) {
32
33 $migration->addNewOptions();
34 $migration->tidyUpOptions();
35
36 if($migration->getMigrationClasses()):
37 $updated_options = $options_manager->all();
38 foreach($migration->getMigrationClasses() as $migration)
39 $migrated_options = $migration->migrate($updated_options);
40 $options_manager->updateOptions($migrated_options->toArray());
41 endif;
42
43 $task = new ResponsiveMenu\Tasks\UpdateOptionsTask();
44 $task->run($options_manager->all(), get_responsive_menu_service('view'));
45 update_option('responsive_menu_version', $new_version);
46
47 }
48
49 });