source: sourcecode/application/libraries/PHPExcel/Worksheet/Protection.php @ 1

Last change on this file since 1 was 1, checked in by dungnv, 11 years ago
File size: 10.0 KB
Line 
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_Worksheet
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    1.8.0, 2014-03-02
26 */
27
28
29/**
30 * PHPExcel_Worksheet_Protection
31 *
32 * @category   PHPExcel
33 * @package    PHPExcel_Worksheet
34 * @copyright  Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
35 */
36class 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}
Note: See TracBrowser for help on using the repository browser.