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 ClientManager extends TModule {
25 public function getClients($limit) {
26 $criteria = new TActiveRecordCriteria;
27 if(is_numeric($limit) && $limit > 0) {
28 $criteria->Limit = $limit;
30 return ClientRecord::finder()->findAll($criteria);
33 public function getClientByName($name) {
34 return ClientRecord::finder()->findByName($name);
37 public function getClientById($id) {
38 return ClientRecord::finder()->findByclientid($id);
41 public function setClient($clientId, $clientOptions) {
42 $client = $this->getClientById($clientId);
43 if(property_exists($clientOptions, 'fileretention')) {
44 $client->fileretention = $clientOptions->fileretention;
46 if(property_exists($clientOptions, 'jobretention')) {
47 $client->jobretention = $clientOptions->jobretention;
49 if(property_exists($clientOptions, 'autoprune')) {
50 $client->autoprune = $clientOptions->autoprune;
52 return $client->save();