PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / 4.3.0
WP STAGING – WordPress Backup, Restore, Migration & Clone v4.3.0
4.9.1 4.9.0 4.8.1 trunk 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.10.0 3.2.0 3.3.1 3.3.2 3.3.3 3.4.1 3.4.3 3.5.0 3.6.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 4.0.0 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.8.0
wp-staging / Staging / StagingServiceProvider.php
wp-staging / Staging Last commit date
Ajax 11 months ago Dto 11 months ago Interfaces 11 months ago Jobs 11 months ago Service 11 months ago Tasks 10 months ago Traits 11 months ago CloneOptions.php 1 year ago FirstRun.php 10 months ago Sites.php 1 year ago StagingServiceProvider.php 11 months ago
StagingServiceProvider.php
69 lines
1 <?php
2
3 namespace WPStaging\Staging;
4
5 use WPStaging\Framework\Adapter\Database;
6 use WPStaging\Framework\Adapter\DatabaseInterface;
7 use WPStaging\Framework\DI\FeatureServiceProvider;
8 use WPStaging\Framework\Job\Dto\JobDataDto;
9 use WPStaging\Framework\ThirdParty\MalCare;
10 use WPStaging\Staging\Ajax\Create;
11 use WPStaging\Staging\Ajax\Create\PrepareCreate;
12 use WPStaging\Staging\Ajax\Delete\PrepareDelete;
13 use WPStaging\Staging\Ajax\Delete;
14 use WPStaging\Staging\Ajax\Listing;
15 use WPStaging\Staging\Ajax\Delete\DeleteConfirm;
16 use WPStaging\Staging\Ajax\Repair;
17 use WPStaging\Staging\Ajax\Setup;
18 use WPStaging\Staging\Dto\Job\StagingSiteCreateDataDto;
19 use WPStaging\Staging\Dto\Job\StagingSiteDeleteDataDto;
20 use WPStaging\Staging\Jobs\StagingSiteCreate;
21 use WPStaging\Staging\Jobs\StagingSiteDelete;
22 use WPStaging\Staging\Tasks\StagingSite\CleanupStagingTablesTask;
23
24 class StagingServiceProvider extends FeatureServiceProvider
25 {
26 protected function registerClasses()
27 {
28 $this->container->when(StagingSiteDelete::class)
29 ->needs(JobDataDto::class)
30 ->give(StagingSiteDeleteDataDto::class);
31
32 $this->container->when(StagingSiteCreate::class)
33 ->needs(JobDataDto::class)
34 ->give(StagingSiteCreateDataDto::class);
35
36 $this->container->when(CleanupStagingTablesTask::class)
37 ->needs(DatabaseInterface::class)
38 ->give(Database::class);
39 }
40
41 protected function addHooks()
42 {
43 $this->enqueueAjaxListeners();
44 }
45
46 protected function enqueueAjaxListeners()
47 {
48 add_action('wp_ajax_wpstg--staging-site--prepare-delete', $this->container->callback(PrepareDelete::class, 'ajaxPrepare')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
49 add_action('wp_ajax_wpstg--staging-site--delete-confirmation', $this->container->callback(DeleteConfirm::class, 'ajaxConfirm')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
50 add_action('wp_ajax_wpstg--staging-site--delete', $this->container->callback(Delete::class, 'ajaxDelete')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
51 add_action('wp_ajax_wpstg--staging-site--listing', $this->container->callback(Listing::class, 'ajaxListing')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
52 add_action('wp_ajax_wpstg--staging-site--fix-option', $this->container->callback(Repair::class, 'ajaxFixOption')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
53 add_action('wp_ajax_wpstg--staging-site--report-option', $this->container->callback(Repair::class, 'ajaxReportOption')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
54 add_action(StagingSiteCreate::ACTION_CLONING_COMPLETE, $this->container->callback(MalCare::class, 'maybeDisableMalCare'));
55 $this->enqueueStagingAjaxListeners();
56 }
57
58 protected function enqueueStagingAjaxListeners()
59 {
60 if (!defined('WPSTG_NEW_STAGING') || !WPSTG_NEW_STAGING) {
61 return;
62 }
63
64 add_action('wp_ajax_wpstg--staging-site--setup', $this->container->callback(Setup::class, 'ajaxSetup')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
65 add_action('wp_ajax_wpstg--staging-site--prepare-create', $this->container->callback(PrepareCreate::class, 'ajaxPrepare')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
66 add_action('wp_ajax_wpstg--staging-site--create', $this->container->callback(Create::class, 'render')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
67 }
68 }
69