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.TActiveControlAdapter');
24 Prado::using('Application.Web.Portlets.ConfigListTemplate');
26 class DirectiveListTemplate extends ConfigListTemplate implements IActiveControl, ICallbackEventHandler {
29 const COMPONENT_TYPE = 'ComponentType';
30 const COMPONENT_NAME = 'ComponentName';
31 const RESOURCE_TYPE = 'ResourceType';
32 const RESOURCE_NAME = 'ResourceName';
33 const RESOURCE_NAMES = 'ResourceNames';
34 const RESOURCE = 'Resource';
35 const DIRECTIVE_NAME = 'DirectiveName';
37 const LOAD_VALUES = 'LoadValues';
39 public function __construct() {
40 parent::__construct();
41 $this->setAdapter(new TActiveControlAdapter($this));
42 $this->onDirectiveListLoad(array($this, 'loadConfig'));
45 public function getActiveControl() {
46 return $this->getAdapter()->getBaseActiveControl();
49 public function raiseCallbackEvent($param) {
50 $this->raisePostBackEvent($param);
51 $this->onCallback($param);
54 public function onDirectiveListLoad($handler) {
55 $this->attachEventHandler('OnDirectiveListLoad', $handler);
58 public function getHost() {
59 return $this->getViewState(self::HOST);
62 public function setHost($host) {
63 $this->setViewState(self::HOST, $host);
66 public function getComponentType() {
67 return $this->getViewState(self::COMPONENT_TYPE);
70 public function setComponentType($type) {
71 $this->setViewState(self::COMPONENT_TYPE, $type);
74 public function getComponentName() {
75 return $this->getViewState(self::COMPONENT_NAME);
78 public function setComponentName($name) {
79 $this->setViewState(self::COMPONENT_NAME, $name);
82 public function getResourceType() {
83 return $this->getViewState(self::RESOURCE_TYPE);
86 public function setResourceType($type) {
87 $this->setViewState(self::RESOURCE_TYPE, $type);
90 public function getResourceName() {
91 return $this->getViewState(self::RESOURCE_NAME);
94 public function setResourceName($name) {
95 $this->setViewState(self::RESOURCE_NAME, $name);
98 public function getResourceNames() {
99 return $this->getViewState(self::RESOURCE_NAMES);
102 public function setResourceNames($resource_names) {
103 $this->setViewState(self::RESOURCE_NAMES, $resource_names);
106 public function getResource() {
107 return $this->getViewState(self::RESOURCE);
110 public function setResource($resource) {
111 $this->setViewState(self::RESOURCE, $resource);
114 public function getDirectiveName() {
115 return $this->getViewState(self::DIRECTIVE_NAME);
118 public function setDirectiveName($name) {
119 $this->setViewState(self::DIRECTIVE_NAME, $name);
122 public function getData() {
123 return $this->getViewState(self::DATA);
126 public function setData($data) {
127 $this->setViewState(self::DATA, $data);
130 public function getLoadValues() {
131 return $this->getViewState(self::LOAD_VALUES);
134 public function setLoadValues($load_values) {
135 settype($load_values, 'bool');
136 $this->setViewState(self::LOAD_VALUES, $load_values);