PluginProbe ʕ •ᴥ•ʔ
Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager / 4.1.41
Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager v4.1.41
4.1.41 4.1.40 4.1.39 4.1.38 trunk 1.2 1.2.1 1.2.2 1.2.3 1.3 1.3.1 1.3.2 1.3.3 1.4 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6 1.6.1 1.6.10 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7 1.7.1 1.7.2 1.8 1.8.1 1.8.2 1.8.3 1.9.0 1.9.1 1.9.2 1.9.3 2.0.0 2.0.1 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.1.0 2.1.1 2.1.4 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.1 2.3.2 2.3.3 2.3.4 2.4.0 2.4.1 2.4.10 2.4.11 2.4.12 2.4.13 2.4.14 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.6.0 2.7.0 2.7.1 2.8.0 2.9.0 2.9.1 2.9.2 3.0.0 3.0.1 3.0.10 3.0.11 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.3.0 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.10 3.5.11 3.5.12 3.5.13 3.5.14 3.5.15 3.5.16 3.5.17 3.5.18 3.5.19 3.5.2 3.5.3 3.5.4 3.5.5 3.5.6 3.5.7 3.5.8 3.5.9 3.6.0 4.0.0 4.1.0 4.1.1 4.1.10 4.1.11 4.1.12 4.1.13 4.1.14 4.1.15 4.1.16 4.1.17 4.1.18 4.1.19 4.1.2 4.1.20 4.1.21 4.1.22 4.1.23 4.1.24 4.1.25 4.1.26 4.1.27 4.1.28 4.1.29 4.1.3 4.1.30 4.1.31 4.1.32 4.1.34 4.1.35 4.1.36 4.1.37 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9
flexible-checkout-fields / src / Settings / MigrationsManager.php
flexible-checkout-fields / src / Settings Last commit date
Form 1 week ago Migrations 1 week ago Option 1 week ago Route 1 week ago Tab 1 week ago Forms.php 1 week ago Menu.php 1 week ago MigrationsManager.php 1 week ago Page.php 1 week ago Routes.php 1 week ago Tabs.php 1 week ago
MigrationsManager.php
61 lines
1 <?php
2
3 namespace WPDesk\FCF\Free\Settings;
4
5 use WPDesk\FCF\Free\Settings\Migrations\Migration;
6 use FcfVendor\WPDesk\PluginBuilder\Plugin\Hookable;
7 use WPDesk\FCF\Free\Settings\Migrations\Migration320;
8 use WPDesk\FCF\Free\Settings\Migrations\Migration400;
9
10 /**
11 * Manage migration of plugin settings after plugin update.
12 */
13 class MigrationsManager implements Hookable {
14
15 const PLUGIN_MIGRATION_OPTION_KEY = 'fcf_migration_version';
16
17 /**
18 * @var string
19 */
20 private $plugin_version;
21
22 /**
23 * @var Migration[]
24 */
25 private $migrations = [];
26
27 public function __construct( string $plugin_version ) {
28 $this->plugin_version = $plugin_version;
29
30 $this->migrations[] = new Migration320();
31 $this->migrations[] = new Migration400();
32 }
33
34 /**
35 * {@inheritdoc}
36 */
37 public function hooks() {
38 add_action( 'init', [ $this, 'make_migrations' ] );
39 }
40
41 /**
42 * @return void
43 *
44 * @internal
45 */
46 public function make_migrations() {
47 $current_migration = get_option( self::PLUGIN_MIGRATION_OPTION_KEY, '1.0.0' );
48 if ( $current_migration === $this->plugin_version ) {
49 return;
50 }
51
52 foreach ( $this->migrations as $migration ) {
53 if ( $migration->get_version() > $current_migration ) {
54 $migration->up();
55 }
56 }
57
58 update_option( self::PLUGIN_MIGRATION_OPTION_KEY, $this->plugin_version );
59 }
60 }
61