PluginProbe
wpDataTables – WordPress Data Table, Dynamic Tables & Table Charts Plugin / 6.5.1.7
wpDataTables – WordPress Data Table, Dynamic Tables & Table Charts Plugin v6.5.1.7
6.5.1.7 6.5.1.6 6.5.1.5 6.5.1.4 6.5.1.3 6.5.1.2 6.5.1.1 6.5.0.9 6.5.0.8 6.5.0.7 6.5.0.6 trunk 3.4.2.40 3.4.2.41 3.4.2.42 3.4.2.43 3.4.2.44 3.4.2.45 3.4.2.46 3.4.2.47 3.4.2.48 3.4.2.49 3.4.2.50 6.3.2 6.3.3.1 All 47 releases
wpdatatables / lib / phpoffice / phpspreadsheet / src / PhpSpreadsheet / Style / Protection.php

Protection.php in wpDataTables – WordPress Data Table, Dynamic Tables & Table Charts Plugin 6.5.1.7, at lib/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Protection.php

199 lines 4.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace PhpOffice\PhpSpreadsheet\Style;
4
5 class Protection extends Supervisor
6 {
7 /** Protection styles */
8 const PROTECTION_INHERIT = 'inherit';
9 const PROTECTION_PROTECTED = 'protected';
10 const PROTECTION_UNPROTECTED = 'unprotected';
11
12 /**
13 * Locked.
14 *
15 * @var string
16 */
17 protected $locked;
18
19 /**
20 * Hidden.
21 *
22 * @var string
23 */
24 protected $hidden;
25
26 /**
27 * Create a new Protection.
28 *
29 * @param bool $isSupervisor Flag indicating if this is a supervisor or not
30 * Leave this value at default unless you understand exactly what
31 * its ramifications are
32 * @param bool $isConditional Flag indicating if this is a conditional style or not
33 * Leave this value at default unless you understand exactly what
34 * its ramifications are
35 */
36 public function __construct($isSupervisor = false, $isConditional = false)
37 {
38 // Supervisor?
39 parent::__construct($isSupervisor);
40
41 // Initialise values
42 if (!$isConditional) {
43 $this->locked = self::PROTECTION_INHERIT;
44 $this->hidden = self::PROTECTION_INHERIT;
45 }
46 }
47
48 /**
49 * Get the shared style component for the currently active cell in currently active sheet.
50 * Only used for style supervisor.
51 *
52 * @return Protection
53 */
54 public function getSharedComponent()
55 {
56 /** @var Style */
57 $parent = $this->parent;
58
59 return $parent->getSharedComponent()->getProtection();
60 }
61
62 /**
63 * Build style array from subcomponents.
64 *
65 * @param array $array
66 *
67 * @return array
68 */
69 public function getStyleArray($array)
70 {
71 return ['protection' => $array];
72 }
73
74 /**
75 * Apply styles from array.
76 *
77 * <code>
78 * $spreadsheet->getActiveSheet()->getStyle('B2')->getLocked()->applyFromArray(
79 * [
80 * 'locked' => TRUE,
81 * 'hidden' => FALSE
82 * ]
83 * );
84 * </code>
85 *
86 * @param array $styleArray Array containing style information
87 *
88 * @return $this
89 */
90 public function applyFromArray(array $styleArray)
91 {
92 if ($this->isSupervisor) {
93 $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($styleArray));
94 } else {
95 if (isset($styleArray['locked'])) {
96 $this->setLocked($styleArray['locked']);
97 }
98 if (isset($styleArray['hidden'])) {
99 $this->setHidden($styleArray['hidden']);
100 }
101 }
102
103 return $this;
104 }
105
106 /**
107 * Get locked.
108 *
109 * @return string
110 */
111 public function getLocked()
112 {
113 if ($this->isSupervisor) {
114 return $this->getSharedComponent()->getLocked();
115 }
116
117 return $this->locked;
118 }
119
120 /**
121 * Set locked.
122 *
123 * @param string $lockType see self::PROTECTION_*
124 *
125 * @return $this
126 */
127 public function setLocked($lockType)
128 {
129 if ($this->isSupervisor) {
130 $styleArray = $this->getStyleArray(['locked' => $lockType]);
131 $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray);
132 } else {
133 $this->locked = $lockType;
134 }
135
136 return $this;
137 }
138
139 /**
140 * Get hidden.
141 *
142 * @return string
143 */
144 public function getHidden()
145 {
146 if ($this->isSupervisor) {
147 return $this->getSharedComponent()->getHidden();
148 }
149
150 return $this->hidden;
151 }
152
153 /**
154 * Set hidden.
155 *
156 * @param string $hiddenType see self::PROTECTION_*
157 *
158 * @return $this
159 */
160 public function setHidden($hiddenType)
161 {
162 if ($this->isSupervisor) {
163 $styleArray = $this->getStyleArray(['hidden' => $hiddenType]);
164 $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray);
165 } else {
166 $this->hidden = $hiddenType;
167 }
168
169 return $this;
170 }
171
172 /**
173 * Get hash code.
174 *
175 * @return string Hash code
176 */
177 public function getHashCode()
178 {
179 if ($this->isSupervisor) {
180 return $this->getSharedComponent()->getHashCode();
181 }
182
183 return md5(
184 $this->locked .
185 $this->hidden .
186 __CLASS__
187 );
188 }
189
190 protected function exportArray1(): array
191 {
192 $exportedArray = [];
193 $this->exportArray2($exportedArray, 'locked', $this->getLocked());
194 $this->exportArray2($exportedArray, 'hidden', $this->getHidden());
195
196 return $exportedArray;
197 }
198 }
199