PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 4.11.0
WP STAGING – WordPress Backups, Restore, Migration & Clone v4.11.0
4.11.0 4.10.0 4.9.5 4.9.4 4.9.3 4.9.2 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 / Basic / Backup / BackupServiceProvider.php
wp-staging / Basic / Backup Last commit date
BackupServiceProvider.php 1 day ago
BackupServiceProvider.php
102 lines
1 <?php
2
3 namespace WPStaging\Basic\Backup;
4
5 use WPStaging\Backup\Ajax\FileList;
6 use WPStaging\Backup\Ajax\Listing;
7 use WPStaging\Backup\Dto\Job\JobBackupDataDto;
8 use WPStaging\Backup\Dto\Job\JobRestoreDataDto;
9 use WPStaging\Backup\Job\JobBackupProvider;
10 use WPStaging\Backup\Job\JobRestoreProvider;
11 use WPStaging\Backup\Job\Jobs\JobBackup;
12 use WPStaging\Backup\Job\Jobs\JobRestore;
13 use WPStaging\Backup\Service\Database\DatabaseImporter;
14 use WPStaging\Backup\Service\Compression\CompressionInterface;
15 use WPStaging\Backup\Service\Compression\NonCompressionService;
16 use WPStaging\Backup\Service\Database\Exporter\DDLExporter;
17 use WPStaging\Backup\Service\Database\Exporter\DDLExporterProvider;
18 use WPStaging\Backup\Service\Database\Exporter\RowsExporter;
19 use WPStaging\Backup\Service\Database\Exporter\RowsExporterProvider;
20 use WPStaging\Backup\Service\Database\Importer\BasicDatabaseSearchReplacer;
21 use WPStaging\Backup\Service\Database\Importer\BasicSubsiteManager;
22 use WPStaging\Backup\Service\Database\Importer\DatabaseSearchReplacerInterface;
23 use WPStaging\Backup\Service\Database\Importer\SubsiteManagerInterface;
24 use WPStaging\Backup\Service\FileBackupService;
25 use WPStaging\Backup\Service\FileBackupServiceProvider;
26 use WPStaging\Backup\Service\ServiceInterface;
27 use WPStaging\Backup\Service\ZlibCompressor;
28 use WPStaging\Backup\Task\Tasks\JobRestore\RestoreDatabaseTask;
29 use WPStaging\Framework\Database\Exporter\AbstractExporter;
30 use WPStaging\Framework\DI\ServiceProvider;
31 use WPStaging\Framework\Job\AbstractJob;
32 use WPStaging\Framework\Job\Dto\JobDataDto;
33
34
35
36
37
38
39 class BackupServiceProvider extends ServiceProvider
40 {
41 protected function registerClasses()
42 {
43 $this->container->when(JobBackup::class)
44 ->needs(JobDataDto::class)
45 ->give(JobBackupDataDto::class);
46
47 $this->container->when(JobRestore::class)
48 ->needs(JobDataDto::class)
49 ->give(JobRestoreDataDto::class);
50
51 $this->container->when(ZlibCompressor::class)
52 ->needs(CompressionInterface::class)
53 ->give(NonCompressionService::class);
54
55 $container = $this->container;
56
57 $this->container->when(JobBackupProvider::class)
58 ->needs(AbstractJob::class)
59 ->give(function () use (&$container) {
60 return $container->make(JobBackup::class);
61 });
62
63 $this->container->when(JobRestoreProvider::class)
64 ->needs(AbstractJob::class)
65 ->give(function () use (&$container) {
66 return $container->make(JobRestore::class);
67 });
68
69 $this->container->when(FileBackupServiceProvider::class)
70 ->needs(ServiceInterface::class)
71 ->give(function () use (&$container) {
72 return $container->make(FileBackupService::class);
73 });
74
75 $this->container->when(DDLExporterProvider::class)
76 ->needs(AbstractExporter::class)
77 ->give(function () use (&$container) {
78 return $container->make(DDLExporter::class);
79 });
80
81 $this->container->when(RowsExporterProvider::class)
82 ->needs(AbstractExporter::class)
83 ->give(function () use (&$container) {
84 return $container->make(RowsExporter::class);
85 });
86
87 $this->container->when(RestoreDatabaseTask::class)
88 ->needs(DatabaseSearchReplacerInterface::class)
89 ->give(BasicDatabaseSearchReplacer::class);
90
91 $this->container->when(DatabaseImporter::class)
92 ->needs(SubsiteManagerInterface::class)
93 ->give(BasicSubsiteManager::class);
94 }
95
96 protected function addHooks()
97 {
98 add_action('wp_ajax_wpstg--backups--listing', $this->container->callback(Listing::class, 'render')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
99 add_action('wp_ajax_wpstg--backups--restore--file-list', $this->container->callback(FileList::class, 'render')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
100 }
101 }
102