Overview

Packages

  • JAMA
  • None
  • PHP
  • PHPExcel
    • CachedObjectStorage
    • Calculation
    • Cell
    • Chart
      • Renderer
    • Reader
      • Excel2007
      • Excel5
    • RichText
    • Settings
    • Shared
      • Escher
      • OLE
      • Trend
      • ZipArchive
    • Style
    • Worksheet
      • Drawing
    • Writer
      • 2007
      • CSV
      • Excel2007
      • Excel5
      • HTML
      • PDF

Classes

  • CholeskyDecomposition
  • Dao
  • DateTime
  • DateTimeZone
  • DOMNode
  • EigenvalueDecomposition
  • Elemento
  • Historial
  • Irradiacion
  • Latitud
  • MotorPhp
  • Panel
  • PclZip
  • Periodo
  • PHPExcel
  • PHPExcel_Autoloader
  • PHPExcel_Best_Fit
  • PHPExcel_CachedObjectStorage_APC
  • PHPExcel_CachedObjectStorage_CacheBase
  • PHPExcel_CachedObjectStorage_DiscISAM
  • PHPExcel_CachedObjectStorage_Igbinary
  • PHPExcel_CachedObjectStorage_Memcache
  • PHPExcel_CachedObjectStorage_Memory
  • PHPExcel_CachedObjectStorage_MemoryGZip
  • PHPExcel_CachedObjectStorage_MemorySerialized
  • PHPExcel_CachedObjectStorage_PHPTemp
  • PHPExcel_CachedObjectStorage_SQLite
  • PHPExcel_CachedObjectStorage_SQLite3
  • PHPExcel_CachedObjectStorage_Wincache
  • PHPExcel_CachedObjectStorageFactory
  • PHPExcel_CalcEngine_CyclicReferenceStack
  • PHPExcel_CalcEngine_Logger
  • PHPExcel_Calculation
  • PHPExcel_Calculation_Database
  • PHPExcel_Calculation_DateTime
  • PHPExcel_Calculation_Engineering
  • PHPExcel_Calculation_ExceptionHandler
  • PHPExcel_Calculation_Financial
  • PHPExcel_Calculation_FormulaParser
  • PHPExcel_Calculation_FormulaToken
  • PHPExcel_Calculation_Function
  • PHPExcel_Calculation_Functions
  • PHPExcel_Calculation_Logical
  • PHPExcel_Calculation_LookupRef
  • PHPExcel_Calculation_MathTrig
  • PHPExcel_Calculation_Statistical
  • PHPExcel_Calculation_TextData
  • PHPExcel_Calculation_Token_Stack
  • PHPExcel_Cell
  • PHPExcel_Cell_AdvancedValueBinder
  • PHPExcel_Cell_DataType
  • PHPExcel_Cell_DataValidation
  • PHPExcel_Cell_DefaultValueBinder
  • PHPExcel_Cell_Hyperlink
  • PHPExcel_Chart
  • PHPExcel_Chart_DataSeries
  • PHPExcel_Chart_DataSeriesValues
  • PHPExcel_Chart_Layout
  • PHPExcel_Chart_Legend
  • PHPExcel_Chart_PlotArea
  • PHPExcel_Chart_Renderer_jpgraph
  • PHPExcel_Chart_Title
  • PHPExcel_Comment
  • PHPExcel_DocumentProperties
  • PHPExcel_DocumentSecurity
  • PHPExcel_Exponential_Best_Fit
  • PHPExcel_HashTable
  • PHPExcel_IOFactory
  • PHPExcel_Linear_Best_Fit
  • PHPExcel_Logarithmic_Best_Fit
  • PHPExcel_NamedRange
  • PHPExcel_Polynomial_Best_Fit
  • PHPExcel_Power_Best_Fit
  • PHPExcel_Reader_Abstract
  • PHPExcel_Reader_CSV
  • PHPExcel_Reader_DefaultReadFilter
  • PHPExcel_Reader_Excel2003XML
  • PHPExcel_Reader_Excel2007
  • PHPExcel_Reader_Excel2007_Chart
  • PHPExcel_Reader_Excel2007_Theme
  • PHPExcel_Reader_Excel5
  • PHPExcel_Reader_Excel5_Escher
  • PHPExcel_Reader_Excel5_MD5
  • PHPExcel_Reader_Excel5_RC4
  • PHPExcel_Reader_Gnumeric
  • PHPExcel_Reader_HTML
  • PHPExcel_Reader_OOCalc
  • PHPExcel_Reader_SYLK
  • PHPExcel_ReferenceHelper
  • PHPExcel_RichText
  • PHPExcel_RichText_Run
  • PHPExcel_RichText_TextElement
  • PHPExcel_Settings
  • PHPExcel_Shared_CodePage
  • PHPExcel_Shared_Date
  • PHPExcel_Shared_Drawing
  • PHPExcel_Shared_Escher
  • PHPExcel_Shared_Escher_DgContainer
  • PHPExcel_Shared_Escher_DgContainer_SpgrContainer
  • PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer
  • PHPExcel_Shared_Escher_DggContainer
  • PHPExcel_Shared_Escher_DggContainer_BstoreContainer
  • PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE
  • PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip
  • PHPExcel_Shared_Excel5
  • PHPExcel_Shared_File
  • PHPExcel_Shared_Font
  • PHPExcel_Shared_JAMA_LUDecomposition
  • PHPExcel_Shared_JAMA_Matrix
  • PHPExcel_Shared_JAMA_QRDecomposition
  • PHPExcel_Shared_OLE
  • PHPExcel_Shared_OLE_ChainedBlockStream
  • PHPExcel_Shared_OLE_PPS
  • PHPExcel_Shared_OLE_PPS_File
  • PHPExcel_Shared_OLE_PPS_Root
  • PHPExcel_Shared_OLERead
  • PHPExcel_Shared_PasswordHasher
  • PHPExcel_Shared_String
  • PHPExcel_Shared_TimeZone
  • PHPExcel_Shared_XMLWriter
  • PHPExcel_Shared_ZipArchive
  • PHPExcel_Shared_ZipStreamWrapper
  • PHPExcel_Style
  • PHPExcel_Style_Alignment
  • PHPExcel_Style_Border
  • PHPExcel_Style_Borders
  • PHPExcel_Style_Color
  • PHPExcel_Style_Conditional
  • PHPExcel_Style_Fill
  • PHPExcel_Style_Font
  • PHPExcel_Style_NumberFormat
  • PHPExcel_Style_Protection
  • PHPExcel_Style_Supervisor
  • PHPExcel_Worksheet
  • PHPExcel_Worksheet_AutoFilter
  • PHPExcel_Worksheet_AutoFilter_Column
  • PHPExcel_Worksheet_AutoFilter_Column_Rule
  • PHPExcel_Worksheet_BaseDrawing
  • PHPExcel_Worksheet_CellIterator
  • PHPExcel_Worksheet_ColumnDimension
  • PHPExcel_Worksheet_Drawing
  • PHPExcel_Worksheet_Drawing_Shadow
  • PHPExcel_Worksheet_HeaderFooter
  • PHPExcel_Worksheet_HeaderFooterDrawing
  • PHPExcel_Worksheet_MemoryDrawing
  • PHPExcel_Worksheet_PageMargins
  • PHPExcel_Worksheet_PageSetup
  • PHPExcel_Worksheet_Protection
  • PHPExcel_Worksheet_Row
  • PHPExcel_Worksheet_RowDimension
  • PHPExcel_Worksheet_RowIterator
  • PHPExcel_Worksheet_SheetView
  • PHPExcel_WorksheetIterator
  • PHPExcel_Writer_Abstract
  • PHPExcel_Writer_CSV
  • PHPExcel_Writer_Excel2007
  • PHPExcel_Writer_Excel2007_Chart
  • PHPExcel_Writer_Excel2007_Comments
  • PHPExcel_Writer_Excel2007_ContentTypes
  • PHPExcel_Writer_Excel2007_DocProps
  • PHPExcel_Writer_Excel2007_Drawing
  • PHPExcel_Writer_Excel2007_Rels
  • PHPExcel_Writer_Excel2007_RelsRibbon
  • PHPExcel_Writer_Excel2007_RelsVBA
  • PHPExcel_Writer_Excel2007_StringTable
  • PHPExcel_Writer_Excel2007_Style
  • PHPExcel_Writer_Excel2007_Theme
  • PHPExcel_Writer_Excel2007_Workbook
  • PHPExcel_Writer_Excel2007_Worksheet
  • PHPExcel_Writer_Excel2007_WriterPart
  • PHPExcel_Writer_Excel5
  • PHPExcel_Writer_Excel5_BIFFwriter
  • PHPExcel_Writer_Excel5_Escher
  • PHPExcel_Writer_Excel5_Font
  • PHPExcel_Writer_Excel5_Parser
  • PHPExcel_Writer_Excel5_Workbook
  • PHPExcel_Writer_Excel5_Worksheet
  • PHPExcel_Writer_Excel5_Xf
  • PHPExcel_Writer_HTML
  • PHPExcel_Writer_PDF
  • PHPExcel_Writer_PDF_Core
  • PHPExcel_Writer_PDF_DomPDF
  • PHPExcel_Writer_PDF_mPDF
  • PHPExcel_Writer_PDF_tcPDF
  • Provincia
  • Radiacion
  • SingularValueDecomposition
  • Sistema
  • trendClass
  • xajax
  • xajaxArgumentManager
  • xajaxCallableObject
  • xajaxCallableObjectPlugin
  • xajaxControl
  • xajaxControlContainer
  • xajaxCustomRequest
  • xajaxCustomResponse
  • xajaxEvent
  • xajaxEventPlugin
  • xajaxFunctionPlugin
  • xajaxIncludeClientScriptPlugin
  • xajaxLanguageManager
  • xajaxPlugin
  • xajaxPluginManager
  • xajaxRequest
  • xajaxRequestPlugin
  • xajaxResponse
  • xajaxResponseManager
  • xajaxResponsePlugin
  • xajaxScriptPlugin
  • xajaxUserFunction
  • XMLWriter

Interfaces

  • DateTimeInterface
  • Iterator
  • PHPExcel_CachedObjectStorage_ICache
  • PHPExcel_Cell_IValueBinder
  • PHPExcel_IComparable
  • PHPExcel_Reader_IReader
  • PHPExcel_Reader_IReadFilter
  • PHPExcel_RichText_ITextElement
  • PHPExcel_Writer_IWriter
  • Throwable
  • Traversable

Exceptions

  • Exception
  • PHPExcel_Calculation_Exception
  • PHPExcel_Chart_Exception
  • PHPExcel_Exception
  • PHPExcel_Reader_Exception
  • PHPExcel_Writer_Exception

Functions

  • acosh
  • agregar_elemento
  • asinh
  • atanh
  • borrar_elementos
  • borrar_gdm_ab
  • borrar_irradiacion
  • borrar_latitud
  • borrar_panel
  • borrar_periodo
  • borrar_pmp_min_pmp_max
  • borrar_radiacion
  • borrar_resumen
  • borrar_sistema
  • borrar_sombra
  • gdm_ab
  • grabar_resumen
  • historial
  • hypo
  • irradiacion
  • JAMAError
  • latitud
  • limpiar_historial
  • login
  • mb_str_replace
  • mostrar_energia_total_ch
  • mostrar_panel_md_th
  • mostrar_panel_th
  • mostrar_radiacion_md_th
  • mostrar_radiacion_th
  • mostrar_resumen_th
  • panel
  • PclZipUtilCopyBlock
  • PclZipUtilOptionText
  • PclZipUtilPathInclusion
  • PclZipUtilPathReduction
  • PclZipUtilRename
  • PclZipUtilTranslateWinPath
  • periodo
  • pmp_min_pmp_max
  • preparar_panel
  • preparar_radiacion
  • preparar_radiacion_media
  • radiacion
  • resumen
  • sistema
  • sombra
  • xajaxCompressFile
  • xajaxErrorHandler
  • Overview
  • Package
  • Class
  • Tree
  • Deprecated
  • Todo
  • Download
  1: <?php
  2: /**
  3:  * PHPExcel
  4:  *
  5:  * Copyright (c) 2006 - 2014 PHPExcel
  6:  *
  7:  * This library is free software; you can redistribute it and/or
  8:  * modify it under the terms of the GNU Lesser General Public
  9:  * License as published by the Free Software Foundation; either
 10:  * version 2.1 of the License, or (at your option) any later version.
 11:  *
 12:  * This library is distributed in the hope that it will be useful,
 13:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 14:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15:  * Lesser General Public License for more details.
 16:  *
 17:  * You should have received a copy of the GNU Lesser General Public
 18:  * License along with this library; if not, write to the Free Software
 19:  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 20:  *
 21:  * @category   PHPExcel
 22:  * @package    PHPExcel_CachedObjectStorage
 23:  * @copyright  Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
 24:  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
 25:  * @version    1.8.0, 2014-03-02
 26:  */
 27: 
 28: 
 29: /**
 30:  * PHPExcel_CachedObjectStorage_Memcache
 31:  *
 32:  * @category   PHPExcel
 33:  * @package    PHPExcel_CachedObjectStorage
 34:  * @copyright  Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
 35:  */
 36: class PHPExcel_CachedObjectStorage_Memcache extends PHPExcel_CachedObjectStorage_CacheBase implements PHPExcel_CachedObjectStorage_ICache {
 37: 
 38:     /**
 39:      * Prefix used to uniquely identify cache data for this worksheet
 40:      *
 41:      * @var string
 42:      */
 43:     private $_cachePrefix = null;
 44: 
 45:     /**
 46:      * Cache timeout
 47:      *
 48:      * @var integer
 49:      */
 50:     private $_cacheTime = 600;
 51: 
 52:     /**
 53:      * Memcache interface
 54:      *
 55:      * @var resource
 56:      */
 57:     private $_memcache = null;
 58: 
 59: 
 60:     /**
 61:      * Store cell data in cache for the current cell object if it's "dirty",
 62:      *     and the 'nullify' the current cell object
 63:      *
 64:      * @return  void
 65:      * @throws  PHPExcel_Exception
 66:      */
 67:     protected function _storeData() {
 68:         if ($this->_currentCellIsDirty && !empty($this->_currentObjectID)) {
 69:             $this->_currentObject->detach();
 70: 
 71:             $obj = serialize($this->_currentObject);
 72:             if (!$this->_memcache->replace($this->_cachePrefix.$this->_currentObjectID.'.cache',$obj,NULL,$this->_cacheTime)) {
 73:                 if (!$this->_memcache->add($this->_cachePrefix.$this->_currentObjectID.'.cache',$obj,NULL,$this->_cacheTime)) {
 74:                     $this->__destruct();
 75:                     throw new PHPExcel_Exception('Failed to store cell '.$this->_currentObjectID.' in MemCache');
 76:                 }
 77:             }
 78:             $this->_currentCellIsDirty = false;
 79:         }
 80:         $this->_currentObjectID = $this->_currentObject = null;
 81:     }   //  function _storeData()
 82: 
 83: 
 84:     /**
 85:      * Add or Update a cell in cache identified by coordinate address
 86:      *
 87:      * @param   string          $pCoord     Coordinate address of the cell to update
 88:      * @param   PHPExcel_Cell   $cell       Cell to update
 89:      * @return  void
 90:      * @throws  PHPExcel_Exception
 91:      */
 92:     public function addCacheData($pCoord, PHPExcel_Cell $cell) {
 93:         if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) {
 94:             $this->_storeData();
 95:         }
 96:         $this->_cellCache[$pCoord] = true;
 97: 
 98:         $this->_currentObjectID = $pCoord;
 99:         $this->_currentObject = $cell;
100:         $this->_currentCellIsDirty = true;
101: 
102:         return $cell;
103:     }   //  function addCacheData()
104: 
105: 
106:     /**
107:      * Is a value set in the current PHPExcel_CachedObjectStorage_ICache for an indexed cell?
108:      *
109:      * @param   string      $pCoord     Coordinate address of the cell to check
110:      * @return  void
111:      * @return  boolean
112:      */
113:     public function isDataSet($pCoord) {
114:         //  Check if the requested entry is the current object, or exists in the cache
115:         if (parent::isDataSet($pCoord)) {
116:             if ($this->_currentObjectID == $pCoord) {
117:                 return true;
118:             }
119:             //  Check if the requested entry still exists in Memcache
120:             $success = $this->_memcache->get($this->_cachePrefix.$pCoord.'.cache');
121:             if ($success === false) {
122:                 //  Entry no longer exists in Memcache, so clear it from the cache array
123:                 parent::deleteCacheData($pCoord);
124:                 throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in MemCache');
125:             }
126:             return true;
127:         }
128:         return false;
129:     }   //  function isDataSet()
130: 
131: 
132:     /**
133:      * Get cell at a specific coordinate
134:      *
135:      * @param   string          $pCoord     Coordinate of the cell
136:      * @throws  PHPExcel_Exception
137:      * @return  PHPExcel_Cell   Cell that was found, or null if not found
138:      */
139:     public function getCacheData($pCoord) {
140:         if ($pCoord === $this->_currentObjectID) {
141:             return $this->_currentObject;
142:         }
143:         $this->_storeData();
144: 
145:         //  Check if the entry that has been requested actually exists
146:         if (parent::isDataSet($pCoord)) {
147:             $obj = $this->_memcache->get($this->_cachePrefix.$pCoord.'.cache');
148:             if ($obj === false) {
149:                 //  Entry no longer exists in Memcache, so clear it from the cache array
150:                 parent::deleteCacheData($pCoord);
151:                 throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in MemCache');
152:             }
153:         } else {
154:             //  Return null if requested entry doesn't exist in cache
155:             return null;
156:         }
157: 
158:         //  Set current entry to the requested entry
159:         $this->_currentObjectID = $pCoord;
160:         $this->_currentObject = unserialize($obj);
161:         //    Re-attach this as the cell's parent
162:         $this->_currentObject->attach($this);
163: 
164:         //  Return requested entry
165:         return $this->_currentObject;
166:     }   //  function getCacheData()
167: 
168: 
169:     /**
170:      * Get a list of all cell addresses currently held in cache
171:      *
172:      * @return  array of string
173:      */
174:     public function getCellList() {
175:         if ($this->_currentObjectID !== null) {
176:             $this->_storeData();
177:         }
178: 
179:         return parent::getCellList();
180:     }
181: 
182: 
183:     /**
184:      * Delete a cell in cache identified by coordinate address
185:      *
186:      * @param   string          $pCoord     Coordinate address of the cell to delete
187:      * @throws  PHPExcel_Exception
188:      */
189:     public function deleteCacheData($pCoord) {
190:         //  Delete the entry from Memcache
191:         $this->_memcache->delete($this->_cachePrefix.$pCoord.'.cache');
192: 
193:         //  Delete the entry from our cell address array
194:         parent::deleteCacheData($pCoord);
195:     }   //  function deleteCacheData()
196: 
197: 
198:     /**
199:      * Clone the cell collection
200:      *
201:      * @param   PHPExcel_Worksheet  $parent     The new worksheet
202:      * @return  void
203:      */
204:     public function copyCellCollection(PHPExcel_Worksheet $parent) {
205:         parent::copyCellCollection($parent);
206:         //  Get a new id for the new file name
207:         $baseUnique = $this->_getUniqueID();
208:         $newCachePrefix = substr(md5($baseUnique),0,8).'.';
209:         $cacheList = $this->getCellList();
210:         foreach($cacheList as $cellID) {
211:             if ($cellID != $this->_currentObjectID) {
212:                 $obj = $this->_memcache->get($this->_cachePrefix.$cellID.'.cache');
213:                 if ($obj === false) {
214:                     //  Entry no longer exists in Memcache, so clear it from the cache array
215:                     parent::deleteCacheData($cellID);
216:                     throw new PHPExcel_Exception('Cell entry '.$cellID.' no longer exists in MemCache');
217:                 }
218:                 if (!$this->_memcache->add($newCachePrefix.$cellID.'.cache',$obj,NULL,$this->_cacheTime)) {
219:                     $this->__destruct();
220:                     throw new PHPExcel_Exception('Failed to store cell '.$cellID.' in MemCache');
221:                 }
222:             }
223:         }
224:         $this->_cachePrefix = $newCachePrefix;
225:     }   //  function copyCellCollection()
226: 
227: 
228:     /**
229:      * Clear the cell collection and disconnect from our parent
230:      *
231:      * @return  void
232:      */
233:     public function unsetWorksheetCells() {
234:         if(!is_null($this->_currentObject)) {
235:             $this->_currentObject->detach();
236:             $this->_currentObject = $this->_currentObjectID = null;
237:         }
238: 
239:         //  Flush the Memcache cache
240:         $this->__destruct();
241: 
242:         $this->_cellCache = array();
243: 
244:         //  detach ourself from the worksheet, so that it can then delete this object successfully
245:         $this->_parent = null;
246:     }   //  function unsetWorksheetCells()
247: 
248: 
249:     /**
250:      * Initialise this new cell collection
251:      *
252:      * @param   PHPExcel_Worksheet  $parent     The worksheet for this cell collection
253:      * @param   array of mixed      $arguments  Additional initialisation arguments
254:      */
255:     public function __construct(PHPExcel_Worksheet $parent, $arguments) {
256:         $memcacheServer = (isset($arguments['memcacheServer'])) ? $arguments['memcacheServer']  : 'localhost';
257:         $memcachePort   = (isset($arguments['memcachePort']))   ? $arguments['memcachePort']    : 11211;
258:         $cacheTime      = (isset($arguments['cacheTime']))      ? $arguments['cacheTime']       : 600;
259: 
260:         if (is_null($this->_cachePrefix)) {
261:             $baseUnique = $this->_getUniqueID();
262:             $this->_cachePrefix = substr(md5($baseUnique),0,8).'.';
263: 
264:             //  Set a new Memcache object and connect to the Memcache server
265:             $this->_memcache = new Memcache();
266:             if (!$this->_memcache->addServer($memcacheServer, $memcachePort, false, 50, 5, 5, true, array($this, 'failureCallback'))) {
267:                 throw new PHPExcel_Exception('Could not connect to MemCache server at '.$memcacheServer.':'.$memcachePort);
268:             }
269:             $this->_cacheTime = $cacheTime;
270: 
271:             parent::__construct($parent);
272:         }
273:     }   //  function __construct()
274: 
275: 
276:     /**
277:      * Memcache error handler
278:      *
279:      * @param   string  $host       Memcache server
280:      * @param   integer $port       Memcache port
281:      * @throws  PHPExcel_Exception
282:      */
283:     public function failureCallback($host, $port) {
284:         throw new PHPExcel_Exception('memcache '.$host.':'.$port.' failed');
285:     }
286: 
287: 
288:     /**
289:      * Destroy this cell collection
290:      */
291:     public function __destruct() {
292:         $cacheList = $this->getCellList();
293:         foreach($cacheList as $cellID) {
294:             $this->_memcache->delete($this->_cachePrefix.$cellID.'.cache');
295:         }
296:     }   //  function __destruct()
297: 
298:     /**
299:      * Identify whether the caching method is currently available
300:      * Some methods are dependent on the availability of certain extensions being enabled in the PHP build
301:      *
302:      * @return  boolean
303:      */
304:     public static function cacheMethodIsAvailable() {
305:         if (!function_exists('memcache_add')) {
306:             return false;
307:         }
308: 
309:         return true;
310:     }
311: 
312: }
313: 
Autene API documentation generated by ApiGen