PluginProbe ʕ •ᴥ•ʔ
JetBackup – Backup, Restore & Migrate / trunk
JetBackup – Backup, Restore & Migrate vtrunk
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 1 year ago .htaccess 1 year ago Export.php 1 year ago index.html 1 year ago web.config 1 year 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 }