class_ContainerClass.inc.php
3.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
<?php
/**
* @file ContainerClass.inc.php
* @category freeSN
* @mailto code [at] netz.coop
* @version 0.4.200901
* @link http://netz.coop
*
* @copyright Copyright by netz.coop e.G. 2015
*
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
class ContainerClass extends aLosp {
private $ObjVarArray= array();
private $ObjVarArrayDescript = array();
private function __construct(array $param_ObjVarArrayDescript) {
$this->ObjVarArrayDescript = $param_ObjVarArrayDescript;
}
public static function createNewInstance(array $param_ObjVarArrayDescript) {
return new ContainerClass($param_ObjVarArrayDescript);
}
public function setData(Account &$param_HostAccount, iStorable &$param_iStorable, array $param_Data) {
foreach($param_Data as $var_ObjVar => $var_Value) {
$this->ObjVarArray[$var_ObjVar] = $var_Value;
}
}
public function setObjVar($param_ObjVar, $param_Value) {
if($param_ObjVar) {
$this->ObjVarArray[$param_ObjVar] = $param_Value;
return true;
} else {
return false;
}
}
public function &getObjVar($param_ObjVar) {
if($param_ObjVar && array_key_exists($param_ObjVar, $this->ObjVarArray)) {
return $this->ObjVarArray[$param_ObjVar];
} else {
return false;
}
}
public function getObjDOMElement(Account &$param_HostAccount, iStorable &$param_iStorable, DOMDocument $param_DOMDocument, $param_KindOf=null, array $param_DOMElemente=null) {
$DOMElement = parent::getObjDOMElement($param_HostAccount, $param_iStorable, $param_DOMDocument, $param_KindOf, $param_DOMElemente);
$var_ObjVarArray = $this->ObjVarArray;
foreach($this->ObjVarArrayDescript as $var_ObjVar => $var_Discript) {
$var_OptionalValues = array(
'label' => Language::getWord($var_ObjVar),
'objvar' => $var_ObjVar,
'show' => true,
'type' => $this->ObjVarArrayDescript[$var_ObjVar]['Type'],
'form_Length' => $this->ObjVarArrayDescript[$var_ObjVar]['Length'],
);
if($param_KindOf=='form') {
$var_OptionalValues['edit'] = true;
}
if(array_key_exists($var_ObjVar, $var_ObjVarArray)) {
$var_OptionalValues['value'] = $var_ObjVarArray[$var_ObjVar];
unset($var_ObjVarArray[$var_ObjVar]);
$DOMElement->appendChild(DOMElementHelper::getDOMElementWithParameter($param_DOMDocument, 'Element', $var_OptionalValues, $var_OptionalValues['value']));
} else {
$DOMElement->appendChild(DOMElementHelper::getDOMElementWithParameter($param_DOMDocument, 'Element', $var_OptionalValues));
}
}
foreach($var_ObjVarArray as $var_ObjVar => $var_Value) {
$var_OptionalValues= array(
'label' => Language::getWord($var_ObjVar),
'objvar' => $var_ObjVar,
'show' => true,
'value' => $var_Value
);
if($param_KindOf=='form') {
$var_OptionalValues['edit'] = true;
}
$DOMElement->appendChild(DOMElementHelper::getDOMElementWithParameter($param_DOMDocument, 'Element', $var_OptionalValues));
}
return $DOMElement;
}
}
?>