PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.8.0
GiveWP – Donation Plugin and Fundraising Platform v4.8.0
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 / FormMigration / ServiceProvider.php
give / src / FormMigration Last commit date
Actions 2 years ago Commands 2 years ago Concerns 2 years ago Contracts 2 years ago Controllers 1 year ago DataTransferObjects 1 year ago Steps 1 year ago FormMetaDecorator.php 1 year ago Pipeline.php 2 years ago ServiceProvider.php 1 year ago StepProcessor.php 2 years ago functions.php 2 years ago
ServiceProvider.php
146 lines
1 <?php
2
3 namespace Give\FormMigration;
4
5 use Give\DonationForms\V2\Models\DonationForm as DonationFormV2;
6 use Give\FormMigration\Commands\MigrationCommand;
7 use Give\FormMigration\Commands\TransferCommand;
8 use Give\FormMigration\Controllers\MigrationController;
9 use Give\FormMigration\Controllers\TransferController;
10 use Give\FormMigration\DataTransferObjects\TransferOptions;
11 use Give\ServiceProviders\ServiceProvider as ServiceProviderInterface;
12 use WP_CLI;
13 use WP_REST_Request;
14 use WP_REST_Server;
15
16 /**
17 * @since 3.0.0
18 */
19 class ServiceProvider implements ServiceProviderInterface
20 {
21 /**
22 * @inheritDoc
23 */
24 public function register()
25 {
26 give()->singleton(Pipeline::class, function () {
27 return new Pipeline([
28 Steps\MigrateMeta::class,
29 Steps\FormTitle::class,
30 Steps\FormTemplate\ClassicTemplateSettings::class,
31 Steps\FormTemplate\SequoiaTemplateSettings::class,
32 Steps\FormTemplate\LegacyTemplateSettings::class,
33 Steps\DonationOptions::class,
34 Steps\RecurringDonationOptions::class,
35 Steps\FormFields::class,
36 Steps\FormFields\LoginRegistration::class,
37 Steps\FormFields\CompanyDonations::class,
38 Steps\DonationGoal::class,
39 Steps\TermsAndConditions::class,
40 Steps\FormTaxonomies::class,
41 Steps\FormGrid::class,
42 Steps\FormFieldManager::class,
43 Steps\OfflineDonations::class,
44 Steps\PaymentGateways::class,
45 Steps\EmailSettings::class,
46 Steps\FormMeta::class,
47 Steps\PdfSettings::class,
48 Steps\FeeRecovery::class,
49 Steps\ConstantContact::class,
50 Steps\PerFormGateways::class,
51 Steps\Mailchimp::class,
52 Steps\FundsAndDesignations::class,
53 Steps\GiftAid::class,
54 Steps\FormFeaturedImage::class,
55 Steps\FormExcerpt::class,
56 Steps\ConvertKit::class,
57 Steps\ActiveCampaign::class,
58 Steps\DoubleTheDonation::class,
59 Steps\CurrencySwitcher::class,
60 Steps\RazorpayPerFormSettings::class,
61 ]);
62 });
63 }
64
65 /**
66 * @inheritDoc
67 */
68 public function boot()
69 {
70 $this->registerRoutes();
71 $this->registerCommands();
72 }
73
74 protected function registerRoutes()
75 {
76 add_action('rest_api_init', function () {
77 // give-api/v2/admin/forms/migrate
78 register_rest_route('give-api/v2', 'admin/forms/migrate/(?P<id>\d+)', [
79 'methods' => WP_REST_Server::CREATABLE,
80 'callback' => function (WP_REST_Request $request) {
81 return (new MigrationController($request))(
82 DonationFormV2::find($request->get_param('id'))
83 );
84 },
85 'permission_callback' => function () {
86 return current_user_can('manage_options');
87 },
88 'args' => [
89 'id' => [
90 'type' => 'integer',
91 'sanitize_callback' => 'absint',
92 'description' => __('The ID of the form (v2) to migrate to v3.', 'give'),
93 ],
94 ],
95 ]);
96
97 // give-api/v2/admin/forms/transfer
98 register_rest_route('give-api/v2', 'admin/forms/transfer', [
99 'methods' => WP_REST_Server::CREATABLE,
100 'callback' => function (WP_REST_Request $request) {
101 return (new TransferController($request))(
102 DonationFormV2::find($request->get_param('formId')),
103 TransferOptions::fromRequest($request)
104 );
105 },
106 'permission_callback' => function () {
107 return current_user_can('manage_options');
108 },
109 'args' => [
110 'formId' => [
111 'type' => 'integer',
112 'sanitize_callback' => function ($value) {
113 return intval($value);
114 // return array_map('intval', explode(',', $value));
115 },
116 'description' => __('The ID of the form (v3) to transfer donations (from v2).', 'give'),
117 ],
118 'changeUrl' => [
119 'type' => 'boolean',
120 'required' => false,
121 'default' => true,
122 ],
123 'delete' => [
124 'type' => 'boolean',
125 'required' => true,
126 ],
127 'redirect' => [
128 'type' => 'boolean',
129 'required' => false,
130 'default' => true,
131 ],
132 ],
133 ]);
134 }, 9);
135 }
136
137 protected function registerCommands()
138 {
139 if (defined('WP_CLI') && WP_CLI) {
140 error_reporting(E_ALL & ~E_DEPRECATED);
141 WP_CLI::add_command('givewp form:migrate', MigrationCommand::class);
142 WP_CLI::add_command('givewp form:transfer', TransferCommand::class);
143 }
144 }
145 }
146