File Source for DocumentSecurity.php

PHPExcel

# Source for file DocumentSecurity.php

Documentation is available at DocumentSecurity.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
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_DocumentSecurity
31. *
32. * @category PHPExcel
33. * @package PHPExcel
34. * @copyright Copyright (c) 2006 - 2011 PHPExcel (http://www.codeplex.com/PHPExcel)
35. */
36. class PHPExcel_DocumentSecurity
37. {
38. /**
39. * LockRevision
40. *
41. * @var boolean
42. */
43. private $_lockRevision;
45. /**
46. * LockStructure
47. *
48. * @var boolean
49. */
50. private $_lockStructure;
52. /**
53. * LockWindows
54. *
55. * @var boolean
56. */
57. private $_lockWindows;
59. /**
60. * RevisionsPassword
61. *
62. * @var string
63. */
64. private $_revisionsPassword;
66. /**
67. * WorkbookPassword
68. *
69. * @var string
70. */
71. private $_workbookPassword;
73. /**
74. * Create a new PHPExcel_DocumentSecurity
75. */
76. public function __construct()
77. {
78. // Initialise values
79. $this->_lockRevision = false;
80. $this->_lockStructure = false;
81. $this->_lockWindows = false;
82. $this->_revisionsPassword = '';
83. $this->_workbookPassword = '';
84. }
86. /**
87. * Is some sort of dcument security enabled?
88. *
89. * @return boolean
90. */
91. function isSecurityEnabled() {
92. return $this->_lockRevision ||
93. $this->_lockStructure ||
94. $this->_lockWindows;
95. }
97. /**
98. * Get LockRevision
99. *
100. * @return boolean
101. */
102. function getLockRevision() {
103. return $this->_lockRevision;
104. }
106. /**
107. * Set LockRevision
108. *
109. * @param boolean $pValue
110. * @return PHPExcel_DocumentSecurity
111. */
112. function setLockRevision($pValue = false) {
113. $this->_lockRevision = $pValue;
114. return $this;
115. }
117. /**
118. * Get LockStructure
119. *
120. * @return boolean
121. */
122. function getLockStructure() {
123. return $this->_lockStructure;
124. }
126. /**
127. * Set LockStructure
128. *
129. * @param boolean $pValue
130. * @return PHPExcel_DocumentSecurity
131. */
132. function setLockStructure($pValue = false) {
133. $this->_lockStructure = $pValue;
134. return $this;
135. }
137. /**
138. * Get LockWindows
139. *
140. * @return boolean
141. */
142. function getLockWindows() {
143. return $this->_lockWindows;
144. }
146. /**
147. * Set LockWindows
148. *
149. * @param boolean $pValue
150. * @return PHPExcel_DocumentSecurity
151. */
152. function setLockWindows($pValue = false) {
153. $this->_lockWindows = $pValue;
154. return $this;
155. }
157. /**
158. * Get RevisionsPassword (hashed)
159. *
160. * @return string
161. */
162. function getRevisionsPassword() {
163. return $this->_revisionsPassword;
164. }
166. /**
167. * Set RevisionsPassword
168. *
169. * @param string $pValue
170. * @param boolean $pAlreadyHashed If the password has already been hashed, set this to true
171. * @return PHPExcel_DocumentSecurity
172. */
173. function setRevisionsPassword($pValue = '', $pAlreadyHashed = false) {
174. if (!$pAlreadyHashed) {
175. $pValue = PHPExcel_Shared_PasswordHasher:: hashPassword($pValue);
176. }
177. $this->_revisionsPassword = $pValue;
178. return $this;
179. }
181. /**
182. * Get WorkbookPassword (hashed)
183. *
184. * @return string
185. */
186. function getWorkbookPassword() {
187. return $this->_workbookPassword;
188. }
190. /**
191. * Set WorkbookPassword
192. *
193. * @param string $pValue
194. * @param boolean $pAlreadyHashed If the password has already been hashed, set this to true
195. * @return PHPExcel_DocumentSecurity
196. */
197. function setWorkbookPassword($pValue = '', $pAlreadyHashed = false) {
198. if (!$pAlreadyHashed) {
199. $pValue = PHPExcel_Shared_PasswordHasher:: hashPassword($pValue);
200. }
201. $this->_workbookPassword = $pValue;
202. return $this;
203. }
205. /**
206. * Implement PHP __clone to create a deep clone, not just a shallow copy.
207. */
208. public function __clone() {
209. $vars = get_object_vars($this);
210. foreach ($vars as $key => $value) {
211. if ( is_object($value)) {
212. $this->$key = clone $value;
213. } else {
214. $this->$key = $value;
215. }
216. }
217. }
218. }

Documentation generated on Sun, 27 Feb 2011 16:30:14 -0800 by phpDocumentor 1.4.3