Updated gui for user facility settings (#1327)
[openemr.git] / vendor / phpoffice / phpexcel / Classes / PHPExcel / Worksheet / Protection.php
blobda66bf7632f7c118539c9c5112e1cc4eca4149c4
1 <?php
2 /**
3 * PHPExcel
5 * Copyright (c) 2006 - 2014 PHPExcel
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.
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.
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
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 ##VERSION##, ##DATE##
29 /**
30 * PHPExcel_Worksheet_Protection
32 * @category PHPExcel
33 * @package PHPExcel_Worksheet
34 * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
36 class PHPExcel_Worksheet_Protection
38 /**
39 * Sheet
41 * @var boolean
43 private $_sheet = false;
45 /**
46 * Objects
48 * @var boolean
50 private $_objects = false;
52 /**
53 * Scenarios
55 * @var boolean
57 private $_scenarios = false;
59 /**
60 * Format cells
62 * @var boolean
64 private $_formatCells = false;
66 /**
67 * Format columns
69 * @var boolean
71 private $_formatColumns = false;
73 /**
74 * Format rows
76 * @var boolean
78 private $_formatRows = false;
80 /**
81 * Insert columns
83 * @var boolean
85 private $_insertColumns = false;
87 /**
88 * Insert rows
90 * @var boolean
92 private $_insertRows = false;
94 /**
95 * Insert hyperlinks
97 * @var boolean
99 private $_insertHyperlinks = false;
102 * Delete columns
104 * @var boolean
106 private $_deleteColumns = false;
109 * Delete rows
111 * @var boolean
113 private $_deleteRows = false;
116 * Select locked cells
118 * @var boolean
120 private $_selectLockedCells = false;
123 * Sort
125 * @var boolean
127 private $_sort = false;
130 * AutoFilter
132 * @var boolean
134 private $_autoFilter = false;
137 * Pivot tables
139 * @var boolean
141 private $_pivotTables = false;
144 * Select unlocked cells
146 * @var boolean
148 private $_selectUnlockedCells = false;
151 * Password
153 * @var string
155 private $_password = '';
158 * Create a new PHPExcel_Worksheet_Protection
160 public function __construct()
165 * Is some sort of protection enabled?
167 * @return boolean
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;
189 * Get Sheet
191 * @return boolean
193 function getSheet() {
194 return $this->_sheet;
198 * Set Sheet
200 * @param boolean $pValue
201 * @return PHPExcel_Worksheet_Protection
203 function setSheet($pValue = false) {
204 $this->_sheet = $pValue;
205 return $this;
209 * Get Objects
211 * @return boolean
213 function getObjects() {
214 return $this->_objects;
218 * Set Objects
220 * @param boolean $pValue
221 * @return PHPExcel_Worksheet_Protection
223 function setObjects($pValue = false) {
224 $this->_objects = $pValue;
225 return $this;
229 * Get Scenarios
231 * @return boolean
233 function getScenarios() {
234 return $this->_scenarios;
238 * Set Scenarios
240 * @param boolean $pValue
241 * @return PHPExcel_Worksheet_Protection
243 function setScenarios($pValue = false) {
244 $this->_scenarios = $pValue;
245 return $this;
249 * Get FormatCells
251 * @return boolean
253 function getFormatCells() {
254 return $this->_formatCells;
258 * Set FormatCells
260 * @param boolean $pValue
261 * @return PHPExcel_Worksheet_Protection
263 function setFormatCells($pValue = false) {
264 $this->_formatCells = $pValue;
265 return $this;
269 * Get FormatColumns
271 * @return boolean
273 function getFormatColumns() {
274 return $this->_formatColumns;
278 * Set FormatColumns
280 * @param boolean $pValue
281 * @return PHPExcel_Worksheet_Protection
283 function setFormatColumns($pValue = false) {
284 $this->_formatColumns = $pValue;
285 return $this;
289 * Get FormatRows
291 * @return boolean
293 function getFormatRows() {
294 return $this->_formatRows;
298 * Set FormatRows
300 * @param boolean $pValue
301 * @return PHPExcel_Worksheet_Protection
303 function setFormatRows($pValue = false) {
304 $this->_formatRows = $pValue;
305 return $this;
309 * Get InsertColumns
311 * @return boolean
313 function getInsertColumns() {
314 return $this->_insertColumns;
318 * Set InsertColumns
320 * @param boolean $pValue
321 * @return PHPExcel_Worksheet_Protection
323 function setInsertColumns($pValue = false) {
324 $this->_insertColumns = $pValue;
325 return $this;
329 * Get InsertRows
331 * @return boolean
333 function getInsertRows() {
334 return $this->_insertRows;
338 * Set InsertRows
340 * @param boolean $pValue
341 * @return PHPExcel_Worksheet_Protection
343 function setInsertRows($pValue = false) {
344 $this->_insertRows = $pValue;
345 return $this;
349 * Get InsertHyperlinks
351 * @return boolean
353 function getInsertHyperlinks() {
354 return $this->_insertHyperlinks;
358 * Set InsertHyperlinks
360 * @param boolean $pValue
361 * @return PHPExcel_Worksheet_Protection
363 function setInsertHyperlinks($pValue = false) {
364 $this->_insertHyperlinks = $pValue;
365 return $this;
369 * Get DeleteColumns
371 * @return boolean
373 function getDeleteColumns() {
374 return $this->_deleteColumns;
378 * Set DeleteColumns
380 * @param boolean $pValue
381 * @return PHPExcel_Worksheet_Protection
383 function setDeleteColumns($pValue = false) {
384 $this->_deleteColumns = $pValue;
385 return $this;
389 * Get DeleteRows
391 * @return boolean
393 function getDeleteRows() {
394 return $this->_deleteRows;
398 * Set DeleteRows
400 * @param boolean $pValue
401 * @return PHPExcel_Worksheet_Protection
403 function setDeleteRows($pValue = false) {
404 $this->_deleteRows = $pValue;
405 return $this;
409 * Get SelectLockedCells
411 * @return boolean
413 function getSelectLockedCells() {
414 return $this->_selectLockedCells;
418 * Set SelectLockedCells
420 * @param boolean $pValue
421 * @return PHPExcel_Worksheet_Protection
423 function setSelectLockedCells($pValue = false) {
424 $this->_selectLockedCells = $pValue;
425 return $this;
429 * Get Sort
431 * @return boolean
433 function getSort() {
434 return $this->_sort;
438 * Set Sort
440 * @param boolean $pValue
441 * @return PHPExcel_Worksheet_Protection
443 function setSort($pValue = false) {
444 $this->_sort = $pValue;
445 return $this;
449 * Get AutoFilter
451 * @return boolean
453 function getAutoFilter() {
454 return $this->_autoFilter;
458 * Set AutoFilter
460 * @param boolean $pValue
461 * @return PHPExcel_Worksheet_Protection
463 function setAutoFilter($pValue = false) {
464 $this->_autoFilter = $pValue;
465 return $this;
469 * Get PivotTables
471 * @return boolean
473 function getPivotTables() {
474 return $this->_pivotTables;
478 * Set PivotTables
480 * @param boolean $pValue
481 * @return PHPExcel_Worksheet_Protection
483 function setPivotTables($pValue = false) {
484 $this->_pivotTables = $pValue;
485 return $this;
489 * Get SelectUnlockedCells
491 * @return boolean
493 function getSelectUnlockedCells() {
494 return $this->_selectUnlockedCells;
498 * Set SelectUnlockedCells
500 * @param boolean $pValue
501 * @return PHPExcel_Worksheet_Protection
503 function setSelectUnlockedCells($pValue = false) {
504 $this->_selectUnlockedCells = $pValue;
505 return $this;
509 * Get Password (hashed)
511 * @return string
513 function getPassword() {
514 return $this->_password;
518 * Set Password
520 * @param string $pValue
521 * @param boolean $pAlreadyHashed If the password has already been hashed, set this to true
522 * @return PHPExcel_Worksheet_Protection
524 function setPassword($pValue = '', $pAlreadyHashed = false) {
525 if (!$pAlreadyHashed) {
526 $pValue = PHPExcel_Shared_PasswordHasher::hashPassword($pValue);
528 $this->_password = $pValue;
529 return $this;
533 * Implement PHP __clone to create a deep clone, not just a shallow copy.
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;