PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.0.4
GiveWP – Donation Plugin and Fundraising Platform v3.0.4
4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 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.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / Framework / Migrations / Actions / ManuallyRunMigration.php
give / src / Framework / Migrations / Actions Last commit date
ClearCompletedUpgrade.php 4 years ago ManuallyRunMigration.php 4 years ago
ManuallyRunMigration.php
73 lines
1 <?php
2
3 namespace Give\Framework\Migrations\Actions;
4
5 use Exception;
6 use Give\Framework\Migrations\Contracts\Migration;
7 use Give\Framework\Migrations\MigrationsRunner;
8
9 class ManuallyRunMigration
10 {
11 /**
12 * Manually runs the migration and then marks the migration as finished if successful
13 *
14 * @since 2.9.2
15 *
16 * @param Migration $migration
17 *
18 */
19 public function __invoke(Migration $migration)
20 {
21 global $wpdb;
22
23 $wpdb->query('START TRANSACTION');
24
25 try {
26 $migration->run();
27 } catch (Exception $exception) {
28 $wpdb->query('ROLLBACK');
29
30 give_record_log('Migration Failed', print_r($exception, true), 0, 'update');
31 give()->notices->register_notice(
32 [
33 'id' => 'migration-failure',
34 'description' => sprintf(
35 '%1$s <a href="https://givewp.com/support/">https://givewp.com/support</a>',
36 esc_html__(
37 'There was a problem running the migrations. Please reach out to GiveWP support for assistance:',
38 'give'
39 )
40 ),
41 ]
42 );
43
44 throw $exception;
45 }
46
47 // Commit transaction if successful
48 $wpdb->query('COMMIT');
49
50 $this->updateMigrationsSetting($migration::id());
51 }
52
53 /**
54 * Updates the completed migrations to include the migration if not yet included
55 *
56 * @since 2.9.2
57 *
58 * @param string $migrationId
59 */
60 private function updateMigrationsSetting($migrationId)
61 {
62 $completedMigrations = get_option(MigrationsRunner::MIGRATION_OPTION);
63
64 if (in_array($migrationId, $completedMigrations, true)) {
65 return;
66 }
67
68 $completedMigrations[] = $migrationId;
69
70 update_option(MigrationsRunner::MIGRATION_OPTION, $completedMigrations);
71 }
72 }
73