3 * Bacula(R) - The Network Backup Solution
4 * Baculum - Bacula web interface
6 * Copyright (C) 2013-2016 Kern Sibbald
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 Prado::using('System.Web.UI.ActiveControls.TActiveRepeater');
24 Prado::using('Application.Web.Portlets.ISlideWindow');
25 Prado::using('Application.Web.Portlets.Portlets');
27 class StorageList extends Portlets implements ISlideWindow {
33 public function setID($id) {
37 public function getID($hideAutoID = true) {
41 public function setButtonID($id) {
42 $this->buttonID = $id;
45 public function getButtonID() {
46 return $this->buttonID;
49 public function setWindowTitle($param) {
50 $this->windowTitle = $param;
53 public function getWindowTitle() {
54 return $this->windowTitle;
57 public function prepareData($sender, $param) {
58 $allowedButtons = array('StorageBtn');
59 $params = $this->getUrlParams('storages', $this->getPage()->StorageWindow->ID);
60 $storages = $this->Application->getModule('api')->get($params);
61 $isDetailView = $_SESSION['view' . $this->getPage()->StorageWindow->ID] == 'details';
62 if($isDetailView === true) {
63 $this->RepeaterShow->Visible = false;
64 $this->DataGridShow->Visible = true;
65 $this->DataGrid->DataSource = $this->Application->getModule('misc')->objectToArray($storages->output);
66 $this->DataGrid->dataBind();
68 $this->RepeaterShow->Visible = true;
69 $this->DataGridShow->Visible = false;
70 $this->Repeater->DataSource = $storages->output;
71 $this->Repeater->dataBind();
75 public function sortDataGrid($sender, $param) {
76 $params = $this->getUrlParams('storages', $this->getPage()->StorageWindow->ID);
77 $data = $this->Application->getModule('api')->get($params)->output;
78 $data = $this->Application->getModule('misc')->objectToArray($data);
79 $this->DataGrid->DataSource = $this->sortData($data, $param->SortExpression, $sender->UniqueID);
80 $this->DataGrid->dataBind();
83 public function configure($sender, $param) {
84 if($this->Page->IsCallBack) {
85 $this->getPage()->StorageConfiguration->configure($param->CallbackParameter);