[ 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_Worksheet 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 ##VERSION##, ##DATE## 26 */ 27 28 29 /** 30 * PHPExcel_Worksheet_HeaderFooter 31 * 32 * <code> 33 * Header/Footer Formatting Syntax taken from Office Open XML Part 4 - Markup Language Reference, page 1970: 34 * 35 * There are a number of formatting codes that can be written inline with the actual header / footer text, which 36 * affect the formatting in the header or footer. 37 * 38 * Example: This example shows the text "Center Bold Header" on the first line (center section), and the date on 39 * the second line (center section). 40 * &CCenter &"-,Bold"Bold&"-,Regular"Header_x000A_&D 41 * 42 * General Rules: 43 * There is no required order in which these codes must appear. 44 * 45 * The first occurrence of the following codes turns the formatting ON, the second occurrence turns it OFF again: 46 * - strikethrough 47 * - superscript 48 * - subscript 49 * Superscript and subscript cannot both be ON at same time. Whichever comes first wins and the other is ignored, 50 * while the first is ON. 51 * &L - code for "left section" (there are three header / footer locations, "left", "center", and "right"). When 52 * two or more occurrences of this section marker exist, the contents from all markers are concatenated, in the 53 * order of appearance, and placed into the left section. 54 * &P - code for "current page #" 55 * &N - code for "total pages" 56 * &font size - code for "text font size", where font size is a font size in points. 57 * &K - code for "text font color" 58 * RGB Color is specified as RRGGBB 59 * Theme Color is specifed as TTSNN where TT is the theme color Id, S is either "+" or "-" of the tint/shade 60 * value, NN is the tint/shade value. 61 * &S - code for "text strikethrough" on / off 62 * &X - code for "text super script" on / off 63 * &Y - code for "text subscript" on / off 64 * &C - code for "center section". When two or more occurrences of this section marker exist, the contents 65 * from all markers are concatenated, in the order of appearance, and placed into the center section. 66 * 67 * &D - code for "date" 68 * &T - code for "time" 69 * &G - code for "picture as background" 70 * &U - code for "text single underline" 71 * &E - code for "double underline" 72 * &R - code for "right section". When two or more occurrences of this section marker exist, the contents 73 * from all markers are concatenated, in the order of appearance, and placed into the right section. 74 * &Z - code for "this workbook's file path" 75 * &F - code for "this workbook's file name" 76 * &A - code for "sheet tab name" 77 * &+ - code for add to page #. 78 * &- - code for subtract from page #. 79 * &"font name,font type" - code for "text font name" and "text font type", where font name and font type 80 * are strings specifying the name and type of the font, separated by a comma. When a hyphen appears in font 81 * name, it means "none specified". Both of font name and font type can be localized values. 82 * &"-,Bold" - code for "bold font style" 83 * &B - also means "bold font style". 84 * &"-,Regular" - code for "regular font style" 85 * &"-,Italic" - code for "italic font style" 86 * &I - also means "italic font style" 87 * &"-,Bold Italic" code for "bold italic font style" 88 * &O - code for "outline style" 89 * &H - code for "shadow style" 90 * </code> 91 * 92 * @category PHPExcel 93 * @package PHPExcel_Worksheet 94 * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) 95 */ 96 class PHPExcel_Worksheet_HeaderFooter 97 { 98 /* Header/footer image location */ 99 const IMAGE_HEADER_LEFT = 'LH'; 100 const IMAGE_HEADER_CENTER = 'CH'; 101 const IMAGE_HEADER_RIGHT = 'RH'; 102 const IMAGE_FOOTER_LEFT = 'LF'; 103 const IMAGE_FOOTER_CENTER = 'CF'; 104 const IMAGE_FOOTER_RIGHT = 'RF'; 105 106 /** 107 * OddHeader 108 * 109 * @var string 110 */ 111 private $_oddHeader = ''; 112 113 /** 114 * OddFooter 115 * 116 * @var string 117 */ 118 private $_oddFooter = ''; 119 120 /** 121 * EvenHeader 122 * 123 * @var string 124 */ 125 private $_evenHeader = ''; 126 127 /** 128 * EvenFooter 129 * 130 * @var string 131 */ 132 private $_evenFooter = ''; 133 134 /** 135 * FirstHeader 136 * 137 * @var string 138 */ 139 private $_firstHeader = ''; 140 141 /** 142 * FirstFooter 143 * 144 * @var string 145 */ 146 private $_firstFooter = ''; 147 148 /** 149 * Different header for Odd/Even, defaults to false 150 * 151 * @var boolean 152 */ 153 private $_differentOddEven = false; 154 155 /** 156 * Different header for first page, defaults to false 157 * 158 * @var boolean 159 */ 160 private $_differentFirst = false; 161 162 /** 163 * Scale with document, defaults to true 164 * 165 * @var boolean 166 */ 167 private $_scaleWithDocument = true; 168 169 /** 170 * Align with margins, defaults to true 171 * 172 * @var boolean 173 */ 174 private $_alignWithMargins = true; 175 176 /** 177 * Header/footer images 178 * 179 * @var PHPExcel_Worksheet_HeaderFooterDrawing[] 180 */ 181 private $_headerFooterImages = array(); 182 183 /** 184 * Create a new PHPExcel_Worksheet_HeaderFooter 185 */ 186 public function __construct() 187 { 188 } 189 190 /** 191 * Get OddHeader 192 * 193 * @return string 194 */ 195 public function getOddHeader() { 196 return $this->_oddHeader; 197 } 198 199 /** 200 * Set OddHeader 201 * 202 * @param string $pValue 203 * @return PHPExcel_Worksheet_HeaderFooter 204 */ 205 public function setOddHeader($pValue) { 206 $this->_oddHeader = $pValue; 207 return $this; 208 } 209 210 /** 211 * Get OddFooter 212 * 213 * @return string 214 */ 215 public function getOddFooter() { 216 return $this->_oddFooter; 217 } 218 219 /** 220 * Set OddFooter 221 * 222 * @param string $pValue 223 * @return PHPExcel_Worksheet_HeaderFooter 224 */ 225 public function setOddFooter($pValue) { 226 $this->_oddFooter = $pValue; 227 return $this; 228 } 229 230 /** 231 * Get EvenHeader 232 * 233 * @return string 234 */ 235 public function getEvenHeader() { 236 return $this->_evenHeader; 237 } 238 239 /** 240 * Set EvenHeader 241 * 242 * @param string $pValue 243 * @return PHPExcel_Worksheet_HeaderFooter 244 */ 245 public function setEvenHeader($pValue) { 246 $this->_evenHeader = $pValue; 247 return $this; 248 } 249 250 /** 251 * Get EvenFooter 252 * 253 * @return string 254 */ 255 public function getEvenFooter() { 256 return $this->_evenFooter; 257 } 258 259 /** 260 * Set EvenFooter 261 * 262 * @param string $pValue 263 * @return PHPExcel_Worksheet_HeaderFooter 264 */ 265 public function setEvenFooter($pValue) { 266 $this->_evenFooter = $pValue; 267 return $this; 268 } 269 270 /** 271 * Get FirstHeader 272 * 273 * @return string 274 */ 275 public function getFirstHeader() { 276 return $this->_firstHeader; 277 } 278 279 /** 280 * Set FirstHeader 281 * 282 * @param string $pValue 283 * @return PHPExcel_Worksheet_HeaderFooter 284 */ 285 public function setFirstHeader($pValue) { 286 $this->_firstHeader = $pValue; 287 return $this; 288 } 289 290 /** 291 * Get FirstFooter 292 * 293 * @return string 294 */ 295 public function getFirstFooter() { 296 return $this->_firstFooter; 297 } 298 299 /** 300 * Set FirstFooter 301 * 302 * @param string $pValue 303 * @return PHPExcel_Worksheet_HeaderFooter 304 */ 305 public function setFirstFooter($pValue) { 306 $this->_firstFooter = $pValue; 307 return $this; 308 } 309 310 /** 311 * Get DifferentOddEven 312 * 313 * @return boolean 314 */ 315 public function getDifferentOddEven() { 316 return $this->_differentOddEven; 317 } 318 319 /** 320 * Set DifferentOddEven 321 * 322 * @param boolean $pValue 323 * @return PHPExcel_Worksheet_HeaderFooter 324 */ 325 public function setDifferentOddEven($pValue = false) { 326 $this->_differentOddEven = $pValue; 327 return $this; 328 } 329 330 /** 331 * Get DifferentFirst 332 * 333 * @return boolean 334 */ 335 public function getDifferentFirst() { 336 return $this->_differentFirst; 337 } 338 339 /** 340 * Set DifferentFirst 341 * 342 * @param boolean $pValue 343 * @return PHPExcel_Worksheet_HeaderFooter 344 */ 345 public function setDifferentFirst($pValue = false) { 346 $this->_differentFirst = $pValue; 347 return $this; 348 } 349 350 /** 351 * Get ScaleWithDocument 352 * 353 * @return boolean 354 */ 355 public function getScaleWithDocument() { 356 return $this->_scaleWithDocument; 357 } 358 359 /** 360 * Set ScaleWithDocument 361 * 362 * @param boolean $pValue 363 * @return PHPExcel_Worksheet_HeaderFooter 364 */ 365 public function setScaleWithDocument($pValue = true) { 366 $this->_scaleWithDocument = $pValue; 367 return $this; 368 } 369 370 /** 371 * Get AlignWithMargins 372 * 373 * @return boolean 374 */ 375 public function getAlignWithMargins() { 376 return $this->_alignWithMargins; 377 } 378 379 /** 380 * Set AlignWithMargins 381 * 382 * @param boolean $pValue 383 * @return PHPExcel_Worksheet_HeaderFooter 384 */ 385 public function setAlignWithMargins($pValue = true) { 386 $this->_alignWithMargins = $pValue; 387 return $this; 388 } 389 390 /** 391 * Add header/footer image 392 * 393 * @param PHPExcel_Worksheet_HeaderFooterDrawing $image 394 * @param string $location 395 * @throws PHPExcel_Exception 396 * @return PHPExcel_Worksheet_HeaderFooter 397 */ 398 public function addImage(PHPExcel_Worksheet_HeaderFooterDrawing $image = null, $location = self::IMAGE_HEADER_LEFT) { 399 $this->_headerFooterImages[$location] = $image; 400 return $this; 401 } 402 403 /** 404 * Remove header/footer image 405 * 406 * @param string $location 407 * @throws PHPExcel_Exception 408 * @return PHPExcel_Worksheet_HeaderFooter 409 */ 410 public function removeImage($location = self::IMAGE_HEADER_LEFT) { 411 if (isset($this->_headerFooterImages[$location])) { 412 unset($this->_headerFooterImages[$location]); 413 } 414 return $this; 415 } 416 417 /** 418 * Set header/footer images 419 * 420 * @param PHPExcel_Worksheet_HeaderFooterDrawing[] $images 421 * @throws PHPExcel_Exception 422 * @return PHPExcel_Worksheet_HeaderFooter 423 */ 424 public function setImages($images) { 425 if (!is_array($images)) { 426 throw new PHPExcel_Exception('Invalid parameter!'); 427 } 428 429 $this->_headerFooterImages = $images; 430 return $this; 431 } 432 433 /** 434 * Get header/footer images 435 * 436 * @return PHPExcel_Worksheet_HeaderFooterDrawing[] 437 */ 438 public function getImages() { 439 // Sort array 440 $images = array(); 441 if (isset($this->_headerFooterImages[self::IMAGE_HEADER_LEFT])) $images[self::IMAGE_HEADER_LEFT] = $this->_headerFooterImages[self::IMAGE_HEADER_LEFT]; 442 if (isset($this->_headerFooterImages[self::IMAGE_HEADER_CENTER])) $images[self::IMAGE_HEADER_CENTER] = $this->_headerFooterImages[self::IMAGE_HEADER_CENTER]; 443 if (isset($this->_headerFooterImages[self::IMAGE_HEADER_RIGHT])) $images[self::IMAGE_HEADER_RIGHT] = $this->_headerFooterImages[self::IMAGE_HEADER_RIGHT]; 444 if (isset($this->_headerFooterImages[self::IMAGE_FOOTER_LEFT])) $images[self::IMAGE_FOOTER_LEFT] = $this->_headerFooterImages[self::IMAGE_FOOTER_LEFT]; 445 if (isset($this->_headerFooterImages[self::IMAGE_FOOTER_CENTER])) $images[self::IMAGE_FOOTER_CENTER] = $this->_headerFooterImages[self::IMAGE_FOOTER_CENTER]; 446 if (isset($this->_headerFooterImages[self::IMAGE_FOOTER_RIGHT])) $images[self::IMAGE_FOOTER_RIGHT] = $this->_headerFooterImages[self::IMAGE_FOOTER_RIGHT]; 447 $this->_headerFooterImages = $images; 448 449 return $this->_headerFooterImages; 450 } 451 452 /** 453 * Implement PHP __clone to create a deep clone, not just a shallow copy. 454 */ 455 public function __clone() { 456 $vars = get_object_vars($this); 457 foreach ($vars as $key => $value) { 458 if (is_object($value)) { 459 $this->$key = clone $value; 460 } else { 461 $this->$key = $value; 462 } 463 } 464 } 465 }
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 |