PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.0.3
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.0.3
4.0.8 4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.10.1 3.10.10 3.10.11 3.10.12 3.10.13 3.10.14 3.10.15 3.10.2 3.10.3 All 149 releases
visualizer / vendor / phpoffice / phpexcel / Classes / PHPExcel / Style / Protection.php

Protection.php in Visualizer – Tables & Charts Manager with Built-in AI Generator 3.0.3, at vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Protection.php

208 lines 5.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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_Style
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.4.5, 2007-08-23
26 */
27
28
29 /**
30 * PHPExcel_Style_Protection
31 *
32 * @category PHPExcel
33 * @package PHPExcel_Style
34 * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
35 */
36 class PHPExcel_Style_Protection extends PHPExcel_Style_Supervisor implements PHPExcel_IComparable
37 {
38 /** Protection styles */
39 const PROTECTION_INHERIT = 'inherit';
40 const PROTECTION_PROTECTED = 'protected';
41 const PROTECTION_UNPROTECTED = 'unprotected';
42
43 /**
44 * Locked
45 *
46 * @var string
47 */
48 protected $_locked;
49
50 /**
51 * Hidden
52 *
53 * @var string
54 */
55 protected $_hidden;
56
57 /**
58 * Create a new PHPExcel_Style_Protection
59 *
60 * @param boolean $isSupervisor Flag indicating if this is a supervisor or not
61 * Leave this value at default unless you understand exactly what
62 * its ramifications are
63 * @param boolean $isConditional Flag indicating if this is a conditional style or not
64 * Leave this value at default unless you understand exactly what
65 * its ramifications are
66 */
67 public function __construct($isSupervisor = FALSE, $isConditional = FALSE)
68 {
69 // Supervisor?
70 parent::__construct($isSupervisor);
71
72 // Initialise values
73 if (!$isConditional) {
74 $this->_locked = self::PROTECTION_INHERIT;
75 $this->_hidden = self::PROTECTION_INHERIT;
76 }
77 }
78
79 /**
80 * Get the shared style component for the currently active cell in currently active sheet.
81 * Only used for style supervisor
82 *
83 * @return PHPExcel_Style_Protection
84 */
85 public function getSharedComponent()
86 {
87 return $this->_parent->getSharedComponent()->getProtection();
88 }
89
90 /**
91 * Build style array from subcomponents
92 *
93 * @param array $array
94 * @return array
95 */
96 public function getStyleArray($array)
97 {
98 return array('protection' => $array);
99 }
100
101 /**
102 * Apply styles from array
103 *
104 * <code>
105 * $objPHPExcel->getActiveSheet()->getStyle('B2')->getLocked()->applyFromArray(
106 * array(
107 * 'locked' => TRUE,
108 * 'hidden' => FALSE
109 * )
110 * );
111 * </code>
112 *
113 * @param array $pStyles Array containing style information
114 * @throws PHPExcel_Exception
115 * @return PHPExcel_Style_Protection
116 */
117 public function applyFromArray($pStyles = NULL) {
118 if (is_array($pStyles)) {
119 if ($this->_isSupervisor) {
120 $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles));
121 } else {
122 if (isset($pStyles['locked'])) {
123 $this->setLocked($pStyles['locked']);
124 }
125 if (isset($pStyles['hidden'])) {
126 $this->setHidden($pStyles['hidden']);
127 }
128 }
129 } else {
130 throw new PHPExcel_Exception("Invalid style array passed.");
131 }
132 return $this;
133 }
134
135 /**
136 * Get locked
137 *
138 * @return string
139 */
140 public function getLocked() {
141 if ($this->_isSupervisor) {
142 return $this->getSharedComponent()->getLocked();
143 }
144 return $this->_locked;
145 }
146
147 /**
148 * Set locked
149 *
150 * @param string $pValue
151 * @return PHPExcel_Style_Protection
152 */
153 public function setLocked($pValue = self::PROTECTION_INHERIT) {
154 if ($this->_isSupervisor) {
155 $styleArray = $this->getStyleArray(array('locked' => $pValue));
156 $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray);
157 } else {
158 $this->_locked = $pValue;
159 }
160 return $this;
161 }
162
163 /**
164 * Get hidden
165 *
166 * @return string
167 */
168 public function getHidden() {
169 if ($this->_isSupervisor) {
170 return $this->getSharedComponent()->getHidden();
171 }
172 return $this->_hidden;
173 }
174
175 /**
176 * Set hidden
177 *
178 * @param string $pValue
179 * @return PHPExcel_Style_Protection
180 */
181 public function setHidden($pValue = self::PROTECTION_INHERIT) {
182 if ($this->_isSupervisor) {
183 $styleArray = $this->getStyleArray(array('hidden' => $pValue));
184 $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray);
185 } else {
186 $this->_hidden = $pValue;
187 }
188 return $this;
189 }
190
191 /**
192 * Get hash code
193 *
194 * @return string Hash code
195 */
196 public function getHashCode() {
197 if ($this->_isSupervisor) {
198 return $this->getSharedComponent()->getHashCode();
199 }
200 return md5(
201 $this->_locked
202 . $this->_hidden
203 . __CLASS__
204 );
205 }
206
207 }
208