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_Worksheet
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_Worksheet_Protection
31
 *
32
 * @category   PHPExcel
33
 * @package    PHPExcel_Worksheet
34
 * @copyright  Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
35
 */
36
class PHPExcel_Worksheet_Protection
37
{
38
	/**
39
	 * Sheet
40
	 *
41
	 * @var boolean
42
	 */
43
	private $_sheet					= false;
44
 
45
	/**
46
	 * Objects
47
	 *
48
	 * @var boolean
49
	 */
50
	private $_objects				= false;
51
 
52
	/**
53
	 * Scenarios
54
	 *
55
	 * @var boolean
56
	 */
57
	private $_scenarios				= false;
58
 
59
	/**
60
	 * Format cells
61
	 *
62
	 * @var boolean
63
	 */
64
	private $_formatCells			= false;
65
 
66
	/**
67
	 * Format columns
68
	 *
69
	 * @var boolean
70
	 */
71
	private $_formatColumns			= false;
72
 
73
	/**
74
	 * Format rows
75
	 *
76
	 * @var boolean
77
	 */
78
	private $_formatRows			= false;
79
 
80
	/**
81
	 * Insert columns
82
	 *
83
	 * @var boolean
84
	 */
85
	private $_insertColumns			= false;
86
 
87
	/**
88
	 * Insert rows
89
	 *
90
	 * @var boolean
91
	 */
92
	private $_insertRows			= false;
93
 
94
	/**
95
	 * Insert hyperlinks
96
	 *
97
	 * @var boolean
98
	 */
99
	private $_insertHyperlinks		= false;
100
 
101
	/**
102
	 * Delete columns
103
	 *
104
	 * @var boolean
105
	 */
106
	private $_deleteColumns			= false;
107
 
108
	/**
109
	 * Delete rows
110
	 *
111
	 * @var boolean
112
	 */
113
	private $_deleteRows			= false;
114
 
115
	/**
116
	 * Select locked cells
117
	 *
118
	 * @var boolean
119
	 */
120
	private $_selectLockedCells		= false;
121
 
122
	/**
123
	 * Sort
124
	 *
125
	 * @var boolean
126
	 */
127
	private $_sort					= false;
128
 
129
	/**
130
	 * AutoFilter
131
	 *
132
	 * @var boolean
133
	 */
134
	private $_autoFilter			= false;
135
 
136
	/**
137
	 * Pivot tables
138
	 *
139
	 * @var boolean
140
	 */
141
	private $_pivotTables			= false;
142
 
143
	/**
144
	 * Select unlocked cells
145
	 *
146
	 * @var boolean
147
	 */
148
	private $_selectUnlockedCells	= false;
149
 
150
	/**
151
	 * Password
152
	 *
153
	 * @var string
154
	 */
155
	private $_password				= '';
156
 
157
    /**
158
     * Create a new PHPExcel_Worksheet_Protection
159
     */
160
    public function __construct()
161
    {
162
    }
163
 
164
    /**
165
     * Is some sort of protection enabled?
166
     *
167
     * @return boolean
168
     */
169
    function isProtectionEnabled() {
170
    	return 	$this->_sheet ||
171
				$this->_objects ||
172
				$this->_scenarios ||
173
				$this->_formatCells ||
174
				$this->_formatColumns ||
175
				$this->_formatRows ||
176
				$this->_insertColumns ||
177
				$this->_insertRows ||
178
				$this->_insertHyperlinks ||
179
				$this->_deleteColumns ||
180
				$this->_deleteRows ||
181
				$this->_selectLockedCells ||
182
				$this->_sort ||
183
				$this->_autoFilter ||
184
				$this->_pivotTables ||
185
				$this->_selectUnlockedCells;
186
    }
187
 
188
    /**
189
     * Get Sheet
190
     *
191
     * @return boolean
192
     */
193
    function getSheet() {
194
    	return $this->_sheet;
195
    }
196
 
197
    /**
198
     * Set Sheet
199
     *
200
     * @param boolean $pValue
201
     * @return PHPExcel_Worksheet_Protection
202
     */
203
    function setSheet($pValue = false) {
204
    	$this->_sheet = $pValue;
205
    	return $this;
206
    }
207
 
208
    /**
209
     * Get Objects
210
     *
211
     * @return boolean
212
     */
213
    function getObjects() {
214
    	return $this->_objects;
215
    }
216
 
217
    /**
218
     * Set Objects
219
     *
220
     * @param boolean $pValue
221
     * @return PHPExcel_Worksheet_Protection
222
     */
223
    function setObjects($pValue = false) {
224
    	$this->_objects = $pValue;
225
    	return $this;
226
    }
227
 
228
    /**
229
     * Get Scenarios
230
     *
231
     * @return boolean
232
     */
233
    function getScenarios() {
234
    	return $this->_scenarios;
235
    }
236
 
237
    /**
238
     * Set Scenarios
239
     *
240
     * @param boolean $pValue
241
     * @return PHPExcel_Worksheet_Protection
242
     */
243
    function setScenarios($pValue = false) {
244
    	$this->_scenarios = $pValue;
245
    	return $this;
246
    }
247
 
248
    /**
249
     * Get FormatCells
250
     *
251
     * @return boolean
252
     */
253
    function getFormatCells() {
254
    	return $this->_formatCells;
255
    }
256
 
257
    /**
258
     * Set FormatCells
259
     *
260
     * @param boolean $pValue
261
     * @return PHPExcel_Worksheet_Protection
262
     */
263
    function setFormatCells($pValue = false) {
264
    	$this->_formatCells = $pValue;
265
    	return $this;
266
    }
267
 
268
    /**
269
     * Get FormatColumns
270
     *
271
     * @return boolean
272
     */
273
    function getFormatColumns() {
274
    	return $this->_formatColumns;
275
    }
276
 
277
    /**
278
     * Set FormatColumns
279
     *
280
     * @param boolean $pValue
281
     * @return PHPExcel_Worksheet_Protection
282
     */
283
    function setFormatColumns($pValue = false) {
284
    	$this->_formatColumns = $pValue;
285
    	return $this;
286
    }
287
 
288
    /**
289
     * Get FormatRows
290
     *
291
     * @return boolean
292
     */
293
    function getFormatRows() {
294
    	return $this->_formatRows;
295
    }
296
 
297
    /**
298
     * Set FormatRows
299
     *
300
     * @param boolean $pValue
301
     * @return PHPExcel_Worksheet_Protection
302
     */
303
    function setFormatRows($pValue = false) {
304
    	$this->_formatRows = $pValue;
305
    	return $this;
306
    }
307
 
308
    /**
309
     * Get InsertColumns
310
     *
311
     * @return boolean
312
     */
313
    function getInsertColumns() {
314
    	return $this->_insertColumns;
315
    }
316
 
317
    /**
318
     * Set InsertColumns
319
     *
320
     * @param boolean $pValue
321
     * @return PHPExcel_Worksheet_Protection
322
     */
323
    function setInsertColumns($pValue = false) {
324
    	$this->_insertColumns = $pValue;
325
    	return $this;
326
    }
327
 
328
    /**
329
     * Get InsertRows
330
     *
331
     * @return boolean
332
     */
333
    function getInsertRows() {
334
    	return $this->_insertRows;
335
    }
336
 
337
    /**
338
     * Set InsertRows
339
     *
340
     * @param boolean $pValue
341
     * @return PHPExcel_Worksheet_Protection
342
     */
343
    function setInsertRows($pValue = false) {
344
    	$this->_insertRows = $pValue;
345
    	return $this;
346
    }
347
 
348
    /**
349
     * Get InsertHyperlinks
350
     *
351
     * @return boolean
352
     */
353
    function getInsertHyperlinks() {
354
    	return $this->_insertHyperlinks;
355
    }
356
 
357
    /**
358
     * Set InsertHyperlinks
359
     *
360
     * @param boolean $pValue
361
     * @return PHPExcel_Worksheet_Protection
362
     */
363
    function setInsertHyperlinks($pValue = false) {
364
    	$this->_insertHyperlinks = $pValue;
365
    	return $this;
366
    }
367
 
368
    /**
369
     * Get DeleteColumns
370
     *
371
     * @return boolean
372
     */
373
    function getDeleteColumns() {
374
    	return $this->_deleteColumns;
375
    }
376
 
377
    /**
378
     * Set DeleteColumns
379
     *
380
     * @param boolean $pValue
381
     * @return PHPExcel_Worksheet_Protection
382
     */
383
    function setDeleteColumns($pValue = false) {
384
    	$this->_deleteColumns = $pValue;
385
    	return $this;
386
    }
387
 
388
    /**
389
     * Get DeleteRows
390
     *
391
     * @return boolean
392
     */
393
    function getDeleteRows() {
394
    	return $this->_deleteRows;
395
    }
396
 
397
    /**
398
     * Set DeleteRows
399
     *
400
     * @param boolean $pValue
401
     * @return PHPExcel_Worksheet_Protection
402
     */
403
    function setDeleteRows($pValue = false) {
404
    	$this->_deleteRows = $pValue;
405
    	return $this;
406
    }
407
 
408
    /**
409
     * Get SelectLockedCells
410
     *
411
     * @return boolean
412
     */
413
    function getSelectLockedCells() {
414
    	return $this->_selectLockedCells;
415
    }
416
 
417
    /**
418
     * Set SelectLockedCells
419
     *
420
     * @param boolean $pValue
421
     * @return PHPExcel_Worksheet_Protection
422
     */
423
    function setSelectLockedCells($pValue = false) {
424
    	$this->_selectLockedCells = $pValue;
425
    	return $this;
426
    }
427
 
428
    /**
429
     * Get Sort
430
     *
431
     * @return boolean
432
     */
433
    function getSort() {
434
    	return $this->_sort;
435
    }
436
 
437
    /**
438
     * Set Sort
439
     *
440
     * @param boolean $pValue
441
     * @return PHPExcel_Worksheet_Protection
442
     */
443
    function setSort($pValue = false) {
444
    	$this->_sort = $pValue;
445
    	return $this;
446
    }
447
 
448
    /**
449
     * Get AutoFilter
450
     *
451
     * @return boolean
452
     */
453
    function getAutoFilter() {
454
    	return $this->_autoFilter;
455
    }
456
 
457
    /**
458
     * Set AutoFilter
459
     *
460
     * @param boolean $pValue
461
     * @return PHPExcel_Worksheet_Protection
462
     */
463
    function setAutoFilter($pValue = false) {
464
    	$this->_autoFilter = $pValue;
465
    	return $this;
466
    }
467
 
468
    /**
469
     * Get PivotTables
470
     *
471
     * @return boolean
472
     */
473
    function getPivotTables() {
474
    	return $this->_pivotTables;
475
    }
476
 
477
    /**
478
     * Set PivotTables
479
     *
480
     * @param boolean $pValue
481
     * @return PHPExcel_Worksheet_Protection
482
     */
483
    function setPivotTables($pValue = false) {
484
    	$this->_pivotTables = $pValue;
485
    	return $this;
486
    }
487
 
488
    /**
489
     * Get SelectUnlockedCells
490
     *
491
     * @return boolean
492
     */
493
    function getSelectUnlockedCells() {
494
    	return $this->_selectUnlockedCells;
495
    }
496
 
497
    /**
498
     * Set SelectUnlockedCells
499
     *
500
     * @param boolean $pValue
501
     * @return PHPExcel_Worksheet_Protection
502
     */
503
    function setSelectUnlockedCells($pValue = false) {
504
    	$this->_selectUnlockedCells = $pValue;
505
    	return $this;
506
    }
507
 
508
    /**
509
     * Get Password (hashed)
510
     *
511
     * @return string
512
     */
513
    function getPassword() {
514
    	return $this->_password;
515
    }
516
 
517
    /**
518
     * Set Password
519
     *
520
     * @param string 	$pValue
521
     * @param boolean 	$pAlreadyHashed If the password has already been hashed, set this to true
522
     * @return PHPExcel_Worksheet_Protection
523
     */
524
    function setPassword($pValue = '', $pAlreadyHashed = false) {
525
    	if (!$pAlreadyHashed) {
526
    		$pValue = PHPExcel_Shared_PasswordHasher::hashPassword($pValue);
527
    	}
528
		$this->_password = $pValue;
529
		return $this;
530
    }
531
 
532
	/**
533
	 * Implement PHP __clone to create a deep clone, not just a shallow copy.
534
	 */
535
	public function __clone() {
536
		$vars = get_object_vars($this);
537
		foreach ($vars as $key => $value) {
538
			if (is_object($value)) {
539
				$this->$key = clone $value;
540
			} else {
541
				$this->$key = $value;
542
			}
543
		}
544
	}
545
}