[ 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_RichText 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_RichText 31 * 32 * @category PHPExcel 33 * @package PHPExcel_RichText 34 * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) 35 */ 36 class PHPExcel_RichText implements PHPExcel_IComparable 37 { 38 /** 39 * Rich text elements 40 * 41 * @var PHPExcel_RichText_ITextElement[] 42 */ 43 private $_richTextElements; 44 45 /** 46 * Create a new PHPExcel_RichText instance 47 * 48 * @param PHPExcel_Cell $pCell 49 * @throws PHPExcel_Exception 50 */ 51 public function __construct(PHPExcel_Cell $pCell = null) 52 { 53 // Initialise variables 54 $this->_richTextElements = array(); 55 56 // Rich-Text string attached to cell? 57 if ($pCell !== NULL) { 58 // Add cell text and style 59 if ($pCell->getValue() != "") { 60 $objRun = new PHPExcel_RichText_Run($pCell->getValue()); 61 $objRun->setFont(clone $pCell->getParent()->getStyle($pCell->getCoordinate())->getFont()); 62 $this->addText($objRun); 63 } 64 65 // Set parent value 66 $pCell->setValueExplicit($this, PHPExcel_Cell_DataType::TYPE_STRING); 67 } 68 } 69 70 /** 71 * Add text 72 * 73 * @param PHPExcel_RichText_ITextElement $pText Rich text element 74 * @throws PHPExcel_Exception 75 * @return PHPExcel_RichText 76 */ 77 public function addText(PHPExcel_RichText_ITextElement $pText = null) 78 { 79 $this->_richTextElements[] = $pText; 80 return $this; 81 } 82 83 /** 84 * Create text 85 * 86 * @param string $pText Text 87 * @return PHPExcel_RichText_TextElement 88 * @throws PHPExcel_Exception 89 */ 90 public function createText($pText = '') 91 { 92 $objText = new PHPExcel_RichText_TextElement($pText); 93 $this->addText($objText); 94 return $objText; 95 } 96 97 /** 98 * Create text run 99 * 100 * @param string $pText Text 101 * @return PHPExcel_RichText_Run 102 * @throws PHPExcel_Exception 103 */ 104 public function createTextRun($pText = '') 105 { 106 $objText = new PHPExcel_RichText_Run($pText); 107 $this->addText($objText); 108 return $objText; 109 } 110 111 /** 112 * Get plain text 113 * 114 * @return string 115 */ 116 public function getPlainText() 117 { 118 // Return value 119 $returnValue = ''; 120 121 // Loop through all PHPExcel_RichText_ITextElement 122 foreach ($this->_richTextElements as $text) { 123 $returnValue .= $text->getText(); 124 } 125 126 // Return 127 return $returnValue; 128 } 129 130 /** 131 * Convert to string 132 * 133 * @return string 134 */ 135 public function __toString() 136 { 137 return $this->getPlainText(); 138 } 139 140 /** 141 * Get Rich Text elements 142 * 143 * @return PHPExcel_RichText_ITextElement[] 144 */ 145 public function getRichTextElements() 146 { 147 return $this->_richTextElements; 148 } 149 150 /** 151 * Set Rich Text elements 152 * 153 * @param PHPExcel_RichText_ITextElement[] $pElements Array of elements 154 * @throws PHPExcel_Exception 155 * @return PHPExcel_RichText 156 */ 157 public function setRichTextElements($pElements = null) 158 { 159 if (is_array($pElements)) { 160 $this->_richTextElements = $pElements; 161 } else { 162 throw new PHPExcel_Exception("Invalid PHPExcel_RichText_ITextElement[] array passed."); 163 } 164 return $this; 165 } 166 167 /** 168 * Get hash code 169 * 170 * @return string Hash code 171 */ 172 public function getHashCode() 173 { 174 $hashElements = ''; 175 foreach ($this->_richTextElements as $element) { 176 $hashElements .= $element->getHashCode(); 177 } 178 179 return md5( 180 $hashElements 181 . __CLASS__ 182 ); 183 } 184 185 /** 186 * Implement PHP __clone to create a deep clone, not just a shallow copy. 187 */ 188 public function __clone() 189 { 190 $vars = get_object_vars($this); 191 foreach ($vars as $key => $value) { 192 if (is_object($value)) { 193 $this->$key = clone $value; 194 } else { 195 $this->$key = $value; 196 } 197 } 198 } 199 }
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 |