PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.0.3
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.0.3
4.0.8 4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.10.1 3.10.10 3.10.11 3.10.12 3.10.13 3.10.14 3.10.15 3.10.2 3.10.3 All 149 releases
visualizer / vendor / phpoffice / phpexcel / Classes / PHPExcel / Style / Conditional.php

Conditional.php in Visualizer – Tables & Charts Manager with Built-in AI Generator 3.0.3, at vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Conditional.php

278 lines 6.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * PHPExcel
4 *
5 * Copyright (c) 2006 - 2014 PHPExcel
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 *
21 * @category PHPExcel
22 * @package PHPExcel_Style
23 * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
24 * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
25 * @version ##VERSION##, ##DATE##
26 */
27
28
29 /**
30 * PHPExcel_Style_Conditional
31 *
32 * @category PHPExcel
33 * @package PHPExcel_Style
34 * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
35 */
36 class PHPExcel_Style_Conditional implements PHPExcel_IComparable
37 {
38 /* Condition types */
39 const CONDITION_NONE = 'none';
40 const CONDITION_CELLIS = 'cellIs';
41 const CONDITION_CONTAINSTEXT = 'containsText';
42 const CONDITION_EXPRESSION = 'expression';
43
44 /* Operator types */
45 const OPERATOR_NONE = '';
46 const OPERATOR_BEGINSWITH = 'beginsWith';
47 const OPERATOR_ENDSWITH = 'endsWith';
48 const OPERATOR_EQUAL = 'equal';
49 const OPERATOR_GREATERTHAN = 'greaterThan';
50 const OPERATOR_GREATERTHANOREQUAL = 'greaterThanOrEqual';
51 const OPERATOR_LESSTHAN = 'lessThan';
52 const OPERATOR_LESSTHANOREQUAL = 'lessThanOrEqual';
53 const OPERATOR_NOTEQUAL = 'notEqual';
54 const OPERATOR_CONTAINSTEXT = 'containsText';
55 const OPERATOR_NOTCONTAINS = 'notContains';
56 const OPERATOR_BETWEEN = 'between';
57
58 /**
59 * Condition type
60 *
61 * @var int
62 */
63 private $_conditionType;
64
65 /**
66 * Operator type
67 *
68 * @var int
69 */
70 private $_operatorType;
71
72 /**
73 * Text
74 *
75 * @var string
76 */
77 private $_text;
78
79 /**
80 * Condition
81 *
82 * @var string[]
83 */
84 private $_condition = array();
85
86 /**
87 * Style
88 *
89 * @var PHPExcel_Style
90 */
91 private $_style;
92
93 /**
94 * Create a new PHPExcel_Style_Conditional
95 */
96 public function __construct()
97 {
98 // Initialise values
99 $this->_conditionType = PHPExcel_Style_Conditional::CONDITION_NONE;
100 $this->_operatorType = PHPExcel_Style_Conditional::OPERATOR_NONE;
101 $this->_text = null;
102 $this->_condition = array();
103 $this->_style = new PHPExcel_Style(FALSE, TRUE);
104 }
105
106 /**
107 * Get Condition type
108 *
109 * @return string
110 */
111 public function getConditionType() {
112 return $this->_conditionType;
113 }
114
115 /**
116 * Set Condition type
117 *
118 * @param string $pValue PHPExcel_Style_Conditional condition type
119 * @return PHPExcel_Style_Conditional
120 */
121 public function setConditionType($pValue = PHPExcel_Style_Conditional::CONDITION_NONE) {
122 $this->_conditionType = $pValue;
123 return $this;
124 }
125
126 /**
127 * Get Operator type
128 *
129 * @return string
130 */
131 public function getOperatorType() {
132 return $this->_operatorType;
133 }
134
135 /**
136 * Set Operator type
137 *
138 * @param string $pValue PHPExcel_Style_Conditional operator type
139 * @return PHPExcel_Style_Conditional
140 */
141 public function setOperatorType($pValue = PHPExcel_Style_Conditional::OPERATOR_NONE) {
142 $this->_operatorType = $pValue;
143 return $this;
144 }
145
146 /**
147 * Get text
148 *
149 * @return string
150 */
151 public function getText() {
152 return $this->_text;
153 }
154
155 /**
156 * Set text
157 *
158 * @param string $value
159 * @return PHPExcel_Style_Conditional
160 */
161 public function setText($value = null) {
162 $this->_text = $value;
163 return $this;
164 }
165
166 /**
167 * Get Condition
168 *
169 * @deprecated Deprecated, use getConditions instead
170 * @return string
171 */
172 public function getCondition() {
173 if (isset($this->_condition[0])) {
174 return $this->_condition[0];
175 }
176
177 return '';
178 }
179
180 /**
181 * Set Condition
182 *
183 * @deprecated Deprecated, use setConditions instead
184 * @param string $pValue Condition
185 * @return PHPExcel_Style_Conditional
186 */
187 public function setCondition($pValue = '') {
188 if (!is_array($pValue))
189 $pValue = array($pValue);
190
191 return $this->setConditions($pValue);
192 }
193
194 /**
195 * Get Conditions
196 *
197 * @return string[]
198 */
199 public function getConditions() {
200 return $this->_condition;
201 }
202
203 /**
204 * Set Conditions
205 *
206 * @param string[] $pValue Condition
207 * @return PHPExcel_Style_Conditional
208 */
209 public function setConditions($pValue) {
210 if (!is_array($pValue))
211 $pValue = array($pValue);
212
213 $this->_condition = $pValue;
214 return $this;
215 }
216
217 /**
218 * Add Condition
219 *
220 * @param string $pValue Condition
221 * @return PHPExcel_Style_Conditional
222 */
223 public function addCondition($pValue = '') {
224 $this->_condition[] = $pValue;
225 return $this;
226 }
227
228 /**
229 * Get Style
230 *
231 * @return PHPExcel_Style
232 */
233 public function getStyle() {
234 return $this->_style;
235 }
236
237 /**
238 * Set Style
239 *
240 * @param PHPExcel_Style $pValue
241 * @throws PHPExcel_Exception
242 * @return PHPExcel_Style_Conditional
243 */
244 public function setStyle(PHPExcel_Style $pValue = null) {
245 $this->_style = $pValue;
246 return $this;
247 }
248
249 /**
250 * Get hash code
251 *
252 * @return string Hash code
253 */
254 public function getHashCode() {
255 return md5(
256 $this->_conditionType
257 . $this->_operatorType
258 . implode(';', $this->_condition)
259 . $this->_style->getHashCode()
260 . __CLASS__
261 );
262 }
263
264 /**
265 * Implement PHP __clone to create a deep clone, not just a shallow copy.
266 */
267 public function __clone() {
268 $vars = get_object_vars($this);
269 foreach ($vars as $key => $value) {
270 if (is_object($value)) {
271 $this->$key = clone $value;
272 } else {
273 $this->$key = $value;
274 }
275 }
276 }
277 }
278