PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 1.8.2
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v1.8.2
4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 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.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / app / src / Database / UpdateMigrationServiceProvider.php
surecart / app / src / Database Last commit date
Tables 3 years ago GeneralMigration.php 3 years ago MigrationsServiceProvider.php 3 years ago Table.php 3 years ago UpdateMigrationServiceProvider.php 3 years ago UserMetaMigrationsService.php 3 years ago
UpdateMigrationServiceProvider.php
67 lines
1 <?php
2
3 namespace SureCart\Database;
4
5 use SureCartCore\ServiceProviders\ServiceProviderInterface;
6
7 /**
8 * This service provider runs on every single update.
9 */
10 class UpdateMigrationServiceProvider implements ServiceProviderInterface {
11 /**
12 * {@inheritDoc}
13 *
14 * @param \Pimple\Container $container Service Container.
15 */
16 public function register( $container ) {
17 // nothing to register.
18 }
19
20 /**
21 * {@inheritDoc}
22 *
23 * @param \Pimple\Container $container Service Container.
24 */
25 public function bootstrap( $container ) {
26 // only run the migration if the version changes.
27 add_action( 'admin_init', [ $this, 'run' ] );
28 // update the migration version on admin_init lower priority, after all migrations have run.
29 add_action( 'admin_init', [ $this, 'updateMigrationVersion' ], 9999999 );
30 }
31
32 /**
33 * Run the migration.
34 */
35 public function run() {
36 if ( ! $this->versionChanged() ) {
37 return;
38 }
39
40 // flush roles on every update.
41 \SureCart::plugin()->roles()->create();
42 // make sure to check for and create cart post on every update.
43 \SureCart::page_seeder()->createCartPost();
44 }
45
46 /**
47 * Update the migration version.
48 *
49 * @return void
50 */
51 public function updateMigrationVersion() {
52 if ( ! $this->versionChanged() ) {
53 return;
54 }
55 update_option( 'surecart_migration_version', \SureCart::plugin()->version() );
56 }
57
58 /**
59 * Version has changed?
60 *
61 * @return boolean
62 */
63 public function versionChanged() {
64 return version_compare( \SureCart::plugin()->version(), get_option( 'surecart_migration_version', '0.0.0' ), '!=' );
65 }
66 }
67