File Source for Protection.php

PHPExcel_Worksheet

# Source for file Protection.php

Documentation is available at Protection.php

1. <?php
2. /**
3. * PHPExcel
4. *
5. * Copyright (c) 2006 - 2011 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 - 2011 PHPExcel (http://www.codeplex.com/PHPExcel)
24. * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
25. * @version 1.7.6, 2011-02-27
26. */
29. /**
30. * PHPExcel_Worksheet_Protection
31. *
32. * @category PHPExcel
33. * @package PHPExcel_Worksheet
34. * @copyright Copyright (c) 2006 - 2011 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;
45. /**
46. * Objects
47. *
48. * @var boolean
49. */
50. private $_objects = false;
52. /**
53. * Scenarios
54. *
55. * @var boolean
56. */
57. private $_scenarios = false;
59. /**
60. * Format cells
61. *
62. * @var boolean
63. */
64. private $_formatCells = false;
66. /**
67. * Format columns
68. *
69. * @var boolean
70. */
71. private $_formatColumns = false;
73. /**
74. * Format rows
75. *
76. * @var boolean
77. */
78. private $_formatRows = false;
80. /**
81. * Insert columns
82. *
83. * @var boolean
84. */
85. private $_insertColumns = false;
87. /**
88. * Insert rows
89. *
90. * @var boolean
91. */
92. private $_insertRows = false;
94. /**
95. * Insert hyperlinks
96. *
97. * @var boolean
98. */
99. private $_insertHyperlinks = false;
101. /**
102. * Delete columns
103. *
104. * @var boolean
105. */
106. private $_deleteColumns = false;
108. /**
109. * Delete rows
110. *
111. * @var boolean
112. */
113. private $_deleteRows = false;
115. /**
116. * Select locked cells
117. *
118. * @var boolean
119. */
120. private $_selectLockedCells = false;
122. /**
123. * Sort
124. *
125. * @var boolean
126. */
127. private $_sort = false;
129. /**
130. * AutoFilter
131. *
132. * @var boolean
133. */
134. private $_autoFilter = false;
136. /**
137. * Pivot tables
138. *
139. * @var boolean
140. */
141. private $_pivotTables = false;
143. /**
144. * Select unlocked cells
145. *
146. * @var boolean
147. */
148. private $_selectUnlockedCells = false;
150. /**
151. * Password
152. *
153. * @var string
154. */
155. private $_password = '';
157. /**
158. * Create a new PHPExcel_Worksheet_Protection
159. */
160. public function __construct()
161. {
162. }
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. }
188. /**
189. * Get Sheet
190. *
191. * @return boolean
192. */
193. function getSheet() {
194. return $this->_sheet;
195. }
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. }
208. /**
209. * Get Objects
210. *
211. * @return boolean
212. */
213. function getObjects() {
214. return $this->_objects;
215. }
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. }
228. /**
229. * Get Scenarios
230. *
231. * @return boolean
232. */
233. function getScenarios() {
234. return $this->_scenarios;
235. }
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. }
248. /**
249. * Get FormatCells
250. *
251. * @return boolean
252. */
253. function getFormatCells() {
254. return $this->_formatCells;
255. }
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. }
268. /**
269. * Get FormatColumns
270. *
271. * @return boolean
272. */
273. function getFormatColumns() {
274. return $this->_formatColumns;
275. }
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. }
288. /**
289. * Get FormatRows
290. *
291. * @return boolean
292. */
293. function getFormatRows() {
294. return $this->_formatRows;
295. }
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. }
308. /**
309. * Get InsertColumns
310. *
311. * @return boolean
312. */
313. function getInsertColumns() {
314. return $this->_insertColumns;
315. }
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. }
328. /**
329. * Get InsertRows
330. *
331. * @return boolean
332. */
333. function getInsertRows() {
334. return $this->_insertRows;
335. }
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. }
348. /**
349. * Get InsertHyperlinks
350. *
351. * @return boolean
352. */
353. function getInsertHyperlinks() {
354. return $this->_insertHyperlinks;
355. }
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. }
368. /**
369. * Get DeleteColumns
370. *
371. * @return boolean
372. */
373. function getDeleteColumns() {
374. return $this->_deleteColumns;
375. }
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. }
388. /**
389. * Get DeleteRows
390. *
391. * @return boolean
392. */
393. function getDeleteRows() {
394. return $this->_deleteRows;
395. }
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. }
408. /**
409. * Get SelectLockedCells
410. *
411. * @return boolean
412. */
413. function getSelectLockedCells() {
414. return $this->_selectLockedCells;
415. }
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. }
428. /**
429. * Get Sort
430. *
431. * @return boolean
432. */
433. function getSort() {
434. return $this->_sort;
435. }
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. }
448. /**
449. * Get AutoFilter
450. *
451. * @return boolean
452. */
453. function getAutoFilter() {
454. return $this->_autoFilter;
455. }
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. }
468. /**
469. * Get PivotTables
470. *
471. * @return boolean
472. */
473. function getPivotTables() {
474. return $this->_pivotTables;
475. }
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. }
488. /**
489. * Get SelectUnlockedCells
490. *
491. * @return boolean
492. */
493. function getSelectUnlockedCells() {
494. return $this->_selectUnlockedCells;
495. }
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. }
508. /**
509. * Get Password (hashed)
510. *
511. * @return string
512. */
513. function getPassword() {
514. return $this->_password;
515. }
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. }
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. }

Documentation generated on Sun, 27 Feb 2011 16:33:31 -0800 by phpDocumentor 1.4.3