| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 | 
							- <?php
 
- /**
 
-  * PHPExcel_RichText
 
-  *
 
-  * Copyright (c) 2006 - 2015 PHPExcel
 
-  *
 
-  * This library is free software; you can redistribute it and/or
 
-  * modify it under the terms of the GNU Lesser General Public
 
-  * License as published by the Free Software Foundation; either
 
-  * version 2.1 of the License, or (at your option) any later version.
 
-  *
 
-  * This library is distributed in the hope that it will be useful,
 
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
-  * Lesser General Public License for more details.
 
-  *
 
-  * You should have received a copy of the GNU Lesser General Public
 
-  * License along with this library; if not, write to the Free Software
 
-  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
-  *
 
-  * @category   PHPExcel
 
-  * @package    PHPExcel_RichText
 
-  * @copyright  Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel)
 
-  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
 
-  * @version    ##VERSION##, ##DATE##
 
-  */
 
- class PHPExcel_RichText implements PHPExcel_IComparable
 
- {
 
-     /**
 
-      * Rich text elements
 
-      *
 
-      * @var PHPExcel_RichText_ITextElement[]
 
-      */
 
-     private $richTextElements;
 
-     /**
 
-      * Create a new PHPExcel_RichText instance
 
-      *
 
-      * @param PHPExcel_Cell $pCell
 
-      * @throws PHPExcel_Exception
 
-      */
 
-     public function __construct(PHPExcel_Cell $pCell = null)
 
-     {
 
-         // Initialise variables
 
-         $this->richTextElements = array();
 
-         // Rich-Text string attached to cell?
 
-         if ($pCell !== null) {
 
-             // Add cell text and style
 
-             if ($pCell->getValue() != "") {
 
-                 $objRun = new PHPExcel_RichText_Run($pCell->getValue());
 
-                 $objRun->setFont(clone $pCell->getParent()->getStyle($pCell->getCoordinate())->getFont());
 
-                 $this->addText($objRun);
 
-             }
 
-             // Set parent value
 
-             $pCell->setValueExplicit($this, PHPExcel_Cell_DataType::TYPE_STRING);
 
-         }
 
-     }
 
-     /**
 
-      * Add text
 
-      *
 
-      * @param PHPExcel_RichText_ITextElement $pText Rich text element
 
-      * @throws PHPExcel_Exception
 
-      * @return PHPExcel_RichText
 
-      */
 
-     public function addText(PHPExcel_RichText_ITextElement $pText = null)
 
-     {
 
-         $this->richTextElements[] = $pText;
 
-         return $this;
 
-     }
 
-     /**
 
-      * Create text
 
-      *
 
-      * @param string $pText Text
 
-      * @return PHPExcel_RichText_TextElement
 
-      * @throws PHPExcel_Exception
 
-      */
 
-     public function createText($pText = '')
 
-     {
 
-         $objText = new PHPExcel_RichText_TextElement($pText);
 
-         $this->addText($objText);
 
-         return $objText;
 
-     }
 
-     /**
 
-      * Create text run
 
-      *
 
-      * @param string $pText Text
 
-      * @return PHPExcel_RichText_Run
 
-      * @throws PHPExcel_Exception
 
-      */
 
-     public function createTextRun($pText = '')
 
-     {
 
-         $objText = new PHPExcel_RichText_Run($pText);
 
-         $this->addText($objText);
 
-         return $objText;
 
-     }
 
-     /**
 
-      * Get plain text
 
-      *
 
-      * @return string
 
-      */
 
-     public function getPlainText()
 
-     {
 
-         // Return value
 
-         $returnValue = '';
 
-         // Loop through all PHPExcel_RichText_ITextElement
 
-         foreach ($this->richTextElements as $text) {
 
-             $returnValue .= $text->getText();
 
-         }
 
-         // Return
 
-         return $returnValue;
 
-     }
 
-     /**
 
-      * Convert to string
 
-      *
 
-      * @return string
 
-      */
 
-     public function __toString()
 
-     {
 
-         return $this->getPlainText();
 
-     }
 
-     /**
 
-      * Get Rich Text elements
 
-      *
 
-      * @return PHPExcel_RichText_ITextElement[]
 
-      */
 
-     public function getRichTextElements()
 
-     {
 
-         return $this->richTextElements;
 
-     }
 
-     /**
 
-      * Set Rich Text elements
 
-      *
 
-      * @param PHPExcel_RichText_ITextElement[] $pElements Array of elements
 
-      * @throws PHPExcel_Exception
 
-      * @return PHPExcel_RichText
 
-      */
 
-     public function setRichTextElements($pElements = null)
 
-     {
 
-         if (is_array($pElements)) {
 
-             $this->richTextElements = $pElements;
 
-         } else {
 
-             throw new PHPExcel_Exception("Invalid PHPExcel_RichText_ITextElement[] array passed.");
 
-         }
 
-         return $this;
 
-     }
 
-     /**
 
-      * Get hash code
 
-      *
 
-      * @return string    Hash code
 
-      */
 
-     public function getHashCode()
 
-     {
 
-         $hashElements = '';
 
-         foreach ($this->richTextElements as $element) {
 
-             $hashElements .= $element->getHashCode();
 
-         }
 
-         return md5(
 
-             $hashElements .
 
-             __CLASS__
 
-         );
 
-     }
 
-     /**
 
-      * Implement PHP __clone to create a deep clone, not just a shallow copy.
 
-      */
 
-     public function __clone()
 
-     {
 
-         $vars = get_object_vars($this);
 
-         foreach ($vars as $key => $value) {
 
-             if (is_object($value)) {
 
-                 $this->$key = clone $value;
 
-             } else {
 
-                 $this->$key = $value;
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |