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 / Settings / Updates.php
backup / src / JetBackup / Settings Last commit date
.htaccess 1 year ago Automation.php 10 months ago General.php 3 months ago Integrations.php 4 months ago Logging.php 4 months ago Maintenance.php 4 months ago Notifications.php 4 months ago Performance.php 3 months ago Restore.php 1 year ago Security.php 23 hours ago Settings.php 4 months ago Updates.php 4 months ago index.html 1 year ago web.config 1 year ago
Updates.php
87 lines
1 <?php
2
3 namespace JetBackup\Settings;
4
5 use JetBackup\Exception\FieldsValidationException;
6
7 if (!defined( '__JETBACKUP__')) die('Direct access is not allowed');
8
9 class Updates extends Settings {
10
11 const SECTION = 'updates';
12
13 const TIER_RELEASE = 'release';
14 const TIER_RC = 'rc';
15 const TIER_EDGE = 'edge';
16 const TIER_ALPHA = 'alpha';
17
18 const TIERS = [
19 self::TIER_RELEASE,
20 self::TIER_RC,
21 self::TIER_EDGE,
22 self::TIER_ALPHA,
23 ];
24
25 const TIER_NAMES = [
26 self::TIER_RELEASE => 'Release',
27 self::TIER_RC => 'Release Candidate',
28 self::TIER_EDGE => 'Edge',
29 self::TIER_ALPHA => 'Alpha',
30 ];
31
32 const UPDATE_TIER = 'UPDATE_TIER';
33 const UPDATE_TIERS_LIST = 'UPDATE_TIERS_LIST';
34
35 /**
36 * @throws \JetBackup\Exception\IOException
37 * @throws \ReflectionException
38 */
39 public function __construct() {
40 parent::__construct(self::SECTION);
41 }
42
43 /**
44 * @return string
45 */
46 public function getUpdateTier():string { return $this->get(self::UPDATE_TIER, self::TIER_RELEASE); }
47
48 /**
49 * @param string $value
50 *
51 * @return void
52 */
53 public function setUpdateTier(string $value):void { $this->set(self::UPDATE_TIER, $value); }
54
55 /**
56 * @return array
57 */
58 public function getDisplay():array {
59
60 return [
61 self::UPDATE_TIER => $this->getUpdateTier(),
62 self::UPDATE_TIERS_LIST => self::TIER_NAMES
63 ];
64 }
65
66 /**
67 * @return string[]
68 */
69 public function getDisplayCLI():array {
70 return [
71 'Update Tier' => $this->getUpdateTier(),
72 ];
73 }
74
75 /**
76 * @return void
77 * @throws FieldsValidationException
78 */
79 public function validateFields():void {
80
81 $changedFields = self::getChangedFields($this->getData(), (new Updates())->getData());
82
83 if(in_array(self::UPDATE_TIER, $changedFields)) {
84 if(!in_array($this->getUpdateTier(), self::TIERS)) throw new FieldsValidationException("Invalid tier provided");
85 }
86 }
87 }