PluginProbe ʕ •ᴥ•ʔ
JetBackup – Backup, Restore & Migrate / 3.1.18.8
JetBackup – Backup, Restore & Migrate v3.1.18.8
3.1.22.3 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.8.1 1.4.9 1.5.0 1.5.1 1.5.1.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.10 1.6.11 1.6.12 1.6.13 1.6.15 1.6.5.1 1.6.8.8 1.6.9 1.6.9.1 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7.5 2.0.8.7 2.0.9.11 2.0.9.14 2.0.9.15 2.0.9.6 2.0.9.7 2.0.9.9 3.1.10.7 3.1.11.1 3.1.12.3 3.1.13.4 3.1.14.17 3.1.15.4 3.1.16.1 3.1.17.5 3.1.18.10 3.1.18.8 3.1.18.9 3.1.19.8 3.1.20.3 3.1.21.3 3.1.7.9 3.1.9.2 trunk 1.1.90 1.1.91 1.2.0 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2
backup / src / JetBackup / Export / Export.php
backup / src / JetBackup / Export Last commit date
Vendor 5 months ago .htaccess 5 months ago Export.php 5 months ago index.html 5 months ago web.config 5 months ago
Export.php
42 lines
1 <?php
2
3 namespace JetBackup\Export;
4
5 use JetBackup\Cron\Task\Task;
6 use JetBackup\Exception\IOException;
7 use JetBackup\Export\Vendor\CPanel;
8 use JetBackup\Export\Vendor\DirectAdmin;
9 use JetBackup\Export\Vendor\Vendor;
10 use JetBackup\Wordpress\Helper;
11 use JetBackup\Wordpress\Wordpress;
12
13 if (!defined( '__JETBACKUP__')) die('Direct access is not allowed');
14
15 class Export {
16
17 private Task $_task;
18
19 public function __construct(Task $task) {
20 $this->_task = $task;
21 }
22
23 public function build(int $type, string $homedir, array $database_tables, string $destination):string {
24
25 if(!is_dir($destination)) throw new IOException("The provided destination not exists");
26
27 switch($type) {
28 default: throw new IOException("Invalid type provided");
29 case Vendor::TYPE_CPANEL: $obj = new CPanel($this->_task); break;
30 case Vendor::TYPE_DIRECT_ADMIN: $obj = new DirectAdmin($this->_task); break;
31 }
32
33 $obj->setPassword(DB_PASSWORD);
34 $obj->setDomain(Wordpress::getSiteDomain());
35 $obj->setEmailAddress(Helper::getUserEmail());
36 $obj->setDestination($destination);
37 $obj->setHomedir($homedir);
38 $obj->setDatabaseTables($database_tables);
39
40 return $obj->build();
41 }
42 }