[ Index ] |
PHP Cross Reference of moodle-2.8 |
[Summary view] [Print] [Text view]
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 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:29:05 2014 | Cross-referenced by PHPXref 0.7.1 |