PHPExcel_Writer_Excel2007
[ class tree: PHPExcel_Writer_Excel2007 ] [ index: PHPExcel_Writer_Excel2007 ] [ all elements ]

Source for file Excel2007.php

Documentation is available at Excel2007.php

  1. <?php
  2. /**
  3.  * PHPExcel
  4.  *
  5.  * Copyright (c) 2006 - 2009 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_Writer_Excel2007
  23.  * @copyright  Copyright (c) 2006 - 2009 PHPExcel (http://www.codeplex.com/PHPExcel)
  24.  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
  25.  * @version    1.6.7, 2009-04-22
  26.  */
  27.  
  28.  
  29. /** PHPExcel */
  30. require_once 'PHPExcel.php';
  31.  
  32. /** PHPExcel_HashTable */
  33. require_once 'PHPExcel/HashTable.php';
  34.  
  35. /** PHPExcel_IComparable */
  36. require_once 'PHPExcel/IComparable.php';
  37.  
  38. /** PHPExcel_Worksheet */
  39. require_once 'PHPExcel/Worksheet.php';
  40.  
  41. /** PHPExcel_Cell */
  42. require_once 'PHPExcel/Cell.php';
  43.  
  44. /** PHPExcel_IWriter */
  45. require_once 'PHPExcel/Writer/IWriter.php';
  46.  
  47. /** PHPExcel_Shared_XMLWriter */
  48. require_once 'PHPExcel/Shared/XMLWriter.php';
  49.  
  50. /** PHPExcel_Writer_Excel2007_WriterPart */
  51. require_once 'PHPExcel/Writer/Excel2007/WriterPart.php';
  52.  
  53. /** PHPExcel_Writer_Excel2007_StringTable */
  54. require_once 'PHPExcel/Writer/Excel2007/StringTable.php';
  55.  
  56. /** PHPExcel_Writer_Excel2007_ContentTypes */
  57. require_once 'PHPExcel/Writer/Excel2007/ContentTypes.php';
  58.  
  59. /** PHPExcel_Writer_Excel2007_DocProps */
  60. require_once 'PHPExcel/Writer/Excel2007/DocProps.php';
  61.  
  62. /** PHPExcel_Writer_Excel2007_Rels */
  63. require_once 'PHPExcel/Writer/Excel2007/Rels.php';
  64.  
  65. /** PHPExcel_Writer_Excel2007_Theme */
  66. require_once 'PHPExcel/Writer/Excel2007/Theme.php';
  67.  
  68. /** PHPExcel_Writer_Excel2007_Style */
  69. require_once 'PHPExcel/Writer/Excel2007/Style.php';
  70.  
  71. /** PHPExcel_Writer_Excel2007_Workbook */
  72. require_once 'PHPExcel/Writer/Excel2007/Workbook.php';
  73.  
  74. /** PHPExcel_Writer_Excel2007_Worksheet */
  75. require_once 'PHPExcel/Writer/Excel2007/Worksheet.php';
  76.  
  77. /** PHPExcel_Writer_Excel2007_Drawing */
  78. require_once 'PHPExcel/Writer/Excel2007/Drawing.php';
  79.  
  80. /** PHPExcel_Writer_Excel2007_Comments */
  81. require_once 'PHPExcel/Writer/Excel2007/Comments.php';
  82.  
  83.  
  84. /**
  85.  * PHPExcel_Writer_Excel2007
  86.  *
  87.  * @category   PHPExcel
  88.  * @package    PHPExcel_Writer_Excel2007
  89.  * @copyright  Copyright (c) 2006 - 2009 PHPExcel (http://www.codeplex.com/PHPExcel)
  90.  */
  91. class PHPExcel_Writer_Excel2007 implements PHPExcel_Writer_IWriter
  92. {
  93.     /**
  94.      * Pre-calculate formulas
  95.      *
  96.      * @var boolean 
  97.      */
  98.     private $_preCalculateFormulas = true;
  99.  
  100.     /**
  101.      * Office2003 compatibility
  102.      *
  103.      * @var boolean 
  104.      */
  105.     private $_office2003compatibility = false;
  106.  
  107.     /**
  108.      * Private writer parts
  109.      *
  110.      * @var PHPExcel_Writer_Excel2007_WriterPart[] 
  111.      */
  112.     private $_writerParts;
  113.  
  114.     /**
  115.      * Private PHPExcel
  116.      *
  117.      * @var PHPExcel 
  118.      */
  119.     private $_spreadSheet;
  120.  
  121.     /**
  122.      * Private string table
  123.      *
  124.      * @var string[] 
  125.      */
  126.     private $_stringTable;
  127.  
  128.     /**
  129.      * Private unique PHPExcel_Style HashTable
  130.      *
  131.      * @var PHPExcel_HashTable 
  132.      */
  133.     private $_stylesHashTable;
  134.  
  135.     /**
  136.      * Private unique PHPExcel_Style_Conditional HashTable
  137.      *
  138.      * @var PHPExcel_HashTable 
  139.      */
  140.  
  141.     /**
  142.      * Private unique PHPExcel_Style_Fill HashTable
  143.      *
  144.      * @var PHPExcel_HashTable 
  145.      */
  146.     private $_fillHashTable;
  147.  
  148.     /**
  149.      * Private unique PHPExcel_Style_Font HashTable
  150.      *
  151.      * @var PHPExcel_HashTable 
  152.      */
  153.     private $_fontHashTable;
  154.  
  155.     /**
  156.      * Private unique PHPExcel_Style_Borders HashTable
  157.      *
  158.      * @var PHPExcel_HashTable 
  159.      */
  160.     private $_bordersHashTable ;
  161.  
  162.     /**
  163.      * Private unique PHPExcel_Style_NumberFormat HashTable
  164.      *
  165.      * @var PHPExcel_HashTable 
  166.      */
  167.     private $_numFmtHashTable;
  168.  
  169.     /**
  170.      * Private unique PHPExcel_Worksheet_BaseDrawing HashTable
  171.      *
  172.      * @var PHPExcel_HashTable 
  173.      */
  174.     private $_drawingHashTable;
  175.  
  176.     /**
  177.      * Use disk caching where possible?
  178.      *
  179.      * @var boolean 
  180.      */
  181.     private $_useDiskCaching = false;
  182.     
  183.     /**
  184.      * Disk caching directory
  185.      *
  186.      * @var string 
  187.      */
  188.     private $_diskCachingDirectory;
  189.  
  190.     /**
  191.      * Create a new PHPExcel_Writer_Excel2007
  192.      *
  193.      * @param     PHPExcel    $pPHPExcel 
  194.      */
  195.     public function __construct(PHPExcel $pPHPExcel null)
  196.     {
  197.         // Assign PHPExcel
  198.         $this->setPHPExcel($pPHPExcel);
  199.         
  200.         // Set up disk caching location
  201.         $this->_diskCachingDirectory = './';
  202.  
  203.         // Initialise writer parts
  204.         $this->_writerParts['stringtable']        new PHPExcel_Writer_Excel2007_StringTable();
  205.         $this->_writerParts['contenttypes']     new PHPExcel_Writer_Excel2007_ContentTypes();
  206.         $this->_writerParts['docprops']         new PHPExcel_Writer_Excel2007_DocProps();
  207.         $this->_writerParts['rels']             new PHPExcel_Writer_Excel2007_Rels();
  208.         $this->_writerParts['theme']             new PHPExcel_Writer_Excel2007_Theme();
  209.         $this->_writerParts['style']             new PHPExcel_Writer_Excel2007_Style();
  210.         $this->_writerParts['workbook']         new PHPExcel_Writer_Excel2007_Workbook();
  211.         $this->_writerParts['worksheet']         new PHPExcel_Writer_Excel2007_Worksheet();
  212.         $this->_writerParts['drawing']             new PHPExcel_Writer_Excel2007_Drawing();
  213.         $this->_writerParts['comments']         new PHPExcel_Writer_Excel2007_Comments();
  214.  
  215.         // Assign parent IWriter
  216.         foreach ($this->_writerParts as $writer{
  217.             $writer->setParentWriter($this);
  218.         }
  219.  
  220.         // Set HashTable variables
  221.         $this->_stringTable                    = array();
  222.         $this->_stylesHashTable             = new PHPExcel_HashTable();
  223.         $this->_stylesConditionalHashTable     = new PHPExcel_HashTable();
  224.         $this->_fillHashTable                 = new PHPExcel_HashTable();
  225.         $this->_fontHashTable                 = new PHPExcel_HashTable();
  226.         $this->_bordersHashTable             = new PHPExcel_HashTable();
  227.         $this->_numFmtHashTable             = new PHPExcel_HashTable();
  228.         $this->_drawingHashTable             = new PHPExcel_HashTable();
  229.     }
  230.  
  231.     /**
  232.      * Get writer part
  233.      *
  234.      * @param     string     $pPartName        Writer part name
  235.      * @return     PHPExcel_Writer_Excel2007_WriterPart 
  236.      */
  237.     function getWriterPart($pPartName ''{
  238.         if ($pPartName != '' && isset($this->_writerParts[strtolower($pPartName)])) {
  239.             return $this->_writerParts[strtolower($pPartName)];
  240.         else {
  241.             return null;
  242.         }
  243.     }
  244.  
  245.     /**
  246.      * Save PHPExcel to file
  247.      *
  248.      * @param     string         $pFileName 
  249.      * @throws     Exception
  250.      */
  251.     public function save($pFilename null)
  252.     {
  253.         if (!is_null($this->_spreadSheet)) {
  254.             // If $pFilename is php://output or php://stdout, make it a temporary file...
  255.             $originalFilename $pFilename;
  256.             if (strtolower($pFilename== 'php://output' || strtolower($pFilename== 'php://stdout'{
  257.                 $pFilename @tempnam('./''phpxltmp');
  258.                 if ($pFilename == ''{
  259.                     $pFilename $originalFilename;
  260.                 }
  261.             }
  262.  
  263.             $saveDateReturnType PHPExcel_Calculation_Functions::getReturnDateType();
  264.  
  265.             // Create string lookup table
  266.             $this->_stringTable = array();
  267.             for ($i 0$i $this->_spreadSheet->getSheetCount()++$i{
  268.                 $this->_stringTable = $this->getWriterPart('StringTable')->createStringTable($this->_spreadSheet->getSheet($i)$this->_stringTable);
  269.             }
  270.  
  271.             // Create styles dictionaries
  272.             $this->_stylesHashTable->addFromSource(             $this->getWriterPart('Style')->allStyles($this->_spreadSheet)             );
  273.             $this->_stylesConditionalHashTable->addFromSource(     $this->getWriterPart('Style')->allConditionalStyles($this->_spreadSheet)             );
  274.             $this->_fillHashTable->addFromSource(                 $this->getWriterPart('Style')->allFills($this->_spreadSheet)             );
  275.             $this->_fontHashTable->addFromSource(                 $this->getWriterPart('Style')->allFonts($this->_spreadSheet)             );
  276.             $this->_bordersHashTable->addFromSource(             $this->getWriterPart('Style')->allBorders($this->_spreadSheet)             );
  277.             $this->_numFmtHashTable->addFromSource(             $this->getWriterPart('Style')->allNumberFormats($this->_spreadSheet)     );
  278.  
  279.             // Create drawing dictionary
  280.             $this->_drawingHashTable->addFromSource(             $this->getWriterPart('Drawing')->allDrawings($this->_spreadSheet)         );
  281.  
  282.             // Create new ZIP file and open it for writing
  283.             $objZip new ZipArchive();
  284.  
  285.             // Try opening the ZIP file
  286.             if ($objZip->open($pFilenameZIPARCHIVE::OVERWRITE!== true{
  287.                 if ($objZip->open($pFilenameZIPARCHIVE::CREATE!== true{
  288.                     throw new Exception("Could not open " $pFilename " for writing.");
  289.                 }
  290.             }
  291.  
  292.             // Add [Content_Types].xml to ZIP file
  293.             $objZip->addFromString('[Content_Types].xml',             $this->getWriterPart('ContentTypes')->writeContentTypes($this->_spreadSheet));
  294.  
  295.             // Add relationships to ZIP file
  296.             $objZip->addFromString('_rels/.rels',                     $this->getWriterPart('Rels')->writeRelationships($this->_spreadSheet));
  297.             $objZip->addFromString('xl/_rels/workbook.xml.rels',     $this->getWriterPart('Rels')->writeWorkbookRelationships($this->_spreadSheet));
  298.  
  299.             // Add document properties to ZIP file
  300.             $objZip->addFromString('docProps/app.xml',                 $this->getWriterPart('DocProps')->writeDocPropsApp($this->_spreadSheet));
  301.             $objZip->addFromString('docProps/core.xml',             $this->getWriterPart('DocProps')->writeDocPropsCore($this->_spreadSheet));
  302.  
  303.             // Add theme to ZIP file
  304.             $objZip->addFromString('xl/theme/theme1.xml',             $this->getWriterPart('Theme')->writeTheme($this->_spreadSheet));
  305.  
  306.             // Add string table to ZIP file
  307.             $objZip->addFromString('xl/sharedStrings.xml',             $this->getWriterPart('StringTable')->writeStringTable($this->_stringTable));
  308.  
  309.             // Add styles to ZIP file
  310.             $objZip->addFromString('xl/styles.xml',                 $this->getWriterPart('Style')->writeStyles($this->_spreadSheet));
  311.  
  312.             // Add workbook to ZIP file
  313.             $objZip->addFromString('xl/workbook.xml',                 $this->getWriterPart('Workbook')->writeWorkbook($this->_spreadSheet));
  314.  
  315.             // Add worksheets
  316.             for ($i 0$i $this->_spreadSheet->getSheetCount()++$i{
  317.                 $objZip->addFromString('xl/worksheets/sheet' ($i 1'.xml'$this->getWriterPart('Worksheet')->writeWorksheet($this->_spreadSheet->getSheet($i)$this->_stringTable));
  318.             }
  319.  
  320.             // Add worksheet relationships (drawings, ...)
  321.             for ($i 0$i $this->_spreadSheet->getSheetCount()++$i{
  322.  
  323.                 // Add relationships
  324.                 $objZip->addFromString('xl/worksheets/_rels/sheet' ($i 1'.xml.rels',     $this->getWriterPart('Rels')->writeWorksheetRelationships($this->_spreadSheet->getSheet($i)($i 1)));
  325.  
  326.                 // Add drawing relationship parts
  327.                 if ($this->_spreadSheet->getSheet($i)->getDrawingCollection()->count(0{
  328.                     // Drawing relationships
  329.                     $objZip->addFromString('xl/drawings/_rels/drawing' ($i 1'.xml.rels'$this->getWriterPart('Rels')->writeDrawingRelationships($this->_spreadSheet->getSheet($i)));
  330.  
  331.                     // Drawings
  332.                     $objZip->addFromString('xl/drawings/drawing' ($i 1'.xml'$this->getWriterPart('Drawing')->writeDrawings($this->_spreadSheet->getSheet($i)));
  333.                 }
  334.  
  335.                 // Add comment relationship parts
  336.                 if (count($this->_spreadSheet->getSheet($i)->getComments()) 0{
  337.                     // VML Comments
  338.                     $objZip->addFromString('xl/drawings/vmlDrawing' ($i 1'.vml'$this->getWriterPart('Comments')->writeVMLComments($this->_spreadSheet->getSheet($i)));
  339.  
  340.                     // Comments
  341.                     $objZip->addFromString('xl/comments' ($i 1'.xml'$this->getWriterPart('Comments')->writeComments($this->_spreadSheet->getSheet($i)));
  342.                 }
  343.  
  344.                 // Add header/footer relationship parts
  345.                 if (count($this->_spreadSheet->getSheet($i)->getHeaderFooter()->getImages()) 0{
  346.                     // VML Drawings
  347.                     $objZip->addFromString('xl/drawings/vmlDrawingHF' ($i 1'.vml'$this->getWriterPart('Drawing')->writeVMLHeaderFooterImages($this->_spreadSheet->getSheet($i)));
  348.  
  349.                     // VML Drawing relationships
  350.                     $objZip->addFromString('xl/drawings/_rels/vmlDrawingHF' ($i 1'.vml.rels'$this->getWriterPart('Rels')->writeHeaderFooterDrawingRelationships($this->_spreadSheet->getSheet($i)));
  351.  
  352.                     // Media
  353.                     foreach ($this->_spreadSheet->getSheet($i)->getHeaderFooter()->getImages(as $image{
  354.                         $objZip->addFromString('xl/media/' $image->getIndexedFilename()file_get_contents($image->getPath()));
  355.                     }
  356.                 }
  357.             }
  358.  
  359.             // Add media
  360.             for ($i 0$i $this->getDrawingHashTable()->count()++$i{
  361.                 if ($this->getDrawingHashTable()->getByIndex($iinstanceof PHPExcel_Worksheet_Drawing{
  362.                     $imageContents null;
  363.                     $imagePath $this->getDrawingHashTable()->getByIndex($i)->getPath();
  364.  
  365.                     if (strpos($imagePath'zip://'!== false{
  366.                         $imagePath substr($imagePath6);
  367.                         $imagePathSplitted explode('#'$imagePath);
  368.  
  369.                         $imageZip new ZipArchive();
  370.                         $imageZip->open($imagePathSplitted[0]);
  371.                         $imageContents $imageZip->getFromName($imagePathSplitted[1]);
  372.                         $imageZip->close();
  373.                         unset($imageZip);
  374.                     else {
  375.                         $imageContents file_get_contents($imagePath);
  376.                     }
  377.  
  378.                     $objZip->addFromString('xl/media/' str_replace(' ''_'$this->getDrawingHashTable()->getByIndex($i)->getIndexedFilename())$imageContents);
  379.                 else if ($this->getDrawingHashTable()->getByIndex($iinstanceof PHPExcel_Worksheet_MemoryDrawing{
  380.                     ob_start();
  381.                     call_user_func(
  382.                         $this->getDrawingHashTable()->getByIndex($i)->getRenderingFunction(),
  383.                         $this->getDrawingHashTable()->getByIndex($i)->getImageResource()
  384.                     );
  385.                     $imageContents ob_get_contents();
  386.                     ob_end_clean();
  387.  
  388.                     $objZip->addFromString('xl/media/' str_replace(' ''_'$this->getDrawingHashTable()->getByIndex($i)->getIndexedFilename())$imageContents);
  389.                 }
  390.             }
  391.  
  392.             PHPExcel_Calculation_Functions::setReturnDateType($saveDateReturnType);
  393.  
  394.             // Close file
  395.             if ($objZip->close(=== false{
  396.                 throw new Exception("Could not close zip file $pFilename.");
  397.             }
  398.  
  399.             // If a temporary file was used, copy it to the correct file stream
  400.             if ($originalFilename != $pFilename{
  401.                 if (copy($pFilename$originalFilename=== false{
  402.                     throw new Exception("Could not copy temporary zip file $pFilename to $originalFilename.");
  403.                 }
  404.                 @unlink($pFilename);
  405.             }
  406.         else {
  407.             throw new Exception("PHPExcel object unassigned.");
  408.         }
  409.     }
  410.  
  411.     /**
  412.      * Get PHPExcel object
  413.      *
  414.      * @return PHPExcel 
  415.      * @throws Exception
  416.      */
  417.     public function getPHPExcel({
  418.         if (!is_null($this->_spreadSheet)) {
  419.             return $this->_spreadSheet;
  420.         else {
  421.             throw new Exception("No PHPExcel assigned.");
  422.         }
  423.     }
  424.  
  425.     /**
  426.      * Get PHPExcel object
  427.      *
  428.      * @param     PHPExcel     $pPHPExcel    PHPExcel object
  429.      * @throws    Exception
  430.      */
  431.     public function setPHPExcel(PHPExcel $pPHPExcel null{
  432.         $this->_spreadSheet = $pPHPExcel;
  433.     }
  434.  
  435.     /**
  436.      * Get string table
  437.      *
  438.      * @return string[] 
  439.      */
  440.     public function getStringTable({
  441.         return $this->_stringTable;
  442.     }
  443.  
  444.     /**
  445.      * Get PHPExcel_Style HashTable
  446.      *
  447.      * @return PHPExcel_HashTable 
  448.      */
  449.     public function getStylesHashTable({
  450.         return $this->_stylesHashTable;
  451.     }
  452.  
  453.     /**
  454.      * Get PHPExcel_Style_Conditional HashTable
  455.      *
  456.      * @return PHPExcel_HashTable 
  457.      */
  458.     public function getStylesConditionalHashTable({
  459.         return $this->_stylesConditionalHashTable;
  460.     }
  461.  
  462.     /**
  463.      * Get PHPExcel_Style_Fill HashTable
  464.      *
  465.      * @return PHPExcel_HashTable 
  466.      */
  467.     public function getFillHashTable({
  468.         return $this->_fillHashTable;
  469.     }
  470.  
  471.     /**
  472.      * Get PHPExcel_Style_Font HashTable
  473.      *
  474.      * @return PHPExcel_HashTable 
  475.      */
  476.     public function getFontHashTable({
  477.         return $this->_fontHashTable;
  478.     }
  479.  
  480.     /**
  481.      * Get PHPExcel_Style_Borders HashTable
  482.      *
  483.      * @return PHPExcel_HashTable 
  484.      */
  485.     public function getBordersHashTable({
  486.         return $this->_bordersHashTable;
  487.     }
  488.  
  489.     /**
  490.      * Get PHPExcel_Style_NumberFormat HashTable
  491.      *
  492.      * @return PHPExcel_HashTable 
  493.      */
  494.     public function getNumFmtHashTable({
  495.         return $this->_numFmtHashTable;
  496.     }
  497.  
  498.     /**
  499.      * Get PHPExcel_Worksheet_BaseDrawing HashTable
  500.      *
  501.      * @return PHPExcel_HashTable 
  502.      */
  503.     public function getDrawingHashTable({
  504.         return $this->_drawingHashTable;
  505.     }
  506.  
  507.     /**
  508.      * Get Pre-Calculate Formulas
  509.      *
  510.      * @return boolean 
  511.      */
  512.     public function getPreCalculateFormulas({
  513.         return $this->_preCalculateFormulas;
  514.     }
  515.  
  516.     /**
  517.      * Set Pre-Calculate Formulas
  518.      *
  519.      * @param boolean $pValue    Pre-Calculate Formulas?
  520.      */
  521.     public function setPreCalculateFormulas($pValue true{
  522.         $this->_preCalculateFormulas = $pValue;
  523.     }
  524.  
  525.     /**
  526.      * Get Office2003 compatibility
  527.      *
  528.      * @return boolean 
  529.      */
  530.     public function getOffice2003Compatibility({
  531.         return $this->_office2003compatibility;
  532.     }
  533.  
  534.     /**
  535.      * Set Pre-Calculate Formulas
  536.      *
  537.      * @param boolean $pValue    Office2003 compatibility?
  538.      */
  539.     public function setOffice2003Compatibility($pValue false{
  540.         $this->_office2003compatibility = $pValue;
  541.     }
  542.  
  543.     /**
  544.      * Get use disk caching where possible?
  545.      *
  546.      * @return boolean 
  547.      */
  548.     public function getUseDiskCaching({
  549.         return $this->_useDiskCaching;
  550.     }
  551.  
  552.     /**
  553.      * Set use disk caching where possible?
  554.      *
  555.      * @param     boolean     $pValue 
  556.      * @param    string        $pDirectory        Disk caching directory
  557.      * @throws    Exception    Exception when directory does not exist
  558.      */
  559.     public function setUseDiskCaching($pValue false$pDirectory null{
  560.         $this->_useDiskCaching = $pValue;
  561.         
  562.         if (!is_null($pDirectory)) {
  563.             if (is_dir($pDirectory)) {
  564.                 $this->_diskCachingDirectory = $pDirectory;
  565.             else {
  566.                 throw new Exception("Directory does not exist: $pDirectory");
  567.             }
  568.         }
  569.     }
  570.         
  571.     /**
  572.      * Get disk caching directory
  573.      *
  574.      * @return string 
  575.      */
  576.     public function getDiskCachingDirectory({
  577.         return $this->_diskCachingDirectory;
  578.     }
  579. }

Documentation generated on Wed, 22 Apr 2009 08:58:12 +0200 by phpDocumentor 1.4.1