ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilADTMultiText.php
Go to the documentation of this file.
1<?php
2
3class ilADTMultiText extends ilADT
4{
5 protected $values; // [array]
6
7
8 // definition
9
10 protected function isValidDefinition(ilADTDefinition $a_def)
11 {
12 return ($a_def instanceof ilADTMultiTextDefinition);
13 }
14
15 public function reset()
16 {
17 parent::reset();
18
19 $this->values = null;
20 }
21
22
23 // properties
24
25 public function setTextElements(array $a_values = null)
26 {
27 if(is_array($a_values))
28 {
29 if(sizeof($a_values))
30 {
31 foreach($a_values as $idx => $element)
32 {
33 $a_values[$idx]= trim($element);
34 if(!$a_values[$idx])
35 {
36 unset($a_values[$idx]);
37 }
38 }
39 $a_values = array_unique($a_values);
40 }
41 if(!sizeof($a_values))
42 {
43 $a_values = null;
44 }
45 }
46 $this->values = $a_values;
47 }
48
49 public function getTextElements()
50 {
51 return $this->values;
52 }
53
54
55 // comparison
56
57 public function equals(ilADT $a_adt)
58 {
59 if($this->getDefinition()->isComparableTo($a_adt))
60 {
61 return ($this->getCheckSum() == $a_adt->getCheckSum());
62 }
63 }
64
65 public function isLarger(ilADT $a_adt)
66 {
67 // return null?
68 }
69
70 public function isSmaller(ilADT $a_adt)
71 {
72 // return null?
73 }
74
75
76 // null
77
78 public function isNull()
79 {
80 $all = $this->getTextElements();
81 return (!is_array($all) || !sizeof($all));
82 }
83
84
85 // validation
86
87 public function isValid()
88 {
89 $valid = parent::isValid();
90
91 if(!$this->isNull())
92 {
93 $max_size = $this->getDefinition()->getMaxSize();
94 if($max_size && $max_size < sizeof($this->getTextElements()))
95 {
96 $valid = false;
97 $this->addValidationError(self::ADT_VALIDATION_ERROR_MAX_SIZE);
98 }
99
100 $max_len = $this->getDefinition()->getMaxLength();
101 if($max_len)
102 {
103 foreach($this->getTextElements() as $element)
104 {
105 if($max_len < strlen($element))
106 {
107 $valid = false;
108 $this->addValidationError(self::ADT_VALIDATION_ERROR_MAX_LENGTH);
109 }
110 }
111 }
112 }
113
114 return $valid;
115 }
116
117
118 // check
119
120 public function getCheckSum()
121 {
122 if(!$this->isNull())
123 {
124 $elements = $this->getTextElements();
125 sort($elements);
126 return md5(implode("", $elements));
127 }
128 }
129}
130
131?>
ADT definition base class.
isValidDefinition(ilADTDefinition $a_def)
Check if definition is valid for ADT.
isLarger(ilADT $a_adt)
Check if given ADT is larger than self.
isNull()
Is currently null.
isValid()
Is currently valid.
reset()
Init property defaults.
getCheckSum()
Get unique checksum.
setTextElements(array $a_values=null)
isSmaller(ilADT $a_adt)
Check if given ADT is smaller than self.
equals(ilADT $a_adt)
Check if given ADT equals self.
ADT base class.
Definition: class.ilADT.php:12
addValidationError($a_error_code)
Add validation error code.
getCheckSum()
Get unique checksum.
getDefinition()
Get definition.
Definition: class.ilADT.php:99
$valid