Subversion Repositories eFlore/Applications.cel

Rev

Rev 2388 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2388 jpm 1
<?php
2
/**
3
 * PHPExcel
4
 *
5
 * Copyright (c) 2006 - 2013 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_Cell
23
 * @copyright  Copyright (c) 2006 - 2013 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_Cell_DataValidation
31
 *
32
 * @category   PHPExcel
33
 * @package    PHPExcel_Cell
34
 * @copyright  Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
35
 */
36
class PHPExcel_Cell_DataValidation
37
{
38
    /* Data validation types */
39
    const TYPE_NONE        = 'none';
40
    const TYPE_CUSTOM      = 'custom';
41
    const TYPE_DATE        = 'date';
42
    const TYPE_DECIMAL     = 'decimal';
43
    const TYPE_LIST        = 'list';
44
    const TYPE_TEXTLENGTH  = 'textLength';
45
    const TYPE_TIME        = 'time';
46
    const TYPE_WHOLE       = 'whole';
47
 
48
    /* Data validation error styles */
49
    const STYLE_STOP         = 'stop';
50
    const STYLE_WARNING      = 'warning';
51
    const STYLE_INFORMATION  = 'information';
52
 
53
    /* Data validation operators */
54
    const OPERATOR_BETWEEN             = 'between';
55
    const OPERATOR_EQUAL               = 'equal';
56
    const OPERATOR_GREATERTHAN         = 'greaterThan';
57
    const OPERATOR_GREATERTHANOREQUAL  = 'greaterThanOrEqual';
58
    const OPERATOR_LESSTHAN            = 'lessThan';
59
    const OPERATOR_LESSTHANOREQUAL     = 'lessThanOrEqual';
60
    const OPERATOR_NOTBETWEEN          = 'notBetween';
61
    const OPERATOR_NOTEQUAL            = 'notEqual';
62
 
63
    /**
64
     * Formula 1
65
     *
66
     * @var string
67
     */
68
    private $_formula1;
69
 
70
    /**
71
     * Formula 2
72
     *
73
     * @var string
74
     */
75
    private $_formula2;
76
 
77
    /**
78
     * Type
79
     *
80
     * @var string
81
     */
82
    private $_type = PHPExcel_Cell_DataValidation::TYPE_NONE;
83
 
84
    /**
85
     * Error style
86
     *
87
     * @var string
88
     */
89
    private $_errorStyle = PHPExcel_Cell_DataValidation::STYLE_STOP;
90
 
91
    /**
92
     * Operator
93
     *
94
     * @var string
95
     */
96
    private $_operator;
97
 
98
    /**
99
     * Allow Blank
100
     *
101
     * @var boolean
102
     */
103
    private $_allowBlank;
104
 
105
    /**
106
     * Show DropDown
107
     *
108
     * @var boolean
109
     */
110
    private $_showDropDown;
111
 
112
    /**
113
     * Show InputMessage
114
     *
115
     * @var boolean
116
     */
117
    private $_showInputMessage;
118
 
119
    /**
120
     * Show ErrorMessage
121
     *
122
     * @var boolean
123
     */
124
    private $_showErrorMessage;
125
 
126
    /**
127
     * Error title
128
     *
129
     * @var string
130
     */
131
    private $_errorTitle;
132
 
133
    /**
134
     * Error
135
     *
136
     * @var string
137
     */
138
    private $_error;
139
 
140
    /**
141
     * Prompt title
142
     *
143
     * @var string
144
     */
145
    private $_promptTitle;
146
 
147
    /**
148
     * Prompt
149
     *
150
     * @var string
151
     */
152
    private $_prompt;
153
 
154
    /**
155
     * Create a new PHPExcel_Cell_DataValidation
156
     */
157
    public function __construct()
158
    {
159
        // Initialise member variables
160
        $this->_formula1          = '';
161
        $this->_formula2          = '';
162
        $this->_type              = PHPExcel_Cell_DataValidation::TYPE_NONE;
163
        $this->_errorStyle        = PHPExcel_Cell_DataValidation::STYLE_STOP;
164
        $this->_operator          = '';
165
        $this->_allowBlank        = FALSE;
166
        $this->_showDropDown      = FALSE;
167
        $this->_showInputMessage  = FALSE;
168
        $this->_showErrorMessage  = FALSE;
169
        $this->_errorTitle        = '';
170
        $this->_error             = '';
171
        $this->_promptTitle       = '';
172
        $this->_prompt            = '';
173
    }
174
 
175
    /**
176
     * Get Formula 1
177
     *
178
     * @return string
179
     */
180
    public function getFormula1() {
181
        return $this->_formula1;
182
    }
183
 
184
    /**
185
     * Set Formula 1
186
     *
187
     * @param  string    $value
188
     * @return PHPExcel_Cell_DataValidation
189
     */
190
    public function setFormula1($value = '') {
191
        $this->_formula1 = $value;
192
        return $this;
193
    }
194
 
195
    /**
196
     * Get Formula 2
197
     *
198
     * @return string
199
     */
200
    public function getFormula2() {
201
        return $this->_formula2;
202
    }
203
 
204
    /**
205
     * Set Formula 2
206
     *
207
     * @param  string    $value
208
     * @return PHPExcel_Cell_DataValidation
209
     */
210
    public function setFormula2($value = '') {
211
        $this->_formula2 = $value;
212
        return $this;
213
    }
214
 
215
    /**
216
     * Get Type
217
     *
218
     * @return string
219
     */
220
    public function getType() {
221
        return $this->_type;
222
    }
223
 
224
    /**
225
     * Set Type
226
     *
227
     * @param  string    $value
228
     * @return PHPExcel_Cell_DataValidation
229
     */
230
    public function setType($value = PHPExcel_Cell_DataValidation::TYPE_NONE) {
231
        $this->_type = $value;
232
        return $this;
233
    }
234
 
235
    /**
236
     * Get Error style
237
     *
238
     * @return string
239
     */
240
    public function getErrorStyle() {
241
        return $this->_errorStyle;
242
    }
243
 
244
    /**
245
     * Set Error style
246
     *
247
     * @param  string    $value
248
     * @return PHPExcel_Cell_DataValidation
249
     */
250
    public function setErrorStyle($value = PHPExcel_Cell_DataValidation::STYLE_STOP) {
251
        $this->_errorStyle = $value;
252
        return $this;
253
    }
254
 
255
    /**
256
     * Get Operator
257
     *
258
     * @return string
259
     */
260
    public function getOperator() {
261
        return $this->_operator;
262
    }
263
 
264
    /**
265
     * Set Operator
266
     *
267
     * @param  string    $value
268
     * @return PHPExcel_Cell_DataValidation
269
     */
270
    public function setOperator($value = '') {
271
        $this->_operator = $value;
272
        return $this;
273
    }
274
 
275
    /**
276
     * Get Allow Blank
277
     *
278
     * @return boolean
279
     */
280
    public function getAllowBlank() {
281
        return $this->_allowBlank;
282
    }
283
 
284
    /**
285
     * Set Allow Blank
286
     *
287
     * @param  boolean    $value
288
     * @return PHPExcel_Cell_DataValidation
289
     */
290
    public function setAllowBlank($value = false) {
291
        $this->_allowBlank = $value;
292
        return $this;
293
    }
294
 
295
    /**
296
     * Get Show DropDown
297
     *
298
     * @return boolean
299
     */
300
    public function getShowDropDown() {
301
        return $this->_showDropDown;
302
    }
303
 
304
    /**
305
     * Set Show DropDown
306
     *
307
     * @param  boolean    $value
308
     * @return PHPExcel_Cell_DataValidation
309
     */
310
    public function setShowDropDown($value = false) {
311
        $this->_showDropDown = $value;
312
        return $this;
313
    }
314
 
315
    /**
316
     * Get Show InputMessage
317
     *
318
     * @return boolean
319
     */
320
    public function getShowInputMessage() {
321
        return $this->_showInputMessage;
322
    }
323
 
324
    /**
325
     * Set Show InputMessage
326
     *
327
     * @param  boolean    $value
328
     * @return PHPExcel_Cell_DataValidation
329
     */
330
    public function setShowInputMessage($value = false) {
331
        $this->_showInputMessage = $value;
332
        return $this;
333
    }
334
 
335
    /**
336
     * Get Show ErrorMessage
337
     *
338
     * @return boolean
339
     */
340
    public function getShowErrorMessage() {
341
        return $this->_showErrorMessage;
342
    }
343
 
344
    /**
345
     * Set Show ErrorMessage
346
     *
347
     * @param  boolean    $value
348
     * @return PHPExcel_Cell_DataValidation
349
     */
350
    public function setShowErrorMessage($value = false) {
351
        $this->_showErrorMessage = $value;
352
        return $this;
353
    }
354
 
355
    /**
356
     * Get Error title
357
     *
358
     * @return string
359
     */
360
    public function getErrorTitle() {
361
        return $this->_errorTitle;
362
    }
363
 
364
    /**
365
     * Set Error title
366
     *
367
     * @param  string    $value
368
     * @return PHPExcel_Cell_DataValidation
369
     */
370
    public function setErrorTitle($value = '') {
371
        $this->_errorTitle = $value;
372
        return $this;
373
    }
374
 
375
    /**
376
     * Get Error
377
     *
378
     * @return string
379
     */
380
    public function getError() {
381
        return $this->_error;
382
    }
383
 
384
    /**
385
     * Set Error
386
     *
387
     * @param  string    $value
388
     * @return PHPExcel_Cell_DataValidation
389
     */
390
    public function setError($value = '') {
391
        $this->_error = $value;
392
        return $this;
393
    }
394
 
395
    /**
396
     * Get Prompt title
397
     *
398
     * @return string
399
     */
400
    public function getPromptTitle() {
401
        return $this->_promptTitle;
402
    }
403
 
404
    /**
405
     * Set Prompt title
406
     *
407
     * @param  string    $value
408
     * @return PHPExcel_Cell_DataValidation
409
     */
410
    public function setPromptTitle($value = '') {
411
        $this->_promptTitle = $value;
412
        return $this;
413
    }
414
 
415
    /**
416
     * Get Prompt
417
     *
418
     * @return string
419
     */
420
    public function getPrompt() {
421
        return $this->_prompt;
422
    }
423
 
424
    /**
425
     * Set Prompt
426
     *
427
     * @param  string    $value
428
     * @return PHPExcel_Cell_DataValidation
429
     */
430
    public function setPrompt($value = '') {
431
        $this->_prompt = $value;
432
        return $this;
433
    }
434
 
435
    /**
436
     * Get hash code
437
     *
438
     * @return string    Hash code
439
     */
440
    public function getHashCode() {
441
        return md5(
442
              $this->_formula1
443
            . $this->_formula2
444
            . $this->_type = PHPExcel_Cell_DataValidation::TYPE_NONE
445
            . $this->_errorStyle = PHPExcel_Cell_DataValidation::STYLE_STOP
446
            . $this->_operator
447
            . ($this->_allowBlank ? 't' : 'f')
448
            . ($this->_showDropDown ? 't' : 'f')
449
            . ($this->_showInputMessage ? 't' : 'f')
450
            . ($this->_showErrorMessage ? 't' : 'f')
451
            . $this->_errorTitle
452
            . $this->_error
453
            . $this->_promptTitle
454
            . $this->_prompt
455
            . __CLASS__
456
        );
457
    }
458
 
459
    /**
460
     * Implement PHP __clone to create a deep clone, not just a shallow copy.
461
     */
462
    public function __clone() {
463
        $vars = get_object_vars($this);
464
        foreach ($vars as $key => $value) {
465
            if (is_object($value)) {
466
                $this->$key = clone $value;
467
            } else {
468
                $this->$key = $value;
469
            }
470
        }
471
    }
472
}