PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / 4.1.4
WP STAGING – WordPress Backup, Restore, Migration & Clone v4.1.4
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 Dto 1 year ago Interfaces 1 year ago Jobs 1 year ago Service 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
65 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\Ajax\Setup;
16 use WPStaging\Staging\Dto\Job\StagingSiteCreateDataDto;
17 use WPStaging\Staging\Dto\Job\StagingSiteDeleteDataDto;
18 use WPStaging\Staging\Jobs\StagingSiteCreate;
19 use WPStaging\Staging\Jobs\StagingSiteDelete;
20 use WPStaging\Staging\Tasks\StagingSite\CleanupStagingTablesTask;
21
22 class StagingServiceProvider extends FeatureServiceProvider
23 {
24 protected function registerClasses()
25 {
26 $this->container->when(StagingSiteDelete::class)
27 ->needs(JobDataDto::class)
28 ->give(StagingSiteDeleteDataDto::class);
29
30 $this->container->when(StagingSiteCreate::class)
31 ->needs(JobDataDto::class)
32 ->give(StagingSiteCreateDataDto::class);
33
34 $this->container->when(CleanupStagingTablesTask::class)
35 ->needs(DatabaseInterface::class)
36 ->give(Database::class);
37 }
38
39 protected function addHooks()
40 {
41 $this->enqueueAjaxListeners();
42 }
43
44 protected function enqueueAjaxListeners()
45 {
46 add_action('wp_ajax_wpstg--staging-site--prepare-delete', $this->container->callback(PrepareDelete::class, 'ajaxPrepare')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
47 add_action('wp_ajax_wpstg--staging-site--delete-confirmation', $this->container->callback(DeleteConfirm::class, 'ajaxConfirm')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
48 add_action('wp_ajax_wpstg--staging-site--delete', $this->container->callback(Delete::class, 'ajaxDelete')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
49 add_action('wp_ajax_wpstg--staging-site--listing', $this->container->callback(Listing::class, 'ajaxListing')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
50 add_action('wp_ajax_wpstg--staging-site--fix-option', $this->container->callback(Repair::class, 'ajaxFixOption')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
51 add_action('wp_ajax_wpstg--staging-site--report-option', $this->container->callback(Repair::class, 'ajaxReportOption')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
52 add_action('wpstg_cloning_complete', $this->container->callback(MalCare::class, 'maybeDisableMalCare')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
53 $this->enqueueStagingAjaxListeners();
54 }
55
56 protected function enqueueStagingAjaxListeners()
57 {
58 if (!defined('WPSTG_NEW_STAGING')) {
59 return;
60 }
61
62 add_action('wp_ajax_wpstg--staging-site--setup', $this->container->callback(Setup::class, 'ajaxSetup')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
63 }
64 }
65