3 * Bacula(R) - The Network Backup Solution
4 * Baculum - Bacula web interface
6 * Copyright (C) 2013-2015 Marcin Haba
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.
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.
17 * This notice must be preserved when any source code is
18 * conveyed and/or propagated.
20 * Bacula(R) is a registered trademark of Kern Sibbald.
23 class PoolManager extends TModule {
24 public function getPools($limit) {
25 $criteria = new TActiveRecordCriteria;
27 $cfg = $this->Application->getModule('configuration');
28 $appCfg = $cfg->getApplicationConfig();
29 if($cfg->isPostgreSQLType($appCfg['db']['type'])) {
30 $order = strtolower($order);
32 $criteria->OrdersBy[$order] = 'asc';
33 if(is_int($limit) && $limit > 0) {
34 $criteria->Limit = $limit;
36 return PoolRecord::finder()->findAll($criteria);
39 public function getPoolByName($poolName) {
40 return PoolRecord::finder()->findByname($poolName);
43 public function getPoolById($poolId) {
44 return PoolRecord::finder()->findBypoolid($poolId);
47 public function setPool($poolid, $poolOptions) {
48 $pool = $this->getPoolById($poolid);
49 $pool->enabled = $poolOptions->enabled;
50 $pool->maxvols = $poolOptions->maxvols;
51 $pool->maxvoljobs = $poolOptions->maxvoljobs;
52 $pool->maxvolbytes = $poolOptions->maxvolbytes;
53 $pool->voluseduration = $poolOptions->voluseduration;
54 $pool->volretention = $poolOptions->volretention;
55 $pool->labelformat = $poolOptions->labelformat;
56 $pool->scratchpoolid = $poolOptions->scratchpoolid;
57 $pool->recyclepoolid = $poolOptions->recyclepoolid;
58 $pool->recycle = $poolOptions->recycle;
59 $pool->autoprune = $poolOptions->autoprune;
60 $pool->actiononpurge = $poolOptions->actiononpurge;