PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / 4.0.0
WP STAGING – WordPress Backup, Restore, Migration & Clone v4.0.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 1 year ago BackgroundProcessing 1 year ago Dto 1 year ago Interfaces 1 year ago Jobs 1 year ago Tasks 1 year ago Traits 1 year ago CloneOptions.php 1 year ago FirstRun.php 1 year ago Sites.php 1 year ago StagingServiceProvider.php 1 year ago
StagingServiceProvider.php
48 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\Delete\PrepareDelete;
11 use WPStaging\Staging\Ajax\Delete;
12 use WPStaging\Staging\Ajax\Listing;
13 use WPStaging\Staging\Ajax\Delete\DeleteConfirm;
14 use WPStaging\Staging\Ajax\Repair;
15 use WPStaging\Staging\Dto\Job\StagingSiteDeleteDataDto;
16 use WPStaging\Staging\Jobs\StagingSiteDelete;
17 use WPStaging\Staging\Tasks\CleanupStagingTablesTask;
18
19 class StagingServiceProvider extends FeatureServiceProvider
20 {
21 protected function registerClasses()
22 {
23 $this->container->when(StagingSiteDelete::class)
24 ->needs(JobDataDto::class)
25 ->give(StagingSiteDeleteDataDto::class);
26
27 $this->container->when(CleanupStagingTablesTask::class)
28 ->needs(DatabaseInterface::class)
29 ->give(Database::class);
30 }
31
32 protected function addHooks()
33 {
34 $this->enqueueAjaxListeners();
35 }
36
37 protected function enqueueAjaxListeners()
38 {
39 add_action('wp_ajax_wpstg--staging-site--prepare-delete', $this->container->callback(PrepareDelete::class, 'ajaxPrepare')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
40 add_action('wp_ajax_wpstg--staging-site--delete-confirmation', $this->container->callback(DeleteConfirm::class, 'ajaxConfirm')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
41 add_action('wp_ajax_wpstg--staging-site--delete', $this->container->callback(Delete::class, 'ajaxDelete')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
42 add_action('wp_ajax_wpstg--staging-site--listing', $this->container->callback(Listing::class, 'ajaxListing')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
43 add_action('wp_ajax_wpstg--staging-site--fix-option', $this->container->callback(Repair::class, 'ajaxFixOption')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
44 add_action('wp_ajax_wpstg--staging-site--report-option', $this->container->callback(Repair::class, 'ajaxReportOption')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
45 add_action('wpstg_cloning_complete', $this->container->callback(MalCare::class, 'maybeDisableMalCare')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
46 }
47 }
48