PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / 3.8.2
WP STAGING – WordPress Backup, Restore, Migration & Clone v3.8.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 2 years ago
BackupServiceProvider.php
94 lines
1 <?php
2
3 namespace WPStaging\Basic\Backup;
4
5 use WPStaging\Backup\Dto\Job\JobBackupDataDto;
6 use WPStaging\Backup\Dto\Job\JobRestoreDataDto;
7 use WPStaging\Backup\Dto\JobDataDto;
8 use WPStaging\Backup\Job\AbstractJob;
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\AbstractExporter;
17 use WPStaging\Backup\Service\Database\Exporter\DDLExporter;
18 use WPStaging\Backup\Service\Database\Exporter\DDLExporterProvider;
19 use WPStaging\Backup\Service\Database\Exporter\RowsExporter;
20 use WPStaging\Backup\Service\Database\Exporter\RowsExporterProvider;
21 use WPStaging\Backup\Service\Database\Importer\BasicDatabaseSearchReplacer;
22 use WPStaging\Backup\Service\Database\Importer\BasicSubsiteManager;
23 use WPStaging\Backup\Service\Database\Importer\DatabaseSearchReplacerInterface;
24 use WPStaging\Backup\Service\Database\Importer\SubsiteManagerInterface;
25 use WPStaging\Backup\Service\FileBackupService;
26 use WPStaging\Backup\Service\FileBackupServiceProvider;
27 use WPStaging\Backup\Service\ServiceInterface;
28 use WPStaging\Backup\Service\ZlibCompressor;
29 use WPStaging\Backup\Task\Tasks\JobRestore\RestoreDatabaseTask;
30 use WPStaging\Framework\DI\ServiceProvider;
31
32 /**
33 * Class BackupServiceProvider
34 *
35 * Responsible for injecting classes which are to be used in FREE/BASIC version only
36 */
37 class BackupServiceProvider extends ServiceProvider
38 {
39 protected function registerClasses()
40 {
41 $this->container->when(JobBackup::class)
42 ->needs(JobDataDto::class)
43 ->give(JobBackupDataDto::class);
44
45 $this->container->when(JobRestore::class)
46 ->needs(JobDataDto::class)
47 ->give(JobRestoreDataDto::class);
48
49 $this->container->when(ZlibCompressor::class)
50 ->needs(CompressionInterface::class)
51 ->give(NonCompressionService::class);
52
53 $container = $this->container;
54
55 $this->container->when(JobBackupProvider::class)
56 ->needs(AbstractJob::class)
57 ->give(function () use (&$container) {
58 return $container->make(JobBackup::class);
59 });
60
61 $this->container->when(JobRestoreProvider::class)
62 ->needs(AbstractJob::class)
63 ->give(function () use (&$container) {
64 return $container->make(JobRestore::class);
65 });
66
67 $this->container->when(FileBackupServiceProvider::class)
68 ->needs(ServiceInterface::class)
69 ->give(function () use (&$container) {
70 return $container->make(FileBackupService::class);
71 });
72
73 $this->container->when(DDLExporterProvider::class)
74 ->needs(AbstractExporter::class)
75 ->give(function () use (&$container) {
76 return $container->make(DDLExporter::class);
77 });
78
79 $this->container->when(RowsExporterProvider::class)
80 ->needs(AbstractExporter::class)
81 ->give(function () use (&$container) {
82 return $container->make(RowsExporter::class);
83 });
84
85 $this->container->when(RestoreDatabaseTask::class)
86 ->needs(DatabaseSearchReplacerInterface::class)
87 ->give(BasicDatabaseSearchReplacer::class);
88
89 $this->container->when(DatabaseImporter::class)
90 ->needs(SubsiteManagerInterface::class)
91 ->give(BasicSubsiteManager::class);
92 }
93 }
94