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 / Settings / Integrations.php
backup / src / JetBackup / Settings Last commit date
.htaccess 5 months ago Automation.php 5 months ago General.php 5 months ago Integrations.php 5 months ago Logging.php 5 months ago Maintenance.php 5 months ago Notifications.php 5 months ago Performance.php 5 months ago Restore.php 5 months ago Security.php 5 months ago Settings.php 5 months ago Updates.php 5 months ago index.html 5 months ago web.config 5 months ago
Integrations.php
71 lines
1 <?php
2
3 namespace JetBackup\Settings;
4
5 use JetBackup\Exception\AjaxException;
6 use JetBackup\Exception\DBException;
7 use SleekDB\Exceptions\InvalidArgumentException;
8 use SleekDB\Exceptions\IOException;
9
10 if (!defined( '__JETBACKUP__')) die('Direct access is not allowed');
11
12 class Integrations extends Settings {
13
14 const SECTION = 'integrations';
15 const ELEMENTOR = 'Elementor';
16 const SUPERCACHE = 'Supercache';
17 const WOOCOMMERCE = 'Woocommerce';
18 const AUTOPTIMIZE = 'Autoptimize';
19 const W3TOTALCACHE = 'W3TotalCache';
20
21 const INTEGRATIONS = 'integrations';
22 const INTEGRATION_DEFAULTS = [
23 self::ELEMENTOR,
24 self::SUPERCACHE,
25 self::WOOCOMMERCE,
26 self::W3TOTALCACHE,
27 self::AUTOPTIMIZE,
28 ];
29 /**
30 * @throws DBException
31 * @throws IOException
32 * @throws InvalidArgumentException
33 */
34 public function __construct() {
35 parent::__construct(self::SECTION);
36 }
37
38 public function getInegrations(): array {
39 return $this->get(self::INTEGRATIONS, self::INTEGRATION_DEFAULTS);
40 }
41
42 public function setIntegrations(array $values) : void {
43 $this->set(self::INTEGRATIONS, $values);
44 }
45 /**
46 * @return bool[]
47 */
48 public function getDisplay():array {
49 return [self::INTEGRATIONS => $this->getInegrations()];
50 }
51
52 /**
53 * @return bool[]
54 */
55 public function getDisplayCLI():array {
56 return [self::INTEGRATIONS => $this->getInegrations()];
57 }
58
59 /**
60 * @return void
61 * @throws AjaxException
62 */
63 public function validateFields():void {
64 $missing = array_diff($this->getInegrations(), self::INTEGRATION_DEFAULTS);
65
66 if (!empty($missing)) {
67 throw new AjaxException("The following integrations are not supported: " . implode(', ', $missing));
68 }
69
70 }
71 }