fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [11859] api: update phpexcel from upstream


From: Sigurd Nes
Subject: [Fmsystem-commits] [11859] api: update phpexcel from upstream
Date: Mon, 24 Mar 2014 13:08:07 +0000

Revision: 11859
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=11859
Author:   sigurdne
Date:     2014-03-24 13:08:06 +0000 (Mon, 24 Mar 2014)
Log Message:
-----------
api: update phpexcel from upstream

Modified Paths:
--------------
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Autoloader.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/APC.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/CacheBase.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/DiscISAM.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/ICache.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/Igbinary.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/Memcache.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/Memory.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/MemoryGZip.php
    
trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/MemorySerialized.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/PHPTemp.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/SQLite.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/SQLite3.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/Wincache.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorageFactory.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/CalcEngine/CyclicReferenceStack.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/CalcEngine/Logger.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Database.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/DateTime.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Engineering.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Exception.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/ExceptionHandler.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Financial.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/FormulaParser.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/FormulaToken.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Function.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Functions.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Logical.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/LookupRef.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/MathTrig.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Statistical.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/TextData.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Token/Stack.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/AdvancedValueBinder.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/DataType.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/DataValidation.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/DefaultValueBinder.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/Hyperlink.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/IValueBinder.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/DataSeries.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/DataSeriesValues.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/Exception.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/Layout.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/Legend.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/PlotArea.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/Renderer/jpgraph.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/Title.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Comment.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/DocumentProperties.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/DocumentSecurity.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Exception.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/HashTable.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/IComparable.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/IOFactory.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/NamedRange.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Abstract.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/CSV.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/DefaultReadFilter.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Excel2003XML.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Excel2007/Chart.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Excel2007/Theme.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Excel2007.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Excel5/Escher.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Excel5.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Exception.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Gnumeric.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/HTML.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/IReadFilter.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/IReader.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/OOCalc.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/SYLK.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/ReferenceHelper.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/RichText/ITextElement.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/RichText/Run.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/RichText/TextElement.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/RichText.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Settings.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/CodePage.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/Date.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/Drawing.php
    
trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/Escher/DgContainer/SpgrContainer/SpContainer.php
    
trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/Escher/DgContainer/SpgrContainer.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/Escher/DgContainer.php
    
trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/Escher/DggContainer/BstoreContainer/BSE/Blip.php
    
trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/Escher/DggContainer/BstoreContainer/BSE.php
    
trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/Escher/DggContainer/BstoreContainer.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/Escher/DggContainer.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/Escher.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/Excel5.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/File.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/Font.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/OLE/ChainedBlockStream.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/OLERead.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/PasswordHasher.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/String.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/TimeZone.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/XMLWriter.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/ZipArchive.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/ZipStreamWrapper.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/trend/bestFitClass.php
    
trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/trend/exponentialBestFitClass.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/trend/linearBestFitClass.php
    
trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/trend/logarithmicBestFitClass.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/trend/polynomialBestFitClass.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/trend/powerBestFitClass.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Shared/trend/trendClass.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Style/Alignment.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Style/Border.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Style/Borders.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Style/Color.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Style/Conditional.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Style/Fill.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Style/Font.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Style/NumberFormat.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Style/Protection.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Style/Supervisor.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Style.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Worksheet/AutoFilter/Column/Rule.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Worksheet/AutoFilter/Column.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Worksheet/AutoFilter.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Worksheet/BaseDrawing.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Worksheet/CellIterator.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Worksheet/ColumnDimension.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Worksheet/Drawing/Shadow.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Worksheet/Drawing.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Worksheet/HeaderFooter.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Worksheet/HeaderFooterDrawing.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Worksheet/MemoryDrawing.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Worksheet/PageMargins.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Worksheet/PageSetup.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Worksheet/Protection.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Worksheet/Row.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Worksheet/RowDimension.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Worksheet/RowIterator.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Worksheet/SheetView.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Worksheet.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/WorksheetIterator.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Abstract.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/CSV.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel2007/Chart.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel2007/Comments.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel2007/ContentTypes.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel2007/DocProps.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel2007/Drawing.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel2007/Rels.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel2007/StringTable.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel2007/Style.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel2007/Theme.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel2007/Workbook.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel2007/Worksheet.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel2007/WriterPart.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel2007.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel5/BIFFwriter.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel5/Escher.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel5/Font.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel5/Parser.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel5/Workbook.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel5/Worksheet.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel5/Xf.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel5.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Exception.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/HTML.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/IWriter.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/PDF/Core.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/PDF/DomPDF.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/PDF/mPDF.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/PDF/tcPDF.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/PDF.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/cs/config
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/cs/functions
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/da/config
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/da/functions
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/de/config
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/de/functions
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/en/uk/config
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/es/config
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/es/functions
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/fi/config
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/fi/functions
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/fr/config
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/fr/functions
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/hu/config
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/hu/functions
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/it/config
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/it/functions
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/nl/config
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/nl/functions
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/no/config
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/no/functions
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/pl/config
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/pl/functions
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/pt/br/config
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/pt/config
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/ru/config
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/ru/functions
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/sv/config
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/tr/config
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/tr/functions
    trunk/phpgwapi/inc/phpexcel/PHPExcel.php
    trunk/phpgwapi/inc/phpexcel/install.txt

Added Paths:
-----------
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Excel5/MD5.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Excel5/RC4.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel2007/RelsRibbon.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/Writer/Excel2007/RelsVBA.php
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/bg/
    trunk/phpgwapi/inc/phpexcel/PHPExcel/locale/bg/config

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Autoloader.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Autoloader.php 2014-03-24 12:36:21 UTC 
(rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Autoloader.php 2014-03-24 13:08:06 UTC 
(rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 PHPExcel_Autoloader::Register();
@@ -41,7 +41,7 @@
  *
  * @category    PHPExcel
  * @package     PHPExcel
- * @copyright   Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright   Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Autoloader
 {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/APC.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/APC.php    
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/APC.php    
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_CachedObjectStorage_APC extends 
PHPExcel_CachedObjectStorage_CacheBase implements 
PHPExcel_CachedObjectStorage_ICache {
 
@@ -61,7 +61,7 @@
      * @throws  PHPExcel_Exception
      */
     protected function _storeData() {
-        if ($this->_currentCellIsDirty) {
+        if ($this->_currentCellIsDirty && !empty($this->_currentObjectID)) {
             $this->_currentObject->detach();
 
             if 
(!apc_store($this->_cachePrefix.$this->_currentObjectID.'.cache',serialize($this->_currentObject),$this->_cacheTime))
 {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/CacheBase.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/CacheBase.php      
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/CacheBase.php      
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 abstract class PHPExcel_CachedObjectStorage_CacheBase {
 
@@ -254,23 +254,52 @@
        /**
         * Get highest worksheet column
         *
-        * @return string Highest column name
+     * @param   string     $row        Return the highest column for the 
specified row,
+     *                                     or the highest column of any row if 
no row number is passed
+        * @return  string     Highest column name
         */
-       public function getHighestColumn()
+       public function getHighestColumn($row = null)
        {
-               $colRow = $this->getHighestRowAndColumn();
-               return $colRow['column'];
-       }
+        if ($row == null) {
+               $colRow = $this->getHighestRowAndColumn();
+               return $colRow['column'];
+        }
 
+        $columnList = array(1);
+        foreach ($this->getCellList() as $coord) {
+            sscanf($coord,'%[A-Z]%d', $c, $r);
+            if ($r != $row) {
+                continue;
+            }
+            $columnList[] = PHPExcel_Cell::columnIndexFromString($c);
+        }
+        return PHPExcel_Cell::stringFromColumnIndex(max($columnList) - 1);
+    }
+
        /**
         * Get highest worksheet row
         *
-        * @return int Highest row number
+     * @param   string     $column     Return the highest row for the 
specified column,
+     *                                     or the highest row of any column if 
no column letter is passed
+        * @return  int        Highest row number
         */
-       public function getHighestRow()
+       public function getHighestRow($column = null)
        {
-               $colRow = $this->getHighestRowAndColumn();
-               return $colRow['row'];
+        if ($column == null) {
+               $colRow = $this->getHighestRowAndColumn();
+               return $colRow['row'];
+        }
+
+        $rowList = array(0);
+        foreach ($this->getCellList() as $coord) {
+            sscanf($coord,'%[A-Z]%d', $c, $r);
+            if ($c != $column) {
+                continue;
+            }
+            $rowList[] = $r;
+        }
+
+        return max($rowList);
        }
 
 

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/DiscISAM.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/DiscISAM.php       
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/DiscISAM.php       
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_CachedObjectStorage_DiscISAM extends 
PHPExcel_CachedObjectStorage_CacheBase implements 
PHPExcel_CachedObjectStorage_ICache {
 
@@ -65,7 +65,7 @@
      * @throws PHPExcel_Exception
      */
        protected function _storeData() {
-               if ($this->_currentCellIsDirty) {
+               if ($this->_currentCellIsDirty && 
!empty($this->_currentObjectID)) {
                        $this->_currentObject->detach();
 
                        fseek($this->_fileHandle,0,SEEK_END);

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/ICache.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/ICache.php 
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/ICache.php 
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 interface PHPExcel_CachedObjectStorage_ICache
 {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/Igbinary.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/Igbinary.php       
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/Igbinary.php       
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_CachedObjectStorage_Igbinary extends 
PHPExcel_CachedObjectStorage_CacheBase implements 
PHPExcel_CachedObjectStorage_ICache {
 
@@ -43,7 +43,7 @@
      * @throws PHPExcel_Exception
      */
        protected function _storeData() {
-               if ($this->_currentCellIsDirty) {
+               if ($this->_currentCellIsDirty && 
!empty($this->_currentObjectID)) {
                        $this->_currentObject->detach();
 
                        $this->_cellCache[$this->_currentObjectID] = 
igbinary_serialize($this->_currentObject);

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/Memcache.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/Memcache.php       
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/Memcache.php       
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_CachedObjectStorage_Memcache extends 
PHPExcel_CachedObjectStorage_CacheBase implements 
PHPExcel_CachedObjectStorage_ICache {
 
@@ -65,7 +65,7 @@
      * @throws PHPExcel_Exception
      */
        protected function _storeData() {
-               if ($this->_currentCellIsDirty) {
+               if ($this->_currentCellIsDirty && 
!empty($this->_currentObjectID)) {
                        $this->_currentObject->detach();
 
                        $obj = serialize($this->_currentObject);

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/Memory.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/Memory.php 
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/Memory.php 
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_CachedObjectStorage_Memory extends 
PHPExcel_CachedObjectStorage_CacheBase implements 
PHPExcel_CachedObjectStorage_ICache {
 
@@ -96,7 +96,7 @@
                $newCollection = array();
                foreach($this->_cellCache as $k => &$cell) {
                        $newCollection[$k] = clone $cell;
-                       $newCollection[$k]->attach($parent);
+                       $newCollection[$k]->attach($this);
                }
 
                $this->_cellCache = $newCollection;

Modified: 
trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/MemoryGZip.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/MemoryGZip.php     
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/MemoryGZip.php     
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_CachedObjectStorage_MemoryGZip extends 
PHPExcel_CachedObjectStorage_CacheBase implements 
PHPExcel_CachedObjectStorage_ICache {
 
@@ -43,7 +43,7 @@
      * @throws PHPExcel_Exception
      */
        protected function _storeData() {
-               if ($this->_currentCellIsDirty) {
+               if ($this->_currentCellIsDirty && 
!empty($this->_currentObjectID)) {
                        $this->_currentObject->detach();
 
                        $this->_cellCache[$this->_currentObjectID] = 
gzdeflate(serialize($this->_currentObject));

Modified: 
trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/MemorySerialized.php
===================================================================
--- 
trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/MemorySerialized.php   
    2014-03-24 12:36:21 UTC (rev 11858)
+++ 
trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/MemorySerialized.php   
    2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_CachedObjectStorage_MemorySerialized extends 
PHPExcel_CachedObjectStorage_CacheBase implements 
PHPExcel_CachedObjectStorage_ICache {
 
@@ -43,7 +43,7 @@
      * @throws PHPExcel_Exception
      */
        protected function _storeData() {
-               if ($this->_currentCellIsDirty) {
+               if ($this->_currentCellIsDirty && 
!empty($this->_currentObjectID)) {
                        $this->_currentObject->detach();
 
                        $this->_cellCache[$this->_currentObjectID] = 
serialize($this->_currentObject);

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/PHPTemp.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/PHPTemp.php        
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/PHPTemp.php        
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_CachedObjectStorage_PHPTemp extends 
PHPExcel_CachedObjectStorage_CacheBase implements 
PHPExcel_CachedObjectStorage_ICache {
 
@@ -57,7 +57,7 @@
      * @throws PHPExcel_Exception
      */
        protected function _storeData() {
-               if ($this->_currentCellIsDirty) {
+               if ($this->_currentCellIsDirty && 
!empty($this->_currentObjectID)) {
                        $this->_currentObject->detach();
 
                        fseek($this->_fileHandle,0,SEEK_END);

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/SQLite.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/SQLite.php 
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/SQLite.php 
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_CachedObjectStorage_SQLite extends 
PHPExcel_CachedObjectStorage_CacheBase implements 
PHPExcel_CachedObjectStorage_ICache {
 
@@ -57,7 +57,7 @@
      * @throws PHPExcel_Exception
      */
        protected function _storeData() {
-               if ($this->_currentCellIsDirty) {
+               if ($this->_currentCellIsDirty && 
!empty($this->_currentObjectID)) {
                        $this->_currentObject->detach();
 
                        if (!$this->_DBHandle->queryExec("INSERT OR REPLACE 
INTO kvp_".$this->_TableName." 
VALUES('".$this->_currentObjectID."','".sqlite_escape_string(serialize($this->_currentObject))."')"))

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/SQLite3.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/SQLite3.php        
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/SQLite3.php        
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_CachedObjectStorage_SQLite3 extends 
PHPExcel_CachedObjectStorage_CacheBase implements 
PHPExcel_CachedObjectStorage_ICache {
 
@@ -85,7 +85,7 @@
      * @throws PHPExcel_Exception
      */
        protected function _storeData() {
-               if ($this->_currentCellIsDirty) {
+               if ($this->_currentCellIsDirty && 
!empty($this->_currentObjectID)) {
                        $this->_currentObject->detach();
 
                        
$this->_insertQuery->bindValue('id',$this->_currentObjectID,SQLITE3_TEXT);

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/Wincache.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/Wincache.php       
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorage/Wincache.php       
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_CachedObjectStorage_Wincache extends 
PHPExcel_CachedObjectStorage_CacheBase implements 
PHPExcel_CachedObjectStorage_ICache {
 
@@ -58,7 +58,7 @@
      * @throws PHPExcel_Exception
      */
        protected function _storeData() {
-               if ($this->_currentCellIsDirty) {
+               if ($this->_currentCellIsDirty && 
!empty($this->_currentObjectID)) {
                        $this->_currentObject->detach();
 
                        $obj = serialize($this->_currentObject);

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorageFactory.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorageFactory.php 
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/CachedObjectStorageFactory.php 
2014-03-24 13:08:06 UTC (rev 11859)
@@ -3,7 +3,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -21,9 +21,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_CachedObjectStorage
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -32,7 +32,7 @@
  *
  * @category    PHPExcel
  * @package        PHPExcel_CachedObjectStorage
- * @copyright    Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright    Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_CachedObjectStorageFactory
 {

Modified: 
trunk/phpgwapi/inc/phpexcel/PHPExcel/CalcEngine/CyclicReferenceStack.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/CalcEngine/CyclicReferenceStack.php    
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/CalcEngine/CyclicReferenceStack.php    
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel_CalcEngine_CyclicReferenceStack
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_CalcEngine_CyclicReferenceStack {
 

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/CalcEngine/Logger.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/CalcEngine/Logger.php  2014-03-24 
12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/CalcEngine/Logger.php  2014-03-24 
13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 /**
@@ -30,7 +30,7 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_CalcEngine_Logger {
 

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Database.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Database.php       
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Database.php       
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license            http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   
LGPL
- * @version            1.7.9, 2013-06-02
+ * @version            1.8.0, 2014-03-02
  */
 
 
@@ -41,7 +41,7 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Calculation_Database {
 

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/DateTime.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/DateTime.php       
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/DateTime.php       
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license            http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   
LGPL
- * @version            1.7.9, 2013-06-02
+ * @version            1.8.0, 2014-03-02
  */
 
 
@@ -41,7 +41,7 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Calculation_DateTime {
 

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Engineering.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Engineering.php    
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Engineering.php    
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license            http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   
LGPL
- * @version            1.7.9, 2013-06-02
+ * @version            1.8.0, 2014-03-02
  */
 
 
@@ -45,7 +45,7 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Calculation_Engineering {
 

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Exception.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Exception.php      
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Exception.php      
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Calculation_Exception extends PHPExcel_Exception {
        /**

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/ExceptionHandler.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/ExceptionHandler.php       
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/ExceptionHandler.php       
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 /**
@@ -30,7 +30,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Calculation_ExceptionHandler {
        /**

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Financial.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Financial.php      
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Financial.php      
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license            http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   
LGPL
- * @version            1.7.9, 2013-06-02
+ * @version            1.8.0, 2014-03-02
  */
 
 
@@ -48,7 +48,7 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Calculation_Financial {
 

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/FormulaParser.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/FormulaParser.php  
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/FormulaParser.php  
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -54,7 +54,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Calculation_FormulaParser {
        /* Character constants */

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/FormulaToken.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/FormulaToken.php   
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/FormulaToken.php   
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -55,7 +55,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Calculation_FormulaToken {
        /* Token types */

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Function.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Function.php       
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Function.php       
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Calculation_Function {
        /* Function categories */

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Functions.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Functions.php      
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Functions.php      
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license            http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   
LGPL
- * @version            1.7.9, 2013-06-02
+ * @version            1.8.0, 2014-03-02
  */
 
 
@@ -54,7 +54,7 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Calculation_Functions {
 
@@ -270,7 +270,7 @@
         *
         * @access      public
         * @category Error Returns
-        * @return      string  #REF!
+        * @return      string  #NULL!
         */
        public static function NULL() {
                return self::$_errorCodes['null'];
@@ -316,7 +316,12 @@
                } else {
                        preg_match('/([<>=]+)(.*)/',$condition,$matches);
                        list(,$operator,$operand) = $matches;
-                       if (!is_numeric($operand)) { $operand = 
PHPExcel_Calculation::_wrapResult(strtoupper($operand)); }
+
+                       if (!is_numeric($operand)) {
+                               $operand = str_replace('"', '""', $operand);
+                               $operand = 
PHPExcel_Calculation::_wrapResult(strtoupper($operand));
+                       }
+
                        return $operator.$operand;
                }
        }       //      function _ifCondition()
@@ -491,7 +496,7 @@
         * @return      string  Version information
         */
        public static function VERSION() {
-               return 'PHPExcel 1.7.9, 2013-06-02';
+               return 'PHPExcel 1.8.0, 2014-03-02';
        }       //      function VERSION()
 
 
@@ -689,101 +694,7 @@
        }       //      function atanh()
 }
 
-if (!function_exists('money_format')) {
-       function money_format($format, $number) {
-               $regex = array( 
'/%((?:[\^!\-]|\+|\(|\=.)*)([0-9]+)?(?:#([0-9]+))?',
-                                                '(?:\.([0-9]+))?([in%])/'
-                                         );
-               $regex = implode('', $regex);
-               if (setlocale(LC_MONETARY, null) == '') {
-                       setlocale(LC_MONETARY, '');
-               }
-               $locale = localeconv();
-               $number = floatval($number);
-               if (!preg_match($regex, $format, $fmatch)) {
-                       trigger_error("No format specified or invalid format", 
E_USER_WARNING);
-                       return $number;
-               }
-               $flags = array( 'fillchar'      => preg_match('/\=(.)/', 
$fmatch[1], $match) ? $match[1] : ' ',
-                                               'nogroup'       => 
preg_match('/\^/', $fmatch[1]) > 0,
-                                               'usesignal'     => 
preg_match('/\+|\(/', $fmatch[1], $match) ? $match[0] : '+',
-                                               'nosimbol'      => 
preg_match('/\!/', $fmatch[1]) > 0,
-                                               'isleft'        => 
preg_match('/\-/', $fmatch[1]) > 0
-                                         );
-               $width  = trim($fmatch[2]) ? (int)$fmatch[2] : 0;
-               $left   = trim($fmatch[3]) ? (int)$fmatch[3] : 0;
-               $right  = trim($fmatch[4]) ? (int)$fmatch[4] : 
$locale['int_frac_digits'];
-               $conversion = $fmatch[5];
-               $positive = true;
-               if ($number < 0) {
-                       $positive = false;
-                       $number *= -1;
-               }
-               $letter = $positive ? 'p' : 'n';
-               $prefix = $suffix = $cprefix = $csuffix = $signal = '';
-               if (!$positive) {
-                       $signal = $locale['negative_sign'];
-                       switch (true) {
-                               case $locale['n_sign_posn'] == 0 || 
$flags['usesignal'] == '(':
-                                       $prefix = '(';
-                                       $suffix = ')';
-                                       break;
-                               case $locale['n_sign_posn'] == 1:
-                                       $prefix = $signal;
-                                       break;
-                               case $locale['n_sign_posn'] == 2:
-                                       $suffix = $signal;
-                                       break;
-                               case $locale['n_sign_posn'] == 3:
-                                       $cprefix = $signal;
-                                       break;
-                               case $locale['n_sign_posn'] == 4:
-                                       $csuffix = $signal;
-                                       break;
-                       }
-               }
-               if (!$flags['nosimbol']) {
-                       $currency = $cprefix;
-                       $currency .= ($conversion == 'i' ? 
$locale['int_curr_symbol'] : $locale['currency_symbol']);
-                       $currency .= $csuffix;
-                       $currency = iconv('ISO-8859-1','UTF-8',$currency);
-               } else {
-                       $currency = '';
-               }
-               $space = $locale["{$letter}_sep_by_space"] ? ' ' : '';
 
-               if (!isset($locale['mon_decimal_point']) || 
empty($locale['mon_decimal_point'])) {
-                       $locale['mon_decimal_point'] = 
(!isset($locale['decimal_point']) || empty($locale['decimal_point'])) ?
-                                                                               
        $locale['decimal_point'] :
-                                                                               
        '.';
-               }
-
-               $number = number_format($number, $right, 
$locale['mon_decimal_point'], $flags['nogroup'] ? '' : 
$locale['mon_thousands_sep'] );
-               $number = explode($locale['mon_decimal_point'], $number);
-
-               $n = strlen($prefix) + strlen($currency);
-               if ($left > 0 && $left > $n) {
-                       if ($flags['isleft']) {
-                               $number[0] .= str_repeat($flags['fillchar'], 
$left - $n);
-                       } else {
-                               $number[0] = str_repeat($flags['fillchar'], 
$left - $n) . $number[0];
-                       }
-               }
-               $number = implode($locale['mon_decimal_point'], $number);
-               if ($locale["{$letter}_cs_precedes"]) {
-                       $number = $prefix . $currency . $space . $number . 
$suffix;
-               } else {
-                       $number = $prefix . $number . $space . $currency . 
$suffix;
-               }
-               if ($width > 0) {
-                       $number = str_pad($number, $width, $flags['fillchar'], 
$flags['isleft'] ? STR_PAD_RIGHT : STR_PAD_LEFT);
-               }
-               $format = str_replace($fmatch[0], $number, $format);
-               return $format;
-       }       //      function money_format()
-}
-
-
 //
 //     Strangely, PHP doesn't have a mb_str_replace multibyte function
 //     As we'll only ever use this function with UTF-8 characters, we can 
simply "hard-code" the character set

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Logical.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Logical.php        
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Logical.php        
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license            http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   
LGPL
- * @version            1.7.9, 2013-06-02
+ * @version            1.8.0, 2014-03-02
  */
 
 
@@ -41,7 +41,7 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Calculation_Logical {
 

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/LookupRef.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/LookupRef.php      
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/LookupRef.php      
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license            http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   
LGPL
- * @version            1.7.9, 2013-06-02
+ * @version            1.8.0, 2014-03-02
  */
 
 
@@ -41,7 +41,7 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Calculation_LookupRef {
 
@@ -316,9 +316,9 @@
                        if (strpos($cellAddress,'!') !== FALSE) {
                                list($sheetName, $cellAddress) = 
explode('!',$cellAddress);
                                $sheetName = trim($sheetName, "'");
-                               $pSheet = 
$pCell->getParent()->getParent()->getSheetByName($sheetName);
+                               $pSheet = 
$pCell->getWorksheet()->getParent()->getSheetByName($sheetName);
                        } else {
-                               $pSheet = $pCell->getParent();
+                               $pSheet = $pCell->getWorksheet();
                        }
 
                        return 
PHPExcel_Calculation::getInstance()->extractNamedRange($cellAddress, $pSheet, 
FALSE);
@@ -327,9 +327,9 @@
                if (strpos($cellAddress,'!') !== FALSE) {
                        list($sheetName,$cellAddress) = 
explode('!',$cellAddress);
                        $sheetName = trim($sheetName, "'");
-                       $pSheet = 
$pCell->getParent()->getParent()->getSheetByName($sheetName);
+                       $pSheet = 
$pCell->getWorksheet()->getParent()->getSheetByName($sheetName);
                } else {
-                       $pSheet = $pCell->getParent();
+                       $pSheet = $pCell->getWorksheet();
                }
 
                return 
PHPExcel_Calculation::getInstance()->extractCellRange($cellAddress, $pSheet, 
FALSE);
@@ -421,9 +421,9 @@
                }
 
                if ($sheetName !== NULL) {
-                       $pSheet = 
$pCell->getParent()->getParent()->getSheetByName($sheetName);
+                       $pSheet = 
$pCell->getWorksheet()->getParent()->getSheetByName($sheetName);
                } else {
-                       $pSheet = $pCell->getParent();
+                       $pSheet = $pCell->getWorksheet();
                }
 
                return 
PHPExcel_Calculation::getInstance()->extractCellRange($cellAddress, $pSheet, 
False);
@@ -462,7 +462,7 @@
                        return PHPExcel_Calculation_Functions::VALUE();
                }
                $chosenEntry = floor($chosenEntry);
-               if (($chosenEntry <= 0) || ($chosenEntry > $entryCount)) {
+               if (($chosenEntry < 0) || ($chosenEntry > $entryCount)) {
                        return PHPExcel_Calculation_Functions::VALUE();
                }
 
@@ -721,7 +721,8 @@
 
                $rowNumber = $rowValue = False;
                foreach($lookup_array as $rowKey => $rowData) {
-                       if (strtolower($rowData[$firstColumn]) > 
strtolower($lookup_value)) {
+                       if ((is_numeric($lookup_value) && 
is_numeric($rowData[$firstColumn]) && ($rowData[$firstColumn] > $lookup_value)) 
||
+                               (!is_numeric($lookup_value) && 
!is_numeric($rowData[$firstColumn]) && (strtolower($rowData[$firstColumn]) > 
strtolower($lookup_value)))) {
                                break;
                        }
                        $rowNumber = $rowKey;
@@ -734,7 +735,11 @@
                                return PHPExcel_Calculation_Functions::NA();
                        } else {
                                //      otherwise return the appropriate value
-                               return $lookup_array[$rowNumber][$returnColumn];
+                               $result = 
$lookup_array[$rowNumber][$returnColumn];
+                               if ((is_numeric($lookup_value) && 
is_numeric($result)) ||
+                                       (!is_numeric($lookup_value) && 
!is_numeric($result))) {
+                                       return $result;
+                               }
                        }
                }
 
@@ -742,6 +747,70 @@
        }       //      function VLOOKUP()
 
 
+/**
+    * HLOOKUP
+    * The HLOOKUP function searches for value in the top-most row of 
lookup_array and returns the value in the same column based on the index_number.
+    * @param    lookup_value    The value that you want to match in 
lookup_array
+    * @param    lookup_array    The range of cells being searched
+    * @param    index_number    The row number in table_array from which the 
matching value must be returned. The first row is 1.
+    * @param    not_exact_match Determines if you are looking for an exact 
match based on lookup_value.
+    * @return   mixed           The value of the found cell
+    */
+    public static function HLOOKUP($lookup_value, $lookup_array, 
$index_number, $not_exact_match=true) {
+        $lookup_value   = 
PHPExcel_Calculation_Functions::flattenSingleValue($lookup_value);
+        $index_number   = 
PHPExcel_Calculation_Functions::flattenSingleValue($index_number);
+        $not_exact_match    = 
PHPExcel_Calculation_Functions::flattenSingleValue($not_exact_match);
+
+        // index_number must be greater than or equal to 1
+        if ($index_number < 1) {
+            return PHPExcel_Calculation_Functions::VALUE();
+        }
+
+        // index_number must be less than or equal to the number of columns in 
lookup_array
+        if ((!is_array($lookup_array)) || (empty($lookup_array))) {
+            return PHPExcel_Calculation_Functions::REF();
+        } else {
+            $f = array_keys($lookup_array);
+            $firstRow = array_pop($f);
+            if ((!is_array($lookup_array[$firstRow])) || ($index_number > 
count($lookup_array[$firstRow]))) {
+                return PHPExcel_Calculation_Functions::REF();
+            } else {
+                $columnKeys = array_keys($lookup_array[$firstRow]);
+                                $firstkey = $f[0] - 1;
+                $returnColumn = $firstkey + $index_number;
+                $firstColumn = array_shift($f);
+            }
+        }
+
+        if (!$not_exact_match) {
+            $firstRowH = asort($lookup_array[$firstColumn]);
+        }
+
+        $rowNumber = $rowValue = False;
+        foreach($lookup_array[$firstColumn] as $rowKey => $rowData) {
+                       if ((is_numeric($lookup_value) && is_numeric($rowData) 
&& ($rowData > $lookup_value)) ||
+                               (!is_numeric($lookup_value) && 
!is_numeric($rowData) && (strtolower($rowData) > strtolower($lookup_value)))) {
+                break;
+            }
+            $rowNumber = $rowKey;
+            $rowValue = $rowData;
+        }
+
+        if ($rowNumber !== false) {
+            if ((!$not_exact_match) && ($rowValue != $lookup_value)) {
+                //  if an exact match is required, we have what we need to 
return an appropriate response
+                return PHPExcel_Calculation_Functions::NA();
+            } else {
+                //  otherwise return the appropriate value
+                $result = $lookup_array[$returnColumn][$rowNumber];
+                               return $result;
+            }
+        }
+
+        return PHPExcel_Calculation_Functions::NA();
+    }   //  function HLOOKUP()
+
+
        /**
         * LOOKUP
         * The LOOKUP function searches for value either from a one-row or 
one-column range or from an array.

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/MathTrig.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/MathTrig.php       
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/MathTrig.php       
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license            http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   
LGPL
- * @version            1.7.9, 2013-06-02
+ * @version            1.8.0, 2014-03-02
  */
 
 
@@ -41,7 +41,7 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Calculation_MathTrig {
 
@@ -1164,7 +1164,11 @@
                $condition = 
PHPExcel_Calculation_Functions::_ifCondition($condition);
                // Loop through arguments
                foreach ($aArgs as $key => $arg) {
-                       if (!is_numeric($arg)) { $arg = 
PHPExcel_Calculation::_wrapResult(strtoupper($arg)); }
+                       if (!is_numeric($arg)) {
+                               $arg = str_replace('"', '""', $arg);
+                               $arg = 
PHPExcel_Calculation::_wrapResult(strtoupper($arg));
+                       }
+
                        $testCondition = '='.$arg.$condition;
                        if 
(PHPExcel_Calculation::getInstance()->_calculateFormulaValue($testCondition)) {
                                // Is it a value within our criteria

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Statistical.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Statistical.php    
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Statistical.php    
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license            http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   
LGPL
- * @version            1.7.9, 2013-06-02
+ * @version            1.8.0, 2014-03-02
  */
 
 
@@ -57,7 +57,7 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Calculation_Statistical {
 

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/TextData.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/TextData.php       
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/TextData.php       
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license            http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   
LGPL
- * @version            1.7.9, 2013-06-02
+ * @version            1.8.0, 2014-03-02
  */
 
 
@@ -41,7 +41,7 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Calculation_TextData {
 
@@ -208,16 +208,17 @@
                }
                $decimals = floor($decimals);
 
+               $mask = '$#,##0';
                if ($decimals > 0) {
-                       return money_format('%.'.$decimals.'n',$value);
+                       $mask .= '.' . str_repeat('0',$decimals);
                } else {
                        $round = pow(10,abs($decimals));
                        if ($value < 0) { $round = 0-$round; }
-                       $value = 
PHPExcel_Calculation_MathTrig::MROUND($value,$round);
-                       //      The implementation of money_format used if the 
standard PHP function is not available can't handle decimal places of 0,
-                       //              so we display to 1 dp and chop off that 
character and the decimal separator using substr
-                       return substr(money_format('%.1n',$value),0,-2);
+                       $value = PHPExcel_Calculation_MathTrig::MROUND($value, 
$round);
                }
+
+               return PHPExcel_Style_NumberFormat::toFormattedString($value, 
$mask);
+
        }       //      function DOLLAR()
 
 

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Token/Stack.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Token/Stack.php    
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Token/Stack.php    
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel_Calculation_Token_Stack
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Calculation_Token_Stack {
 

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation.php        2014-03-24 
12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Calculation.php        2014-03-24 
13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -57,7 +57,7 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Calculation
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Calculation {
 
@@ -841,7 +841,7 @@
                                                                                
                 'argumentCount'        =>      '1,2'
                                                                                
                ),
                                'HLOOKUP'                               => 
array('category'                     =>      
PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE,
-                                                                               
                 'functionCall'         =>      
'PHPExcel_Calculation_Functions::DUMMY',
+                                                                               
                 'functionCall'         =>      
'PHPExcel_Calculation_LookupRef::HLOOKUP',
                                                                                
                 'argumentCount'        =>      '3,4'
                                                                                
                ),
                                'HOUR'                                  => 
array('category'                     =>      
PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME,
@@ -2738,10 +2738,10 @@
                $pCellParent = ($pCell !== NULL) ? $pCell->getWorksheet() : 
NULL;
 
                $regexpMatchString = '/^('.self::CALCULATION_REGEXP_FUNCTION.
+                                                          
'|'.self::CALCULATION_REGEXP_CELLREF.
                                                           
'|'.self::CALCULATION_REGEXP_NUMBER.
                                                           
'|'.self::CALCULATION_REGEXP_STRING.
                                                           
'|'.self::CALCULATION_REGEXP_OPENBRACE.
-                                                          
'|'.self::CALCULATION_REGEXP_CELLREF.
                                                           
'|'.self::CALCULATION_REGEXP_NAMEDRANGE.
                                                           
'|'.self::CALCULATION_REGEXP_ERROR.
                                                         ')/si';
@@ -3324,7 +3324,8 @@
 //                                                     echo 
'$cellRef='.$cellRef.' in worksheet '.$matches[2].'<br />';
                                                        
$this->_debugLog->writeDebugLog('Evaluating Cell ', $cellRef, ' in worksheet ', 
$matches[2]);
                                                        if ($pCellParent !== 
NULL) {
-                                                               if 
($this->_workbook->getSheetByName($matches[2])->cellExists($cellRef)) {
+                                                               $cellSheet = 
$this->_workbook->getSheetByName($matches[2]);
+                                                               if ($cellSheet 
&& $cellSheet->cellExists($cellRef)) {
                                                                        
$cellValue = $this->extractCellRange($cellRef, 
$this->_workbook->getSheetByName($matches[2]), FALSE);
                                                                        
$pCell->attach($pCellParent);
                                                                } else {
@@ -3486,6 +3487,13 @@
 
 
        private function _validateBinaryOperand($cellID, &$operand, &$stack) {
+               if (is_array($operand)) {
+                       if ((count($operand, COUNT_RECURSIVE) - 
count($operand)) == 1) {
+                               do {
+                                       $operand = array_pop($operand);
+                               } while (is_array($operand));
+                       }
+               }
                //      Numbers, matrices and booleans can pass straight 
through, as they're already valid
                if (is_string($operand)) {
                        //      We only need special validations for the 
operand if it is a string
@@ -3550,15 +3558,37 @@
                if (is_string($operand1) && $operand1 > '' && $operand1{0} == 
'"') { $operand1 = self::_unwrapResult($operand1); }
                if (is_string($operand2) && $operand2 > '' && $operand2{0} == 
'"') { $operand2 = self::_unwrapResult($operand2); }
 
+               // Use case insensitive comparaison if not OpenOffice mode
+               if (PHPExcel_Calculation_Functions::getCompatibilityMode() != 
PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE)
+               {
+                       if (is_string($operand1)) {
+                               $operand1 = strtoupper($operand1);
+                       }
+
+                       if (is_string($operand2)) {
+                               $operand2 = strtoupper($operand2);
+                       }
+               }
+
+               $useLowercaseFirstComparison = is_string($operand1) && 
is_string($operand2) && PHPExcel_Calculation_Functions::getCompatibilityMode() 
== PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE;
+
                //      execute the necessary operation
                switch ($operation) {
                        //      Greater than
                        case '>':
-                               $result = ($operand1 > $operand2);
+                               if ($useLowercaseFirstComparison) {
+                                       $result = 
$this->strcmpLowercaseFirst($operand1, $operand2) > 0;
+                               } else {
+                                       $result = ($operand1 > $operand2);
+                               }
                                break;
                        //      Less than
                        case '<':
-                               $result = ($operand1 < $operand2);
+                               if ($useLowercaseFirstComparison) {
+                                       $result = 
$this->strcmpLowercaseFirst($operand1, $operand2) < 0;
+                               } else {
+                                       $result = ($operand1 < $operand2);
+                               }
                                break;
                        //      Equality
                        case '=':
@@ -3566,11 +3596,19 @@
                                break;
                        //      Greater than or equal
                        case '>=':
-                               $result = ($operand1 >= $operand2);
+                               if ($useLowercaseFirstComparison) {
+                                       $result = 
$this->strcmpLowercaseFirst($operand1, $operand2) >= 0;
+                               } else {
+                                       $result = ($operand1 >= $operand2);
+                               }
                                break;
                        //      Less than or equal
                        case '<=':
-                               $result = ($operand1 <= $operand2);
+                               if ($useLowercaseFirstComparison) {
+                                       $result = 
$this->strcmpLowercaseFirst($operand1, $operand2) <= 0;
+                               } else {
+                                       $result = ($operand1 <= $operand2);
+                               }
                                break;
                        //      Inequality
                        case '<>':
@@ -3585,31 +3623,34 @@
                return TRUE;
        }       //      function _executeBinaryComparisonOperation()
 
+       /**
+        * Compare two strings in the same way as strcmp() except that 
lowercase come before uppercase letters
+        * @param string $str1
+        * @param string $str2
+        * @return integer
+        */
+       private function strcmpLowercaseFirst($str1, $str2)
+       {
+               $from = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
+               $to = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
+               $inversedStr1 = strtr($str1, $from, $to);
+               $inversedStr2 = strtr($str2, $from, $to);
 
+               return strcmp($inversedStr1, $inversedStr2);
+       }
+
        private function 
_executeNumericBinaryOperation($cellID,$operand1,$operand2,$operation,$matrixFunction,&$stack)
 {
                //      Validate the two operands
                if (!$this->_validateBinaryOperand($cellID,$operand1,$stack)) 
return FALSE;
                if (!$this->_validateBinaryOperand($cellID,$operand2,$stack)) 
return FALSE;
 
-               $executeMatrixOperation = FALSE;
                //      If either of the operands is a matrix, we need to treat 
them both as matrices
                //              (converting the other operand to a matrix if 
need be); then perform the required
                //              matrix operation
                if ((is_array($operand1)) || (is_array($operand2))) {
-                       //      Ensure that both operands are arrays/matrices
-                       $executeMatrixOperation = TRUE;
-                       $mSize = array();
-                       list($mSize[],$mSize[],$mSize[],$mSize[]) = 
self::_checkMatrixOperands($operand1,$operand2,2);
+                       //      Ensure that both operands are arrays/matrices 
of the same size
+                       self::_checkMatrixOperands($operand1, $operand2, 2);
 
-                       //      But if they're both single cell matrices, then 
we can treat them as simple values
-                       if (array_sum($mSize) == 4) {
-                               $executeMatrixOperation = FALSE;
-                               $operand1 = $operand1[0][0];
-                               $operand2 = $operand2[0][0];
-                       }
-               }
-
-               if ($executeMatrixOperation) {
                        try {
                                //      Convert operand 1 from a PHP array to a 
matrix
                                $matrix = new 
PHPExcel_Shared_JAMA_Matrix($operand1);
@@ -3622,22 +3663,23 @@
                        }
                } else {
                        if 
((PHPExcel_Calculation_Functions::getCompatibilityMode() != 
PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) &&
-                               ((is_string($operand1) && 
!is_numeric($operand1)) || (is_string($operand2) && !is_numeric($operand2)))) {
+                               ((is_string($operand1) && 
!is_numeric($operand1) && strlen($operand1)>0) || 
+                 (is_string($operand2) && !is_numeric($operand2) && 
strlen($operand2)>0))) {
                                $result = 
PHPExcel_Calculation_Functions::VALUE();
                        } else {
                                //      If we're dealing with non-matrix 
operations, execute the necessary operation
                                switch ($operation) {
                                        //      Addition
                                        case '+':
-                                               $result = $operand1+$operand2;
+                                               $result = $operand1 + $operand2;
                                                break;
                                        //      Subtraction
                                        case '-':
-                                               $result = $operand1-$operand2;
+                                               $result = $operand1 - $operand2;
                                                break;
                                        //      Multiplication
                                        case '*':
-                                               $result = $operand1*$operand2;
+                                               $result = $operand1 * $operand2;
                                                break;
                                        //      Division
                                        case '/':
@@ -3647,12 +3689,12 @@
                                                        
$this->_debugLog->writeDebugLog('Evaluation Result is ', 
$this->_showTypeDetails('#DIV/0!'));
                                                        return FALSE;
                                                } else {
-                                                       $result = 
$operand1/$operand2;
+                                                       $result = $operand1 / 
$operand2;
                                                }
                                                break;
                                        //      Power
                                        case '^':
-                                               $result = 
pow($operand1,$operand2);
+                                               $result = pow($operand1, 
$operand2);
                                                break;
                                }
                        }

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/AdvancedValueBinder.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/AdvancedValueBinder.php   
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/AdvancedValueBinder.php   
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Cell
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -41,7 +41,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Cell
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Cell_AdvancedValueBinder extends 
PHPExcel_Cell_DefaultValueBinder implements PHPExcel_Cell_IValueBinder
 {
@@ -80,7 +80,7 @@
             }
 
             // Check for fraction
-            if (preg_match('/^([+-]?) *([0-9]*)\s?\/\s*([0-9]*)$/', $value, 
$matches)) {
+            if (preg_match('/^([+-]?)\s*([0-9]+)\s?\/\s*([0-9]+)$/', $value, 
$matches)) {
                 // Convert value to number
                 $value = $matches[2] / $matches[3];
                 if ($matches[1] == '-') $value = 0 - $value;

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/DataType.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/DataType.php      2014-03-24 
12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/DataType.php      2014-03-24 
13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Cell
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Cell
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Cell_DataType
 {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/DataValidation.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/DataValidation.php        
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/DataValidation.php        
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Cell
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Cell
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Cell_DataValidation
 {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/DefaultValueBinder.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/DefaultValueBinder.php    
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/DefaultValueBinder.php    
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Cell
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -41,7 +41,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Cell
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Cell_DefaultValueBinder implements PHPExcel_Cell_IValueBinder
 {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/Hyperlink.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/Hyperlink.php     2014-03-24 
12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/Hyperlink.php     2014-03-24 
13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Cell
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Cell
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Cell_Hyperlink
 {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/IValueBinder.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/IValueBinder.php  2014-03-24 
12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell/IValueBinder.php  2014-03-24 
13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Cell
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Cell
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 interface PHPExcel_Cell_IValueBinder
 {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell.php       2014-03-24 12:36:21 UTC 
(rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Cell.php       2014-03-24 13:08:06 UTC 
(rev 11859)
@@ -2,7 +2,7 @@
 /**
  *     PHPExcel
  *
- *     Copyright (c) 2006 - 2013 PHPExcel
+ *     Copyright (c) 2006 - 2014 PHPExcel
  *
  *     This library is free software; you can redistribute it and/or
  *     modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  *     @category       PHPExcel
  *     @package        PHPExcel_Cell
- *     @copyright      Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ *     @copyright      Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  *     @license        http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   
LGPL
- *     @version        1.7.9, 2013-06-02
+ *     @version        1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  *     @category   PHPExcel
  *     @package        PHPExcel_Cell
- *     @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ *     @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Cell
 {
@@ -233,10 +233,12 @@
        {
                // set the value according to data type
                switch ($pDataType) {
+                       case PHPExcel_Cell_DataType::TYPE_NULL:
+                               $this->_value = $pValue;
+                               break;
                        case PHPExcel_Cell_DataType::TYPE_STRING2:
                                $pDataType = 
PHPExcel_Cell_DataType::TYPE_STRING;
                        case PHPExcel_Cell_DataType::TYPE_STRING:
-                       case PHPExcel_Cell_DataType::TYPE_NULL:
                        case PHPExcel_Cell_DataType::TYPE_INLINE:
                                $this->_value = 
PHPExcel_Cell_DataType::checkString($pValue);
                                break;
@@ -370,6 +372,16 @@
                return $this->notifyCacheController();
        }
 
+    /**
+     *  Identify if the cell contains a formula
+     *
+     *  @return boolean
+     */
+    public function isFormula()
+    {
+        return $this->_dataType == PHPExcel_Cell_DataType::TYPE_FORMULA;
+    }
+
        /**
         *      Does this cell contain Data validation rules?
         *
@@ -469,7 +481,7 @@
        /**
         *      Get parent worksheet
         *
-        *      @return PHPExcel_Worksheet
+        *      @return PHPExcel_CachedObjectStorage_CacheBase
         */
        public function getParent() {
                return $this->_parent;

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/DataSeries.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/DataSeries.php   2014-03-24 
12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/DataSeries.php   2014-03-24 
13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Chart
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license            http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   
LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Chart
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Chart_DataSeries
 {
@@ -52,6 +52,7 @@
        const TYPE_RADARCHART           = 'radarChart';
        const TYPE_BUBBLECHART          = 'bubbleChart';
        const TYPE_STOCKCHART           = 'stockChart';
+       const TYPE_CANDLECHART          = self::TYPE_STOCKCHART;           //   
Synonym
 
        const GROUPING_CLUSTERED                        = 'clustered';
        const GROUPING_STACKED                          = 'stacked';
@@ -169,9 +170,11 @@
         * Set Plot Type
         *
         * @param string $plotType
+     * @return PHPExcel_Chart_DataSeries
         */
        public function setPlotType($plotType = '') {
                $this->_plotType = $plotType;
+        return $this;
        }
 
        /**
@@ -187,9 +190,11 @@
         * Set Plot Grouping Type
         *
         * @param string $groupingType
+     * @return PHPExcel_Chart_DataSeries
         */
        public function setPlotGrouping($groupingType = null) {
                $this->_plotGrouping = $groupingType;
+        return $this;
        }
 
        /**
@@ -205,9 +210,11 @@
         * Set Plot Direction
         *
         * @param string $plotDirection
+     * @return PHPExcel_Chart_DataSeries
         */
        public function setPlotDirection($plotDirection = null) {
                $this->_plotDirection = $plotDirection;
+        return $this;
        }
 
        /**
@@ -280,9 +287,11 @@
         * Set Plot Style
         *
         * @param string $plotStyle
+     * @return PHPExcel_Chart_DataSeries
         */
        public function setPlotStyle($plotStyle = null) {
                $this->_plotStyle = $plotStyle;
+        return $this;
        }
 
        /**
@@ -331,9 +340,11 @@
         * Set Smooth Line
         *
         * @param boolean $smoothLine
+     * @return PHPExcel_Chart_DataSeries
         */
        public function setSmoothLine($smoothLine = TRUE) {
                $this->_smoothLine = $smoothLine;
+        return $this;
        }
 
        public function refresh(PHPExcel_Worksheet $worksheet) {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/DataSeriesValues.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/DataSeriesValues.php     
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/DataSeriesValues.php     
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Chart
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license            http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   
LGPL
- * @version            1.7.9, 2013-06-02
+ * @version            1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Chart
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Chart_DataSeriesValues
 {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/Exception.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/Exception.php    2014-03-24 
12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/Exception.php    2014-03-24 
13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Chart
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Chart
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Chart_Exception extends PHPExcel_Exception {
        /**

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/Layout.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/Layout.php       2014-03-24 
12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/Layout.php       2014-03-24 
13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Chart
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license            http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   
LGPL
- * @version            1.7.9, 2013-06-02
+ * @version            1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Chart
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Chart_Layout
 {
@@ -167,9 +167,11 @@
         * Set Layout Target
         *
         * @param Layout Target $value
+     * @return PHPExcel_Chart_Layout
         */
        public function setLayoutTarget($value) {
                $this->_layoutTarget = $value;
+        return $this;
        }
 
        /**
@@ -185,9 +187,11 @@
         * Set X-Mode
         *
         * @param X-Mode $value
+     * @return PHPExcel_Chart_Layout
         */
        public function setXMode($value) {
                $this->_xMode = $value;
+        return $this;
        }
 
        /**
@@ -196,16 +200,18 @@
         * @return string
         */
        public function getYMode() {
-               return $this->_xMode;
+               return $this->_yMode;
        }
 
        /**
         * Set Y-Mode
         *
         * @param Y-Mode $value
+     * @return PHPExcel_Chart_Layout
         */
        public function setYMode($value) {
-               $this->_xMode = $value;
+               $this->_yMode = $value;
+        return $this;
        }
 
        /**
@@ -221,9 +227,11 @@
         * Set X-Position
         *
         * @param X-Position $value
+     * @return PHPExcel_Chart_Layout
         */
        public function setXPosition($value) {
                $this->_xPos = $value;
+        return $this;
        }
 
        /**
@@ -239,9 +247,11 @@
         * Set Y-Position
         *
         * @param Y-Position $value
+     * @return PHPExcel_Chart_Layout
         */
        public function setYPosition($value) {
                $this->_yPos = $value;
+        return $this;
        }
 
        /**
@@ -257,9 +267,11 @@
         * Set Width
         *
         * @param Width $value
+     * @return PHPExcel_Chart_Layout
         */
        public function setWidth($value) {
                $this->_width = $value;
+        return $this;
        }
 
        /**
@@ -275,9 +287,11 @@
         * Set Height
         *
         * @param Height $value
+     * @return PHPExcel_Chart_Layout
         */
        public function setHeight($value) {
                $this->_height = $value;
+        return $this;
        }
 
 
@@ -295,9 +309,11 @@
         * Specifies that legend keys should be shown in data labels.
         *
         * @param boolean $value                Show legend key
+     * @return PHPExcel_Chart_Layout
         */
        public function setShowLegendKey($value) {
                $this->_showLegendKey = $value;
+        return $this;
        }
 
        /**
@@ -314,9 +330,11 @@
         * Specifies that the value should be shown in data labels.
         *
         * @param boolean $value                Show val
+     * @return PHPExcel_Chart_Layout
         */
        public function setShowVal($value) {
                $this->_showVal = $value;
+        return $this;
        }
 
        /**
@@ -333,9 +351,11 @@
         * Specifies that the category name should be shown in data labels.
         *
         * @param boolean $value                Show cat name
+     * @return PHPExcel_Chart_Layout
         */
        public function setShowCatName($value) {
                $this->_showCatName = $value;
+        return $this;
        }
 
        /**
@@ -351,10 +371,12 @@
         * Set show ser name
         * Specifies that the series name should be shown in data labels.
         *
-        * @param boolean $value                Show ser name
+        * @param boolean $value                Show series name
+     * @return PHPExcel_Chart_Layout
         */
        public function setShowSerName($value) {
                $this->_showSerName = $value;
+        return $this;
        }
 
        /**
@@ -371,9 +393,11 @@
         * Specifies that the percentage should be shown in data labels.
         *
         * @param boolean $value                Show percentage
+     * @return PHPExcel_Chart_Layout
         */
        public function setShowPercent($value) {
                $this->_showPercent = $value;
+        return $this;
        }
 
        /**
@@ -390,9 +414,11 @@
         * Specifies that the bubble size should be shown in data labels.
         *
         * @param boolean $value                Show bubble size
+     * @return PHPExcel_Chart_Layout
         */
        public function setShowBubbleSize($value) {
                $this->_showBubbleSize = $value;
+        return $this;
        }
 
        /**
@@ -409,9 +435,11 @@
         * Specifies that leader lines should be shown in data labels.
         *
         * @param boolean $value                Show leader lines
+     * @return PHPExcel_Chart_Layout
         */
        public function setShowLeaderLines($value) {
                $this->_showLeaderLines = $value;
+        return $this;
        }
 
 }

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/Legend.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/Legend.php       2014-03-24 
12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/Legend.php       2014-03-24 
13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Chart
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license            http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   
LGPL
- * @version            1.7.9, 2013-06-02
+ * @version            1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Chart
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Chart_Legend
 {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/PlotArea.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/PlotArea.php     2014-03-24 
12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/PlotArea.php     2014-03-24 
13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Chart
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license            http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   
LGPL
- * @version            1.7.9, 2013-06-02
+ * @version            1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Chart
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Chart_PlotArea
 {
@@ -111,9 +111,12 @@
         * Set Plot Series
         *
         * @param [PHPExcel_Chart_DataSeries]
+     * @return PHPExcel_Chart_PlotArea
         */
        public function setPlotSeries($plotSeries = array()) {
                $this->_plotSeries = $plotSeries;
+        
+        return $this;
        }
 
        public function refresh(PHPExcel_Worksheet $worksheet) {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/Renderer/jpgraph.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/Renderer/jpgraph.php     
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/Renderer/jpgraph.php     
2014-03-24 13:08:06 UTC (rev 11859)
@@ -3,7 +3,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -21,9 +21,9 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Chart_Renderer
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license            http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   
LGPL
- * @version            1.7.9, 2013-06-02
+ * @version            1.8.0, 2014-03-02
  */
 
 
@@ -35,7 +35,7 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Chart_Renderer
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Chart_Renderer_jpgraph
 {
@@ -517,20 +517,38 @@
        private function _renderPlotStock($groupID) {
                $seriesCount = 
$this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount();
                $plotOrder = 
$this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotOrder();
-               $seriesPlots = array();
 
                $dataValues = array();
-               //      Loop through each data series in turn
-               for($i = 0; $i < $seriesCount; ++$i) {
-                       $dataValuesY = 
$this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex($i)->getDataValues();
-                       $dataValuesX = 
$this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues();
+               //      Loop through each data series in turn and build the 
plot arrays
+               foreach($plotOrder as $i => $v) {
+                       $dataValuesX = 
$this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($v)->getDataValues();
+                       foreach($dataValuesX as $j => $dataValueX) {
+                               $dataValues[$plotOrder[$i]][$j] = $dataValueX;
+                       }
+               }
+               if(empty($dataValues)) {
+                       return;
+               }
 
-                       foreach($dataValuesX as $j => $dataValueX)
-                       $dataValues[$j][$plotOrder[$i]] = $dataValueX;
+               $dataValuesPlot = array();
+        // Flatten the plot arrays to a single dimensional array to work with 
jpgraph
+               for($j = 0; $j < count($dataValues[0]); $j++) {
+                       for($i = 0; $i < $seriesCount; $i++) {
+                               $dataValuesPlot[] = $dataValues[$i][$j];
+                       }
                }
 
-               $seriesPlot = new StockPlot($dataValues);
+        // Set the x-axis labels
+        $labelCount = 
count($this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex(0)->getPointCount());
+               if ($labelCount > 0) {
+                       $datasetLabels = 
$this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex(0)->getDataValues();
+                       $datasetLabels = $this->_formatDataSetLabels($groupID, 
$datasetLabels, $labelCount);
+                       $this->_graph->xaxis->SetTickLabels($datasetLabels);
+               }
 
+               $seriesPlot = new StockPlot($dataValuesPlot);
+               $seriesPlot->SetWidth(20);
+
                $this->_graph->Add($seriesPlot);
        }       //      function _renderPlotStock()
 
@@ -681,9 +699,9 @@
        private function _renderStockChart($groupCount) {
                require_once('jpgraph_stock.php');
 
-               $this->_renderCartesianPlotArea();
+               $this->_renderCartesianPlotArea('intint');
 
-               for($groupID = 0; $groupID < $groupCount; ++$i) {
+               for($groupID = 0; $groupID < $groupCount; ++$groupID) {
                        $this->_renderPlotStock($groupID);
                }
        }       //      function _renderStockChart()

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/Title.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/Title.php        2014-03-24 
12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart/Title.php        2014-03-24 
13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Chart
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license            http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   
LGPL
- * @version            1.7.9, 2013-06-02
+ * @version            1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Chart
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Chart_Title
 {
@@ -72,9 +72,12 @@
         * Set caption
         *
         * @param string $caption
+     * @return PHPExcel_Chart_Title
         */
        public function setCaption($caption = null) {
                $this->_caption = $caption;
+        
+        return $this;
        }
 
        /**

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart.php      2014-03-24 12:36:21 UTC 
(rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Chart.php      2014-03-24 13:08:06 UTC 
(rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Chart
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license            http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   
LGPL
- * @version            1.7.9, 2013-06-02
+ * @version            1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Chart
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Chart
 {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Comment.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Comment.php    2014-03-24 12:36:21 UTC 
(rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Comment.php    2014-03-24 13:08:06 UTC 
(rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Comment implements PHPExcel_IComparable
 {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/DocumentProperties.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/DocumentProperties.php 2014-03-24 
12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/DocumentProperties.php 2014-03-24 
13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category    PHPExcel
  * @package    PHPExcel
- * @copyright    Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright    Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category    PHPExcel
  * @package        PHPExcel
- * @copyright    Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright    Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_DocumentProperties
 {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/DocumentSecurity.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/DocumentSecurity.php   2014-03-24 
12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/DocumentSecurity.php   2014-03-24 
13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_DocumentSecurity
 {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Exception.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Exception.php  2014-03-24 12:36:21 UTC 
(rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Exception.php  2014-03-24 13:08:06 UTC 
(rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Exception extends Exception {
     /**

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/HashTable.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/HashTable.php  2014-03-24 12:36:21 UTC 
(rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/HashTable.php  2014-03-24 13:08:06 UTC 
(rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_HashTable
 {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/IComparable.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/IComparable.php        2014-03-24 
12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/IComparable.php        2014-03-24 
13:08:06 UTC (rev 11859)
@@ -18,9 +18,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -29,7 +29,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 interface PHPExcel_IComparable
 {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/IOFactory.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/IOFactory.php  2014-03-24 12:36:21 UTC 
(rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/IOFactory.php  2014-03-24 13:08:06 UTC 
(rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -40,7 +40,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_IOFactory
 {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/NamedRange.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/NamedRange.php 2014-03-24 12:36:21 UTC 
(rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/NamedRange.php 2014-03-24 13:08:06 UTC 
(rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_NamedRange
 {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Abstract.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Abstract.php    2014-03-24 
12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Abstract.php    2014-03-24 
13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Reader
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Reader
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 abstract class PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader
 {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/CSV.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/CSV.php 2014-03-24 12:36:21 UTC 
(rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/CSV.php 2014-03-24 13:08:06 UTC 
(rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Reader
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -40,7 +40,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Reader
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Reader_CSV extends PHPExcel_Reader_Abstract implements 
PHPExcel_Reader_IReader
 {
@@ -144,28 +144,28 @@
         */
        protected function _skipBOM()
        {
-               rewind($fileHandle);
+               rewind($this->_fileHandle);
 
                switch ($this->_inputEncoding) {
                        case 'UTF-8':
                                fgets($this->_fileHandle, 4) == "\xEF\xBB\xBF" ?
-                               fseek($this->_fileHandle, 3) : 
fseek($this->_fileHandle, 0);
+                                       fseek($this->_fileHandle, 3) : 
fseek($this->_fileHandle, 0);
                                break;
                        case 'UTF-16LE':
                                fgets($this->_fileHandle, 3) == "\xFF\xFE" ?
-                               fseek($this->_fileHandle, 2) : 
fseek($this->_fileHandle, 0);
+                                       fseek($this->_fileHandle, 2) : 
fseek($this->_fileHandle, 0);
                                break;
                        case 'UTF-16BE':
                                fgets($this->_fileHandle, 3) == "\xFE\xFF" ?
-                               fseek($this->_fileHandle, 2) : 
fseek($this->_fileHandle, 0);
+                                       fseek($this->_fileHandle, 2) : 
fseek($this->_fileHandle, 0);
                                break;
                        case 'UTF-32LE':
                                fgets($this->_fileHandle, 5) == 
"\xFF\xFE\x00\x00" ?
-                               fseek($this->_fileHandle, 4) : 
fseek($this->_fileHandle, 0);
+                                       fseek($this->_fileHandle, 4) : 
fseek($this->_fileHandle, 0);
                                break;
                        case 'UTF-32BE':
                                fgets($this->_fileHandle, 5) == 
"\x00\x00\xFE\xFF" ?
-                               fseek($this->_fileHandle, 4) : 
fseek($this->_fileHandle, 0);
+                                       fseek($this->_fileHandle, 4) : 
fseek($this->_fileHandle, 0);
                                break;
                        default:
                                break;
@@ -187,7 +187,7 @@
                        throw new PHPExcel_Reader_Exception($pFilename . " is 
an Invalid Spreadsheet file.");
                }
                $fileHandle = $this->_fileHandle;
-               
+
                // Skip BOM, if any
                $this->_skipBOM();
 

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/DefaultReadFilter.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/DefaultReadFilter.php   
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/DefaultReadFilter.php   
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Reader
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -40,7 +40,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Reader
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Reader_DefaultReadFilter implements PHPExcel_Reader_IReadFilter
 {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Excel2003XML.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Excel2003XML.php        
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Excel2003XML.php        
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Reader
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -40,7 +40,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Reader
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Reader_Excel2003XML extends PHPExcel_Reader_Abstract implements 
PHPExcel_Reader_IReader
 {
@@ -137,7 +137,7 @@
 
                $worksheetNames = array();
 
-               $xml = simplexml_load_file($pFilename);
+               $xml = simplexml_load_file($pFilename, 'SimpleXMLElement', 
PHPExcel_Settings::getLibXmlLoaderOptions());
                $namespaces = $xml->getNamespaces(true);
 
                $xml_ss = $xml->children($namespaces['ss']);
@@ -165,7 +165,7 @@
 
                $worksheetInfo = array();
 
-               $xml = simplexml_load_file($pFilename);
+               $xml = simplexml_load_file($pFilename, 'SimpleXMLElement', 
PHPExcel_Settings::getLibXmlLoaderOptions());
                $namespaces = $xml->getNamespaces(true);
 
                $worksheetID = 1;
@@ -330,7 +330,7 @@
                        throw new PHPExcel_Reader_Exception($pFilename . " is 
an Invalid Spreadsheet file.");
                }
 
-               $xml = simplexml_load_file($pFilename);
+               $xml = simplexml_load_file($pFilename, 'SimpleXMLElement', 
PHPExcel_Settings::getLibXmlLoaderOptions());
                $namespaces = $xml->getNamespaces(true);
 
                $docProps = $objPHPExcel->getProperties();

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Excel2007/Chart.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Excel2007/Chart.php     
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Excel2007/Chart.php     
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Reader_Excel2007
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license            http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   
LGPL
- * @version            1.7.9, 2013-06-02
+ * @version            1.8.0, 2014-03-02
  */
 
 /**
@@ -30,7 +30,7 @@
  *
  * @category   PHPExcel
  * @package            PHPExcel_Reader_Excel2007
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Reader_Excel2007_Chart
 {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Excel2007/Theme.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Excel2007/Theme.php     
2014-03-24 12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Excel2007/Theme.php     
2014-03-24 13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Reader_Excel2007
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -31,7 +31,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Reader_Excel2007
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Reader_Excel2007_Theme
 {

Modified: trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Excel2007.php
===================================================================
--- trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Excel2007.php   2014-03-24 
12:36:21 UTC (rev 11858)
+++ trunk/phpgwapi/inc/phpexcel/PHPExcel/Reader/Excel2007.php   2014-03-24 
13:08:06 UTC (rev 11859)
@@ -2,7 +2,7 @@
 /**
  * PHPExcel
  *
- * Copyright (c) 2006 - 2013 PHPExcel
+ * Copyright (c) 2006 - 2014 PHPExcel
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,9 +20,9 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Reader
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
- * @version    1.7.9, 2013-06-02
+ * @version    1.8.0, 2014-03-02
  */
 
 
@@ -40,7 +40,7 @@
  *
  * @category   PHPExcel
  * @package    PHPExcel_Reader
- * @copyright  Copyright (c) 2006 - 2013 PHPExcel 
(http://www.codeplex.com/PHPExcel)
+ * @copyright  Copyright (c) 2006 - 2014 PHPExcel 
(http://www.codeplex.com/PHPExcel)
  */
 class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements 
PHPExcel_Reader_IReader
 {
@@ -59,16 +59,16 @@
        private static $_theme = NULL;
 
 
-       /**
-        * Create a new PHPExcel_Reader_Excel2007 instance
-        */
-       public function __construct() {
-               $this->_readFilter = new PHPExcel_Reader_DefaultReadFilter();
-               $this->_referenceHelper = 
PHPExcel_ReferenceHelper::getInstance();
-       }
-
-
        /**
+        * Create a new PHPExcel_Reader_Excel2007 instance
+        */
+       public function __construct() {
+               $this->_readFilter = new PHPExcel_Reader_DefaultReadFilter();
+               $this->_referenceHelper = 
PHPExcel_ReferenceHelper::getInstance();
+       }
+
+
+       /**
         * Can the current PHPExcel_Reader_IReader read the file?
         *
         * @param       string          $pFilename
@@ -82,17 +82,19 @@
                        throw new PHPExcel_Reader_Exception("Could not open " . 
$pFilename . " for reading! File does not exist.");
                }
 
+        $zipClass = PHPExcel_Settings::getZipClass();
+
                // Check if zip class exists
-               if (!class_exists('ZipArchive',FALSE)) {
-                       throw new PHPExcel_Reader_Exception("ZipArchive library 
is not enabled");
-               }
+//             if (!class_exists($zipClass, FALSE)) {
+//                     throw new PHPExcel_Reader_Exception($zipClass . " 
library is not enabled");
+//             }
 
                $xl = false;
                // Load file
-               $zip = new ZipArchive;
+               $zip = new $zipClass;
                if ($zip->open($pFilename) === true) {
                        // check if it is an OOXML archive
-                       $rels = 
simplexml_load_string($this->_getFromZipArchive($zip, "_rels/.rels"));
+                       $rels = 
simplexml_load_string($this->_getFromZipArchive($zip, "_rels/.rels"), 
'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions());
                        if ($rels !== false) {
                                foreach ($rels->Relationship as $rel) {
                                        switch ($rel["Type"]) {
@@ -111,7 +113,7 @@
                return $xl;
        }
 
-
+
        /**
         * Reads names of the worksheets from a file, without parsing the whole 
file to a PHPExcel object
         *
@@ -127,18 +129,20 @@
 
                $worksheetNames = array();
 
-               $zip = new ZipArchive;
+        $zipClass = PHPExcel_Settings::getZipClass();
+
+               $zip = new $zipClass;
                $zip->open($pFilename);
 
                //      The files we're looking at here are small enough that 
simpleXML is more efficient than XMLReader
                $rels = simplexml_load_string(
-                   $this->_getFromZipArchive($zip, "_rels/.rels")
+                   $this->_getFromZipArchive($zip, "_rels/.rels", 
'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions())
                ); //~ 
http://schemas.openxmlformats.org/package/2006/relationships";);
                foreach ($rels->Relationship as $rel) {
                        switch ($rel["Type"]) {
                                case 
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument":
                                        $xmlWorkbook = simplexml_load_string(
-                                           $this->_getFromZipArchive($zip, 
"{$rel['Target']}")
+                                           $this->_getFromZipArchive($zip, 
"{$rel['Target']}", 'SimpleXMLElement', 
PHPExcel_Settings::getLibXmlLoaderOptions())
                                        );  //~ 
http://schemas.openxmlformats.org/spreadsheetml/2006/main";);
 
                                        if ($xmlWorkbook->sheets) {
@@ -156,54 +160,56 @@
        }
 
 
-       /**
-        * Return worksheet info (Name, Last Column Letter, Last Column Index, 
Total Rows, Total Columns)
-        *
-        * @param   string     $pFilename
-        * @throws   PHPExcel_Reader_Exception
-        */
-       public function listWorksheetInfo($pFilename)
-       {
-               // Check if file exists
-               if (!file_exists($pFilename)) {
-                       throw new PHPExcel_Reader_Exception("Could not open " . 
$pFilename . " for reading! File does not exist.");
-               }
-
-               $worksheetInfo = array();
-
-               $zip = new ZipArchive;
-               $zip->open($pFilename);
-
-               $rels = simplexml_load_string($this->_getFromZipArchive($zip, 
"_rels/.rels")); //~ 
http://schemas.openxmlformats.org/package/2006/relationships";);
-               foreach ($rels->Relationship as $rel) {
-                       if ($rel["Type"] == 
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument";)
 {
-                               $dir = dirname($rel["Target"]);
-                               $relsWorkbook = 
simplexml_load_string($this->_getFromZipArchive($zip, "$dir/_rels/" . 
basename($rel["Target"]) . ".rels"));  //~ 
http://schemas.openxmlformats.org/package/2006/relationships";);
-                               $relsWorkbook->registerXPathNamespace("rel", 
"http://schemas.openxmlformats.org/package/2006/relationships";);
-
-                               $worksheets = array();
-                               foreach ($relsWorkbook->Relationship as $ele) {
-                                       if ($ele["Type"] == 
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet";)
 {
-                                               $worksheets[(string) 
$ele["Id"]] = $ele["Target"];
-                                       }
-                               }
-
-                               $xmlWorkbook = 
simplexml_load_string($this->_getFromZipArchive($zip, "{$rel['Target']}"));  
//~ http://schemas.openxmlformats.org/spreadsheetml/2006/main";);
-                               if ($xmlWorkbook->sheets) {
-                                       $dir = dirname($rel["Target"]);
-                                       foreach ($xmlWorkbook->sheets->sheet as 
$eleSheet) {
-                                               $tmpInfo = array(
-                                                       'worksheetName' => 
(string) $eleSheet["name"],
-                                                       'lastColumnLetter' => 
'A',
-                                                       'lastColumnIndex' => 0,
-                                                       'totalRows' => 0,
-                                                       'totalColumns' => 0,
+       /**
+        * Return worksheet info (Name, Last Column Letter, Last Column Index, 
Total Rows, Total Columns)
+        *
+        * @param   string     $pFilename
+        * @throws   PHPExcel_Reader_Exception
+        */
+       public function listWorksheetInfo($pFilename)
+       {
+               // Check if file exists
+               if (!file_exists($pFilename)) {
+                       throw new PHPExcel_Reader_Exception("Could not open " . 
$pFilename . " for reading! File does not exist.");
+               }
+
+               $worksheetInfo = array();
+
+        $zipClass = PHPExcel_Settings::getZipClass();
+
+               $zip = new $zipClass;
+               $zip->open($pFilename);
+
+               $rels = simplexml_load_string($this->_getFromZipArchive($zip, 
"_rels/.rels"), 'SimpleXMLElement', 
PHPExcel_Settings::getLibXmlLoaderOptions()); //~ 
http://schemas.openxmlformats.org/package/2006/relationships";);
+               foreach ($rels->Relationship as $rel) {
+                       if ($rel["Type"] == 
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument";)
 {
+                               $dir = dirname($rel["Target"]);
+                               $relsWorkbook = 
simplexml_load_string($this->_getFromZipArchive($zip, "$dir/_rels/" . 
basename($rel["Target"]) . ".rels"), 'SimpleXMLElement', 
PHPExcel_Settings::getLibXmlLoaderOptions());  //~ 
http://schemas.openxmlformats.org/package/2006/relationships";);
+                               $relsWorkbook->registerXPathNamespace("rel", 
"http://schemas.openxmlformats.org/package/2006/relationships";);
+
+                               $worksheets = array();
+                               foreach ($relsWorkbook->Relationship as $ele) {
+                                       if ($ele["Type"] == 
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet";)
 {
+                                               $worksheets[(string) 
$ele["Id"]] = $ele["Target"];
+                                       }
+                               }
+
+                               $xmlWorkbook = 
simplexml_load_string($this->_getFromZipArchive($zip, "{$rel['Target']}"), 
'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions());  //~ 
http://schemas.openxmlformats.org/spreadsheetml/2006/main";);
+                               if ($xmlWorkbook->sheets) {
+                                       $dir = dirname($rel["Target"]);
+                                       foreach ($xmlWorkbook->sheets->sheet as 
$eleSheet) {
+                                               $tmpInfo = array(
+                                                       'worksheetName' => 
(string) $eleSheet["name"],
+                                                       'lastColumnLetter' => 
'A',
+                                                       'lastColumnIndex' => 0,
+                                                       'totalRows' => 0,
+                                                       'totalColumns' => 0,
                                                );
-
-                                               $fileWorksheet = 
$worksheets[(string) 
self::array_item($eleSheet->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships";),
 "id")];
 
+                                               $fileWorksheet = 
$worksheets[(string) 
self::array_item($eleSheet->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships";),
 "id")];
+
                                                $xml = new XMLReader();
-                                               $res = 
$xml->open('zip://'.PHPExcel_Shared_File::realpath($pFilename).'#'."$dir/$fileWorksheet");
+                                               $res = 
$xml->open('zip://'.PHPExcel_Shared_File::realpath($pFilename).'#'."$dir/$fileWorksheet",
 null, PHPExcel_Settings::getLibXmlLoaderOptions());
                                                $xml->setParserProperty(2,true);
 
                                                $currCells = 0;
@@ -223,20 +229,20 @@
                                                $tmpInfo['lastColumnIndex'] = 
$tmpInfo['totalColumns'] - 1;
                                                $tmpInfo['lastColumnLetter'] = 
PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']);
 
-                                               $worksheetInfo[] = $tmpInfo;
-                                       }
-                               }
-                       }
-               }
-
-               $zip->close();
-
-               return $worksheetInfo;
-       }
-
-
+                                               $worksheetInfo[] = $tmpInfo;
+                                       }
+                               }
+                       }
+               }
+
+               $zip->close();
+
+               return $worksheetInfo;
+       }
+
+
        private static function _castToBool($c) {
-//             echo 'Initial Cast to Boolean<br />';
+//             echo 'Initial Cast to Boolean', PHP_EOL;
                $value = isset($c->v) ? (string) $c->v : NULL;
                if ($value == '0') {
                        return FALSE;
@@ -248,50 +254,48 @@
                return $value;
        }       //      function _castToBool()
 
-
+
        private static function _castToError($c) {
-//             echo 'Initial Cast to Error<br />';
+//             echo 'Initial Cast to Error', PHP_EOL;
                return isset($c->v) ? (string) $c->v : NULL;
        }       //      function _castToError()
 
-
+
        private static function _castToString($c) {
-//             echo 'Initial Cast to String<br />';
+//             echo 'Initial Cast to String, PHP_EOL;
                return isset($c->v) ? (string) $c->v : NULL;
        }       //      function _castToString()
 
-
+
        private function 
_castToFormula($c,$r,&$cellDataType,&$value,&$calculatedValue,&$sharedFormulas,$castBaseType)
 {
-//             echo 'Formula<br />';
-//             echo '$c->f is '.$c->f.'<br />';
+//             echo 'Formula', PHP_EOL;
+//             echo '$c->f is ', $c->f, PHP_EOL;
                $cellDataType           = 'f';
                $value                          = "={$c->f}";
                $calculatedValue        = self::$castBaseType($c);
 
                // Shared formula?
                if (isset($c->f['t']) && strtolower((string)$c->f['t']) == 
'shared') {
-//                     echo 'SHARED FORMULA<br />';
+//                     echo 'SHARED FORMULA', PHP_EOL;
                        $instance = (string)$c->f['si'];
 
-//                     echo 'Instance ID = '.$instance.'<br />';
+//                     echo 'Instance ID = ', $instance, PHP_EOL;
 //
-//                     echo 'Shared Formula Array:<pre>';
+//                     echo 'Shared Formula Array:', PHP_EOL;
 //                     print_r($sharedFormulas);
-//                     echo '</pre>';
                        if (!isset($sharedFormulas[(string)$c->f['si']])) {
-//                             echo 'SETTING NEW SHARED FORMULA<br />';
-//                             echo 'Master is '.$r.'<br />';
-//                             echo 'Formula is '.$value.'<br />';
+//                             echo 'SETTING NEW SHARED FORMULA', PHP_EOL;
+//                             echo 'Master is ', $r, PHP_EOL;
+//                             echo 'Formula is ', $value, PHP_EOL;
                                $sharedFormulas[$instance] = array(     
'master' => $r,
                                                                                
                        'formula' => $value
                                                                                
                  );
-//                             echo 'New Shared Formula Array:<pre>';
+//                             echo 'New Shared Formula Array:', PHP_EOL;
 //                             print_r($sharedFormulas);
-//                             echo '</pre>';
                        } else {
-//                             echo 'GETTING SHARED FORMULA<br />';
-//                             echo 'Master is 
'.$sharedFormulas[$instance]['master'].'<br />';
-//                             echo 'Formula is 
'.$sharedFormulas[$instance]['formula'].'<br />';
+//                             echo 'GETTING SHARED FORMULA', PHP_EOL;
+//                             echo 'Master is ', 
$sharedFormulas[$instance]['master'], PHP_EOL;
+//                             echo 'Formula is ', 
$sharedFormulas[$instance]['formula'], PHP_EOL;
                                $master = 
PHPExcel_Cell::coordinateFromString($sharedFormulas[$instance]['master']);
                                $current = 
PHPExcel_Cell::coordinateFromString($r);
 
@@ -304,13 +308,13 @@
                                                                                
                                                                        
$difference[0],
                                                                                
                                                                        
$difference[1]
                                                                                
                                                                 );
-//                             echo 'Adjusted Formula is '.$value.'<br />';
+//                             echo 'Adjusted Formula is ', $value, PHP_EOL;
                        }
                }
        }
 
-
-       public function _getFromZipArchive(ZipArchive $archive, $fileName = '')
+
+       public function _getFromZipArchive($archive, $fileName = '')
        {
                // Root-relative paths
                if (strpos($fileName, '//') !== false)
@@ -329,7 +333,7 @@
                return $contents;
        }
 
-
+
        /**
         * Loads PHPExcel from file
         *
@@ -350,23 +354,26 @@
                        $excel->removeCellStyleXfByIndex(0); // remove the 
default style
                        $excel->removeCellXfByIndex(0); // remove the default 
style
                }
-               $zip = new ZipArchive;
+
+        $zipClass = PHPExcel_Settings::getZipClass();
+
+               $zip = new $zipClass;
                $zip->open($pFilename);
 
                //      Read the theme first, because we need the colour scheme 
when reading the styles
-               $wbRels = simplexml_load_string($this->_getFromZipArchive($zip, 
"xl/_rels/workbook.xml.rels")); //~ 
http://schemas.openxmlformats.org/package/2006/relationships";);
+               $wbRels = simplexml_load_string($this->_getFromZipArchive($zip, 
"xl/_rels/workbook.xml.rels"), 'SimpleXMLElement', 
PHPExcel_Settings::getLibXmlLoaderOptions()); //~ 
http://schemas.openxmlformats.org/package/2006/relationships";);
                foreach ($wbRels->Relationship as $rel) {
                        switch ($rel["Type"]) {
                                case 
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme":
                                        $themeOrderArray = 
array('lt1','dk1','lt2','dk2');
                                        $themeOrderAdditional = 
count($themeOrderArray);
 
-                                       $xmlTheme = 
simplexml_load_string($this->_getFromZipArchive($zip, "xl/{$rel['Target']}"));
+                                       $xmlTheme = 
simplexml_load_string($this->_getFromZipArchive($zip, "xl/{$rel['Target']}"), 
'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions());
                                        if (is_object($xmlTheme)) {
                                                $xmlThemeName = 
$xmlTheme->attributes();
                                                $xmlTheme = 
$xmlTheme->children("http://schemas.openxmlformats.org/drawingml/2006/main";);
                                                $themeName = 
(string)$xmlThemeName['name'];
-
+
                                                $colourScheme = 
$xmlTheme->themeElements->clrScheme->attributes();
                                                $colourSchemeName = 
(string)$colourScheme['name'];
                                                $colourScheme = 
$xmlTheme->themeElements->clrScheme->children("http://schemas.openxmlformats.org/drawingml/2006/main";);
@@ -391,11 +398,11 @@
                        }
                }
 
-               $rels = simplexml_load_string($this->_getFromZipArchive($zip, 
"_rels/.rels")); //~ 
http://schemas.openxmlformats.org/package/2006/relationships";);
+               $rels = simplexml_load_string($this->_getFromZipArchive($zip, 
"_rels/.rels"), 'SimpleXMLElement', 
PHPExcel_Settings::getLibXmlLoaderOptions()); //~ 
http://schemas.openxmlformats.org/package/2006/relationships";);
                foreach ($rels->Relationship as $rel) {
                        switch ($rel["Type"]) {
                                case 
"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties":
-                                       $xmlCore = 
simplexml_load_string($this->_getFromZipArchive($zip, "{$rel['Target']}"));
+                                       $xmlCore = 
simplexml_load_string($this->_getFromZipArchive($zip, "{$rel['Target']}"), 
'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions());
                                        if (is_object($xmlCore)) {
                                                
$xmlCore->registerXPathNamespace("dc", "http://purl.org/dc/elements/1.1/";);
                                                
$xmlCore->registerXPathNamespace("dcterms", "http://purl.org/dc/terms/";);
@@ -414,7 +421,7 @@
                                break;
 
                                case 
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties":
-                                       $xmlCore = 
simplexml_load_string($this->_getFromZipArchive($zip, "{$rel['Target']}"));
+                                       $xmlCore = 
simplexml_load_string($this->_getFromZipArchive($zip, "{$rel['Target']}"), 
'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions());
                                        if (is_object($xmlCore)) {
                                                $docProps = 
$excel->getProperties();
                                                if (isset($xmlCore->Company))
@@ -425,7 +432,7 @@
                                break;
 
                                case 
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties":
-                                       $xmlCore = 
simplexml_load_string($this->_getFromZipArchive($zip, "{$rel['Target']}"));
+                                       $xmlCore = 
simplexml_load_string($this->_getFromZipArchive($zip, "{$rel['Target']}"), 
'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions());
                                        if (is_object($xmlCore)) {
                                                $docProps = 
$excel->getProperties();
                                                foreach ($xmlCore as 
$xmlProperty) {
@@ -442,15 +449,21 @@
                                                }
                                        }
                                break;
-
+                               //Ribbon
+                               case 
"http://schemas.microsoft.com/office/2006/relationships/ui/extensibility":
+                                       $customUI = $rel['Target'];
+                                       if(!is_null($customUI)){
+                                               $this->_readRibbon($excel, 
$customUI, $zip);
+                                       }
+                               break;
                                case 
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument":
                                        $dir = dirname($rel["Target"]);
-                                       $relsWorkbook = 
simplexml_load_string($this->_getFromZipArchive($zip, "$dir/_rels/" . 
basename($rel["Target"]) . ".rels"));  //~ 
http://schemas.openxmlformats.org/package/2006/relationships";);
+                                       $relsWorkbook = 
simplexml_load_string($this->_getFromZipArchive($zip, "$dir/_rels/" . 
basename($rel["Target"]) . ".rels"), 'SimpleXMLElement', 
PHPExcel_Settings::getLibXmlLoaderOptions());  //~ 
http://schemas.openxmlformats.org/package/2006/relationships";);
                                        
$relsWorkbook->registerXPathNamespace("rel", 
"http://schemas.openxmlformats.org/package/2006/relationships";);
 
                                        $sharedStrings = array();
                                        $xpath = 
self::array_item($relsWorkbook->xpath("rel:address@hidden'http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings']"));
-                                       $xmlStrings = 
simplexml_load_string($this->_getFromZipArchive($zip, "$dir/$xpath[Target]"));  
//~ http://schemas.openxmlformats.org/spreadsheetml/2006/main";);
+                                       $xmlStrings = 
simplexml_load_string($this->_getFromZipArchive($zip, "$dir/$xpath[Target]"), 
'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions());  //~ 
http://schemas.openxmlformats.org/spreadsheetml/2006/main";);
                                        if (isset($xmlStrings) && 
isset($xmlStrings->si)) {
                                                foreach ($xmlStrings->si as 
$val) {
                                                        if (isset($val->t)) {
@@ -462,16 +475,34 @@
                                        }
 
                                        $worksheets = array();
+                    $macros = $customUI = NULL;
                                        foreach ($relsWorkbook->Relationship as 
$ele) {
-                                               if ($ele["Type"] == 
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet";)
 {
+                                               switch($ele['Type']){
+                                               case 
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet":
 
                                                        $worksheets[(string) 
$ele["Id"]] = $ele["Target"];
+                                                       break;
+                                               // a vbaProject ? (: some 
macros)
+                                               case 
"http://schemas.microsoft.com/office/2006/relationships/vbaProject":
+                                                       $macros = 
$ele["Target"];
+                                                       break;
                                                }
                                        }
 
+                                       if(!is_null($macros)){
+                                               $macrosCode = 
$this->_getFromZipArchive($zip, 'xl/vbaProject.bin');//vbaProject.bin always in 
'xl' dir and always named vbaProject.bin
+                                               if($macrosCode !== false){
+                                                       
$excel->setMacrosCode($macrosCode);
+                                                       
$excel->setHasMacros(true);
+                                                       //short-circuit : not 
reading vbaProject.bin.rel to get Signature =>allways vbaProjectSignature.bin 
in 'xl' dir
+                                                       $Certificate = 
$this->_getFromZipArchive($zip, 'xl/vbaProjectSignature.bin');
+                                                       if($Certificate !== 
false)
+                                                               
$excel->setMacrosCertificate($Certificate);
+                                               }
+                                       }
                                        $styles         = array();
                                        $cellStyles = array();
                                        $xpath = 
self::array_item($relsWorkbook->xpath("rel:address@hidden'http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles']"));
-                                       $xmlStyles = 
simplexml_load_string($this->_getFromZipArchive($zip, "$dir/$xpath[Target]")); 
//~ http://schemas.openxmlformats.org/spreadsheetml/2006/main";);
+                                       $xmlStyles = 
simplexml_load_string($this->_getFromZipArchive($zip, "$dir/$xpath[Target]"), 
'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ 
http://schemas.openxmlformats.org/spreadsheetml/2006/main";);
                                        $numFmts = null;
                                        if ($xmlStyles && 
$xmlStyles->numFmts[0]) {
                                                $numFmts = 
$xmlStyles->numFmts[0];
@@ -496,6 +527,10 @@
                                                                        $numFmt 
= PHPExcel_Style_NumberFormat::builtInFormatCode((int)$xf["numFmtId"]);
                                                                }
                                                        }
+                            $quotePrefix = false;
+                                                       if 
(isset($xf["quotePrefix"])) {
+                                $quotePrefix = (boolean) $xf["quotePrefix"];
+                            }
                                                        //$numFmt = 
str_replace('mm', 'i', $numFmt);
                                                        //$numFmt = 
str_replace('h', 'H', $numFmt);
 
@@ -506,6 +541,7 @@
                                                                "border" => 
$xmlStyles->borders->border[intval($xf["borderId"])],
                                                                "alignment" => 
$xf->alignment,
                                                                "protection" => 
$xf->protection,
+                                                               "quotePrefix" 
=> $quotePrefix,
                                                        );
                                                        $styles[] = $style;
 
@@ -533,6 +569,7 @@
                                                                "border" => 
$xmlStyles->borders->border[intval($xf["borderId"])],
                                                                "alignment" => 
$xf->alignment,
                                                                "protection" => 
$xf->protection,
+                                                               "quotePrefix" 
=> $quotePrefix,
                                                        );
                                                        $cellStyles[] = 
$cellStyle;
 
@@ -545,7 +582,7 @@
 
                                        $dxfs = array();
                                        if (!$this->_readDataOnly && 
$xmlStyles) {
-                                               //      Conditional Styles
+                                               //      Conditional Styles
                                                if ($xmlStyles->dxfs) {
                                                        foreach 
($xmlStyles->dxfs->dxf as $dxf) {
                                                                $style = new 
PHPExcel_Style(FALSE, TRUE);
@@ -553,7 +590,7 @@
                                                                $dxfs[] = 
$style;
                                                        }
                                                }
-                                               //      Cell Styles
+                                               //      Cell Styles
                                                if ($xmlStyles->cellStyles) {
                                                        foreach 
($xmlStyles->cellStyles->cellStyle as $cellStyle) {
                                                                if 
(intval($cellStyle['builtinId']) == 0) {
@@ -569,7 +606,7 @@
                                                }
                                        }
 
-                                       $xmlWorkbook = 
simplexml_load_string($this->_getFromZipArchive($zip, "{$rel['Target']}"));  
//~ http://schemas.openxmlformats.org/spreadsheetml/2006/main";);
+                                       $xmlWorkbook = 
simplexml_load_string($this->_getFromZipArchive($zip, "{$rel['Target']}"), 
'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions());  //~ 
http://schemas.openxmlformats.org/spreadsheetml/2006/main";);
 
                                        // Set base date
                                        if ($xmlWorkbook->workbookPr) {
@@ -606,13 +643,13 @@
 
                                                        // Load sheet
                                                        $docSheet = 
$excel->createSheet();
-                                                       //      Use false for 
$updateFormulaCellReferences to prevent adjustment of worksheet
-                                                       //              
references in formula cells... during the load, all formulae should be correct,
-                                                       //              and 
we're simply bringing the worksheet name in line with the formula, not the
-                                                       //              reverse
+                                                       //      Use false for 
$updateFormulaCellReferences to prevent adjustment of worksheet
+                                                       //              
references in formula cells... during the load, all formulae should be correct,
+                                                       //              and 
we're simply bringing the worksheet name in line with the formula, not the
+                                                       //              reverse
                                                        
$docSheet->setTitle((string) $eleSheet["name"],false);
                                                        $fileWorksheet = 
$worksheets[(string) 
self::array_item($eleSheet->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships";),
 "id")];
-                                                       $xmlSheet = 
simplexml_load_string($this->_getFromZipArchive($zip, "$dir/$fileWorksheet"));  
//~ http://schemas.openxmlformats.org/spreadsheetml/2006/main";);
+                                                       $xmlSheet = 
simplexml_load_string($this->_getFromZipArchive($zip, "$dir/$fileWorksheet"), 
'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions());  //~ 
http://schemas.openxmlformats.org/spreadsheetml/2006/main";);
 
                                                        $sharedFormulas = 
array();
 
@@ -629,10 +666,10 @@
                                                                    
$docSheet->getSheetView()->setZoomScaleNormal( 
intval($xmlSheet->sheetViews->sheetView['zoomScaleNormal']) );
                                                                }
 
-                                                           if 
(isset($xmlSheet->sheetViews->sheetView['view'])) {
-                                                                   
$docSheet->getSheetView()->setView((string) 
$xmlSheet->sheetViews->sheetView['view']);
-                                                               }
-
+                                                           if 
(isset($xmlSheet->sheetViews->sheetView['view'])) {
+                                                                   
$docSheet->getSheetView()->setView((string) 
$xmlSheet->sheetViews->sheetView['view']);
+                                                               }
+
                                                                if 
(isset($xmlSheet->sheetViews->sheetView['showGridLines'])) {
                                                                        
$docSheet->setShowGridLines(self::boolean((string)$xmlSheet->sheetViews->sheetView['showGridLines']));
                                                                }
@@ -680,7 +717,9 @@
                                                                        
$docSheet->getTabColor()->setARGB( (string)$xmlSheet->sheetPr->tabColor['rgb'] 
);
                                                                }
                                                        }
-
+                                                       if 
(isset($xmlSheet->sheetPr) && isset($xmlSheet->sheetPr['codeName'])) {
+                                                               
$docSheet->setCodeName((string) $xmlSheet->sheetPr['codeName']);
+                                                       }
                                                        if 
(isset($xmlSheet->sheetPr) && isset($xmlSheet->sheetPr->outlinePr)) {
                                                                if 
(isset($xmlSheet->sheetPr->outlinePr['summaryRight']) &&
                                                                        
!self::boolean((string) $xmlSheet->sheetPr->outlinePr['summaryRight'])) {
@@ -715,15 +754,15 @@
                                                                if 
(isset($xmlSheet->sheetFormatPr['defaultColWidth'])) {
                                                                        
$docSheet->getDefaultColumnDimension()->setWidth( 
(float)$xmlSheet->sheetFormatPr['defaultColWidth'] );
                                                                }
-                                                               if 
(isset($xmlSheet->sheetFormatPr['zeroHeight']) &&
-                                                                       
((string)$xmlSheet->sheetFormatPr['zeroHeight'] == '1')) {
-                                                                       
$docSheet->getDefaultRowDimension()->setzeroHeight(true);
+                                                               if 
(isset($xmlSheet->sheetFormatPr['zeroHeight']) &&
+                                                                       
((string)$xmlSheet->sheetFormatPr['zeroHeight'] == '1')) {
+                                                                       
$docSheet->getDefaultRowDimension()->setzeroHeight(true);
                                                                }
                                                        }
 
                                                        if 
(isset($xmlSheet->cols) && !$this->_readDataOnly) {
                                                                foreach 
($xmlSheet->cols->col as $col) {
-                                                                       for ($i 
= intval($col["min"]) - 1; $i < intval($col["max"]); ++$i) {
+                                    for ($i = intval($col["min"]) - 1; $i < 
intval($col["max"]); ++$i) {
                                                                                
if ($col["style"] && !$this->_readDataOnly) {
                                                                                
        
$docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setXfIndex(intval($col["style"]));
                                                                                
}
@@ -731,6 +770,7 @@
                                                                                
        
//$docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setAutoSize(TRUE);
                                                                                
}
                                                                                
if (self::boolean($col["hidden"])) {
+                                        // echo 
PHPExcel_Cell::stringFromColumnIndex($i),': HIDDEN COLUMN',PHP_EOL;
                                                                                
        
$docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setVisible(FALSE);
                                                                                
}
                                                                                
if (self::boolean($col["collapsed"])) {
@@ -798,15 +838,15 @@
                                                                                
        }
                                                                                
}
 
-       //                                                                      
echo '<b>Reading cell '.$coordinates[0].$coordinates[1].'</b><br />';
+       //                                                                      
echo 'Reading cell ', $coordinates[0], $coordinates[1], PHP_EOL;
        //                                                                      
print_r($c);
-       //                                                                      
echo '<br />';
-       //                                                                      
echo 'Cell Data Type is '.$cellDataType.': ';
+       //                                                                      
echo PHP_EOL;
+       //                                                                      
echo 'Cell Data Type is ', $cellDataType, ': ';
        //
                                                                                
// Read cell!
                                                                                
switch ($cellDataType) {
                                                                                
        case "s":
-       //                                                                      
                echo 'String<br />';
+       //                                                                      
                echo 'String', PHP_EOL;
                                                                                
                if ((string)$c->v != '') {
                                                                                
                        $value = $sharedStrings[intval($c->v)];
 
@@ -819,52 +859,52 @@
 
                                                                                
                break;
                                                                                
        case "b":
-       //                                                                      
                echo 'Boolean<br />';
+       //                                                                      
                echo 'Boolean', PHP_EOL;
                                                                                
                if (!isset($c->f)) {
                                                                                
                        $value = self::_castToBool($c);
                                                                                
                } else {
                                                                                
                        // Formula
                                                                                
                        
$this->_castToFormula($c,$r,$cellDataType,$value,$calculatedValue,$sharedFormulas,'_castToBool');
-                                                                               
                        if (isset($c->f['t'])) {
-                                                                               
                                $att = array();
-                                                                               
                                $att = $c->f;
-                                                                               
                                
$docSheet->getCell($r)->setFormulaAttributes($att);
-                                                                               
                        }
-       //                                                                      
                        echo '$calculatedValue = '.$calculatedValue.'<br />';
+                                                                               
                        if (isset($c->f['t'])) {
+                                                                               
                                $att = array();
+                                                                               
                                $att = $c->f;
+                                                                               
                                
$docSheet->getCell($r)->setFormulaAttributes($att);
+                                                                               
                        }
+       //                                                                      
                        echo '$calculatedValue = ', $calculatedValue, PHP_EOL;
                                                                                
                }
                                                                                
                break;
                                                                                
        case "inlineStr":
-       //                                                                      
                echo 'Inline String<br />';
+       //                                                                      
                echo 'Inline String', PHP_EOL;
                                                                                
                $value = $this->_parseRichText($c->is);
 
                                                                                
                break;
                                                                                
        case "e":
-       //                                                                      
                echo 'Error<br />';
+       //                                                                      
                echo 'Error', PHP_EOL;
                                                                                
                if (!isset($c->f)) {
                                                                                
                        $value = self::_castToError($c);
                                                                                
                } else {
                                                                                
                        // Formula
                                                                                
                        
$this->_castToFormula($c,$r,$cellDataType,$value,$calculatedValue,$sharedFormulas,'_castToError');
-       //                                                                      
                        echo '$calculatedValue = '.$calculatedValue.'<br />';
+       //                                                                      
                        echo '$calculatedValue = ', $calculatedValue, PHP_EOL;
                                                                                
                }
 
                                                                                
                break;
 
                                                                                
        default:
-       //                                                                      
                echo 'Default<br />';
+       //                                                                      
                echo 'Default', PHP_EOL;
                                                                                
                if (!isset($c->f)) {
-       //                                                                      
                        echo 'Not a Formula<br />';
+       //                                                                      
                        echo 'Not a Formula', PHP_EOL;
                                                                                
                        $value = self::_castToString($c);
                                                                                
                } else {
-       //                                                                      
                        echo 'Treat as Formula<br />';
+       //                                                                      
                        echo 'Treat as Formula', PHP_EOL;
                                                                                
                        // Formula
                                                                                
                        
$this->_castToFormula($c,$r,$cellDataType,$value,$calculatedValue,$sharedFormulas,'_castToString');
-       //                                                                      
                        echo '$calculatedValue = '.$calculatedValue.'<br />';
+       //                                                                      
                        echo '$calculatedValue = ', $calculatedValue, PHP_EOL;
                                                                                
                }
 
                                                                                
                break;
                                                                                
}
-       //                                                                      
echo 'Value is '.$value.'<br />';
+       //                                                                      
echo 'Value is ', $value, PHP_EOL;
 
                                                                                
// Check for numeric values
                                                                                
if (is_numeric($value) && $cellDataType != 's') {
@@ -946,7 +986,7 @@
                                                                        }
                                                                }
                                                        }
-
+
                                                        $aKeys = array("sheet", 
"objects", "scenarios", "formatCells", "formatColumns", "formatRows", 
"insertColumns", "insertRows", "insertHyperlinks", "deleteColumns", 
"deleteRows", "selectLockedCells", "sort", "autoFilter", "pivotTables", 
"selectUnlockedCells");
                                                        if 
(!$this->_readDataOnly && $xmlSheet && $xmlSheet->sheetProtection) {
                                                                foreach ($aKeys 
as $key) {
@@ -965,111 +1005,111 @@
                                                        }
 
                                                        if ($xmlSheet && 
$xmlSheet->autoFilter && !$this->_readDataOnly) {
-                                                               $autoFilter = 
$docSheet->getAutoFilter();
+                                                               $autoFilter = 
$docSheet->getAutoFilter();
                                                                
$autoFilter->setRange((string) $xmlSheet->autoFilter["ref"]);
-                                                               foreach 
($xmlSheet->autoFilter->filterColumn as $filterColumn) {
-                                                                       $column 
= $autoFilter->getColumnByOffset((integer) $filterColumn["colId"]);
-                                                                       //      
Check for standard filters
-                                                                       if 
($filterColumn->filters) {
-                                                                               
$column->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER);
-                                                                               
$filters = $filterColumn->filters;
-                                                                               
if ((isset($filters["blank"])) && ($filters["blank"] == 1)) {
-                                                                               
        $column->createRule()->setRule(
-                                                                               
                NULL,   //      Operator is undefined, but always treated as 
EQUAL
-                                                                               
                ''
-                                                                               
        )
-                                                                               
        
->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_FILTER);
-                                                                               
}
-                                                                               
//      Standard filters are always an OR join, so no join rule needs to be set
-                                                                               
//      Entries can be either filter elements
-                                                                               
foreach ($filters->filter as $filterRule) {
-                                                                               
        $column->createRule()->setRule(
-                                                                               
                NULL,   //      Operator is undefined, but always treated as 
EQUAL
-                                                                               
                (string) $filterRule["val"]
-                                                                               
        )
-                                                                               
        
->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_FILTER);
-                                                                               
}
-                                                                               
//      Or Date Group elements
-                                                                               
foreach ($filters->dateGroupItem as $dateGroupItem) {
-                                                                               
        $column->createRule()->setRule(
-                                                                               
                NULL,   //      Operator is undefined, but always treated as 
EQUAL
-                                                                               
                array(
-                                                                               
                        'year' => (string) $dateGroupItem["year"],
-                                                                               
                        'month' => (string) $dateGroupItem["month"],
-                                                                               
                        'day' => (string) $dateGroupItem["day"],
-                                                                               
                        'hour' => (string) $dateGroupItem["hour"],
-                                                                               
                        'minute' => (string) $dateGroupItem["minute"],
-                                                                               
                        'second' => (string) $dateGroupItem["second"],
-                                                                               
                ),
-                                                                               
                (string) $dateGroupItem["dateTimeGrouping"]
-                                                                               
        )
-                                                                               
        
->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP);
-                                                                               
}
-                                                                       }
-                                                                       //      
Check for custom filters
-                                                                       if 
($filterColumn->customFilters) {
-                                                                               
$column->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_CUSTOMFILTER);
-                                                                               
$customFilters = $filterColumn->customFilters;
-                                                                               
//      Custom filters can an AND or an OR join;
-                                                                               
//              and there should only ever be one or two entries
-                                                                               
if ((isset($customFilters["and"])) && ($customFilters["and"] == 1)) {
-                                                                               
        
$column->setJoin(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_AND);
-                                                                               
}
-                                                                               
foreach ($customFilters->customFilter as $filterRule) {
-                                                                               
        $column->createRule()->setRule(
-                                                                               
                (string) $filterRule["operator"],
-                                                                               
                (string) $filterRule["val"]
-                                                                               
        )
-                                                                               
        
->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER);
-                                                                               
}
-                                                                       }
-                                                                       //      
Check for dynamic filters
-                                                                       if 
($filterColumn->dynamicFilter) {
-                                                                               
$column->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_DYNAMICFILTER);
-                                                                               
//      We should only ever have one dynamic filter
-                                                                               
foreach ($filterColumn->dynamicFilter as $filterRule) {
-                                                                               
        $column->createRule()->setRule(
-                                                                               
                NULL,   //      Operator is undefined, but always treated as 
EQUAL
-                                                                               
                (string) $filterRule["val"],
-                                                                               
                (string) $filterRule["type"]
-                                                                               
        )
-                                                                               
        
->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMICFILTER);
-                                                                               
        if (isset($filterRule["val"])) {
-                                                                               
                $column->setAttribute('val',(string) $filterRule["val"]);
-                                                                               
        }
-                                                                               
        if (isset($filterRule["maxVal"])) {
-                                                                               
                $column->setAttribute('maxVal',(string) $filterRule["maxVal"]);
-                                                                               
        }
-                                                                               
}
-                                                                       }
-                                                                       //      
Check for dynamic filters
-                                                                       if 
($filterColumn->top10) {
-                                                                               
$column->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_TOPTENFILTER);
-                                                                               
//      We should only ever have one top10 filter
-                                                                               
foreach ($filterColumn->top10 as $filterRule) {
-                                                                               
        $column->createRule()->setRule(
-                                                                               
                (((isset($filterRule["percent"])) && ($filterRule["percent"] == 
1))
-                                                                               
                        ? 
PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT
-                                                                               
                        : 
PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_BY_VALUE
-                                                                               
                ),
-                                                                               
                (string) $filterRule["val"],
-                                                                               
                (((isset($filterRule["top"])) && ($filterRule["top"] == 1))
-                                                                               
                        ? 
PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_TOP
-                                                                               
                        : 
PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_BOTTOM
-                                                                               
                )
-                                                                               
        )
-                                                                               
        
->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_TOPTENFILTER);
-                                                                               
}
-                                                                       }
-                                                               }
+                                                               foreach 
($xmlSheet->autoFilter->filterColumn as $filterColumn) {
+                                                                       $column 
= $autoFilter->getColumnByOffset((integer) $filterColumn["colId"]);
+                                                                       //      
Check for standard filters
+                                                                       if 
($filterColumn->filters) {
+                                                                               
$column->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER);
+                                                                               
$filters = $filterColumn->filters;
+                                                                               
if ((isset($filters["blank"])) && ($filters["blank"] == 1)) {
+                                                                               
        $column->createRule()->setRule(
+                                                                               
                NULL,   //      Operator is undefined, but always treated as 
EQUAL
+                                                                               
                ''
+                                                                               
        )
+                                                                               
        
->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_FILTER);
+                                                                               
}
+                                                                               
//      Standard filters are always an OR join, so no join rule needs to be set
+                                                                               
//      Entries can be either filter elements
+                                                                               
foreach ($filters->filter as $filterRule) {
+                                                                               
        $column->createRule()->setRule(
+                                                                               
                NULL,   //      Operator is undefined, but always treated as 
EQUAL
+                                                                               
                (string) $filterRule["val"]
+                                                                               
        )
+                                                                               
        
->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_FILTER);
+                                                                               
}

@@ Diff output truncated at 153600 characters. @@



reply via email to

[Prev in Thread] Current Thread [Next in Thread]