]> git.sur5r.net Git - bacula/bacula/blob - gui/baculum/protected/Web/Portlets/PoolConfiguration.php
Remove old Bacula Systems notices
[bacula/bacula] / gui / baculum / protected / Web / Portlets / PoolConfiguration.php
1 <?php
2 /*
3  * Bacula(R) - The Network Backup Solution
4  * Baculum   - Bacula web interface
5  *
6  * Copyright (C) 2013-2016 Kern Sibbald
7  *
8  * The main author of Baculum is Marcin Haba.
9  * The original author of Bacula is Kern Sibbald, with contributions
10  * from many others, a complete list can be found in the file AUTHORS.
11  *
12  * You may use this file and others of this release according to the
13  * license defined in the LICENSE file, which includes the Affero General
14  * Public License, v3.0 ("AGPLv3") and some additional permissions and
15  * terms pursuant to its AGPLv3 Section 7.
16  *
17  * This notice must be preserved when any source code is
18  * conveyed and/or propagated.
19  *
20  * Bacula(R) is a registered trademark of Kern Sibbald.
21  */
22
23 Prado::using('System.Web.UI.ActiveControls.TActiveLabel');
24 Prado::using('System.Web.UI.ActiveControls.TActiveTextBox');
25 Prado::using('Application.Web.Portlets.Portlets');
26
27 class PoolConfiguration extends Portlets {
28
29         public function configure($poolId) {
30                 $pooldata = $this->Application->getModule('api')->get(array('pools', $poolId))->output;
31                 $this->PoolName->Text = $pooldata->name;
32                 $this->PoolID->Text = $pooldata->poolid;
33                 $this->Enabled->Checked = $pooldata->enabled == 1;
34                 $this->MaxVolumes->Text = $pooldata->maxvols;
35                 $this->MaxVolJobs->Text = $pooldata->maxvoljobs;
36                 $this->MaxVolBytes->Text = $pooldata->maxvolbytes;
37                 $this->UseDuration->Text = intval($pooldata->voluseduration / 3600); // conversion to hours;
38                 $this->RetentionPeriod->Text = intval($pooldata->volretention / 3600); // conversion to hours;
39                 $this->LabelFormat->Text = $pooldata->labelformat;
40                 if ($pooldata->scratchpoolid > 0) {
41                         $pools = $this->Application->getModule('api')->get(array('pools', $pooldata->scratchpoolid))->output;
42                         $this->ScratchPool->Text = $pools->name;
43                 }
44                 if ($pooldata->recyclepoolid > 0) {
45                         $pools = $this->Application->getModule('api')->get(array('pools', $pooldata->recyclepoolid))->output;
46                         $this->RecyclePool->Text = $pools->name;
47                 }
48                 $this->Recycle->Checked = $pooldata->recycle == 1;
49                 $this->AutoPrune->Checked = $pooldata->autoprune == 1;
50                 $this->ActionOnPurge->Checked = $pooldata->actiononpurge == 1;
51         }
52
53         public function restore_configuration($sender, $param) {
54                 $this->Application->getModule('api')->set(array('pools', 'update', $this->PoolID->Text),  array(''));
55         }
56
57         public function update_volumes($sender, $param) {
58                 $this->Application->getModule('api')->set(array('pools', 'update', 'volumes', $this->PoolID->Text),  array(''));
59         }
60
61         public function maxVolumesValidator($sender, $param) {
62                 $isValid = preg_match('/^\d+$/', $this->MaxVolumes->Text) && $this->MaxVolumes->Text >= 0;
63                 $param->setIsValid($isValid);
64         }
65
66         public function maxVolJobsValidator($sender, $param) {
67                 $isValid = preg_match('/^\d+$/', $this->MaxVolJobs->Text) && $this->MaxVolJobs->Text >= 0;
68                 $param->setIsValid($isValid);
69         }
70
71         public function maxVolBytesValidator($sender, $param) {
72                 $isValid = preg_match('/^\d+$/', $this->MaxVolBytes->Text) && $this->MaxVolBytes->Text >= 0;
73                 $param->setIsValid($isValid);
74         }
75
76         public function useDurationValidator($sender, $param) {
77                 $isValid = preg_match('/^\d+$/', $this->UseDuration->Text) && $this->UseDuration->Text >= 0;
78                 $param->setIsValid($isValid);
79         }
80
81         public function retentionPeriodValidator($sender, $param) {
82                 $isValid = preg_match('/^\d+$/', $this->RetentionPeriod->Text) && $this->RetentionPeriod->Text >= 0;
83                 $param->setIsValid($isValid);
84         }
85
86         public function labelFormatValidator($sender, $param) {
87                 $value = trim($this->LabelFormat->Text);
88                 $isValid = !empty($value);
89                 $param->setIsValid($isValid);
90         }
91 }
92 ?>