This commit is contained in:
Dominik Bonsch 2013-02-09 12:24:19 +01:00
parent 94967a7cf9
commit b9970417c3

View File

@ -21,312 +21,334 @@
* @category PHPExcel * @category PHPExcel
* @package PHPExcel_Settings * @package PHPExcel_Settings
* @copyright Copyright (c) 2006 - 2012 PHPExcel (http://www.codeplex.com/PHPExcel) * @copyright Copyright (c) 2006 - 2012 PHPExcel (http://www.codeplex.com/PHPExcel)
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
* @version ##VERSION##, ##DATE## * @version ##VERSION##, ##DATE##
*/ */
/** PHPExcel root directory */ /** PHPExcel root directory */
if (!defined('PHPEXCEL_ROOT')) { if (!defined('PHPEXCEL_ROOT')) {
/** /**
* @ignore * @ignore
*/ */
define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../'); define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../');
require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
} }
class PHPExcel_Settings class PHPExcel_Settings
{ {
/** constants */ /** constants */
/** Available Zip library classes */ /** Available Zip library classes */
const PCLZIP = 'PHPExcel_Shared_ZipArchive'; const PCLZIP = 'PHPExcel_Shared_ZipArchive';
const ZIPARCHIVE = 'ZipArchive'; const ZIPARCHIVE = 'ZipArchive';
/** Optional Chart Rendering libraries */ /** Optional Chart Rendering libraries */
const CHART_RENDERER_JPGRAPH = 'jpgraph'; const CHART_RENDERER_JPGRAPH = 'jpgraph';
/** Optional PDF Rendering libraries */ /** Optional PDF Rendering libraries */
const PDF_RENDERER_TCPDF = 'tcPDF'; const PDF_RENDERER_TCPDF = 'tcPDF';
const PDF_RENDERER_DOMPDF = 'DomPDF'; const PDF_RENDERER_DOMPDF = 'DomPDF';
const PDF_RENDERER_MPDF = 'mPDF'; const PDF_RENDERER_MPDF = 'mPDF';
private static $_chartRenderers = array( private static $_chartRenderers = array(
self::CHART_RENDERER_JPGRAPH, self::CHART_RENDERER_JPGRAPH,
); );
private static $_pdfRenderers = array( private static $_pdfRenderers = array(
self::PDF_RENDERER_TCPDF, self::PDF_RENDERER_TCPDF,
self::PDF_RENDERER_DOMPDF, self::PDF_RENDERER_DOMPDF,
self::PDF_RENDERER_MPDF, self::PDF_RENDERER_MPDF,
); );
/** /**
* Name of the class used for Zip file management * Name of the class used for Zip file management
* e.g. * e.g.
* ZipArchive * ZipArchive
* *
* @var string * @var string
*/ */
private static $_zipClass = self::ZIPARCHIVE; private static $_zipClass = self::ZIPARCHIVE;
/** /**
* Name of the external Library used for rendering charts * Name of the external Library used for rendering charts
* e.g. * e.g.
* jpgraph * jpgraph
* *
* @var string * @var string
*/ */
private static $_chartRendererName = NULL; private static $_chartRendererName = NULL;
/** /**
* Directory Path to the external Library used for rendering charts * Directory Path to the external Library used for rendering charts
* *
* @var string * @var string
*/ */
private static $_chartRendererPath = NULL; private static $_chartRendererPath = NULL;
/** /**
* Name of the external Library used for rendering PDF files * Name of the external Library used for rendering PDF files
* e.g. * e.g.
* mPDF * mPDF
* *
* @var string * @var string
*/ */
private static $_pdfRendererName = NULL; private static $_pdfRendererName = NULL;
/** /**
* Directory Path to the external Library used for rendering PDF files * Directory Path to the external Library used for rendering PDF files
* *
* @var string * @var string
*/ */
private static $_pdfRendererPath = NULL; private static $_pdfRendererPath = NULL;
/** /**
* Set the Zip handler Class that PHPExcel should use for Zip file management (PCLZip or ZipArchive) * Set the Zip handler Class that PHPExcel should use for Zip file management (PCLZip or ZipArchive)
* *
* @param string $zipClass The Zip handler class that PHPExcel should use for Zip file management * @param string $zipClass The Zip handler class that PHPExcel should use for Zip file management
* e.g. PHPExcel_Settings::PCLZip or PHPExcel_Settings::ZipArchive * e.g. PHPExcel_Settings::PCLZip or PHPExcel_Settings::ZipArchive
* @return boolean Success or failure * @return boolean Success or failure
*/ */
public static function setZipClass($zipClass) { public static function setZipClass($zipClass)
if (($zipClass === self::PCLZIP) || {
($zipClass === self::ZIPARCHIVE)) { if (($zipClass === self::PCLZIP) ||
self::$_zipClass = $zipClass; ($zipClass === self::ZIPARCHIVE)) {
return TRUE; self::$_zipClass = $zipClass;
} return TRUE;
return FALSE; }
} // function setZipClass() return FALSE;
} // function setZipClass()
/** /**
* Return the name of the Zip handler Class that PHPExcel is configured to use (PCLZip or ZipArchive) * Return the name of the Zip handler Class that PHPExcel is configured to use (PCLZip or ZipArchive)
* for Zip file management * or Zip file management
* *
* @return string Name of the Zip handler Class that PHPExcel is configured to use * @return string Name of the Zip handler Class that PHPExcel is configured to use
* for Zip file management * for Zip file management
* e.g. PHPExcel_Settings::PCLZip or PHPExcel_Settings::ZipArchive * e.g. PHPExcel_Settings::PCLZip or PHPExcel_Settings::ZipArchive
*/ */
public static function getZipClass() { public static function getZipClass()
return self::$_zipClass; {
} // function getZipClass() return self::$_zipClass;
} // function getZipClass()
/** /**
* Return the name of the method that is currently configured for cell cacheing * Return the name of the method that is currently configured for cell cacheing
* *
* @return string Name of the cacheing method * @return string Name of the cacheing method
*/ */
public static function getCacheStorageMethod() { public static function getCacheStorageMethod()
return PHPExcel_CachedObjectStorageFactory::getCacheStorageMethod(); {
} // function getCacheStorageMethod() return PHPExcel_CachedObjectStorageFactory::getCacheStorageMethod();
} // function getCacheStorageMethod()
/** /**
* Return the name of the class that is currently being used for cell cacheing * Return the name of the class that is currently being used for cell cacheing
* *
* @return string Name of the class currently being used for cacheing * @return string Name of the class currently being used for cacheing
*/ */
public static function getCacheStorageClass() { public static function getCacheStorageClass()
return PHPExcel_CachedObjectStorageFactory::getCacheStorageClass(); {
} // function getCacheStorageClass() return PHPExcel_CachedObjectStorageFactory::getCacheStorageClass();
} // function getCacheStorageClass()
/** /**
* Set the method that should be used for cell cacheing * Set the method that should be used for cell cacheing
* *
* @param string $method Name of the cacheing method * @param string $method Name of the cacheing method
* @param array $arguments Optional configuration arguments for the cacheing method * @param array $arguments Optional configuration arguments for the cacheing method
* @return boolean Success or failure * @return boolean Success or failure
*/ */
public static function setCacheStorageMethod($method = PHPExcel_CachedObjectStorageFactory::cache_in_memory, public static function setCacheStorageMethod(
$arguments = array()) { $method = PHPExcel_CachedObjectStorageFactory::cache_in_memory,
return PHPExcel_CachedObjectStorageFactory::initialize($method, $arguments); $arguments = array()
} // function setCacheStorageMethod() )
{
return PHPExcel_CachedObjectStorageFactory::initialize($method, $arguments);
} // function setCacheStorageMethod()
/** /**
* Set the locale code to use for formula translations and any special formatting * Set the locale code to use for formula translations and any special formatting
* *
* @param string $locale The locale code to use (e.g. "fr" or "pt_br" or "en_uk") * @param string $locale The locale code to use (e.g. "fr" or "pt_br" or "en_uk")
* @return boolean Success or failure * @return boolean Success or failure
*/ */
public static function setLocale($locale='en_us') { public static function setLocale($locale='en_us')
return PHPExcel_Calculation::getInstance()->setLocale($locale); {
} // function setLocale() return PHPExcel_Calculation::getInstance()->setLocale($locale);
} // function setLocale()
/** /**
* Set details of the external library that PHPExcel should use for rendering charts * Set details of the external library that PHPExcel should use for rendering charts
* *
* @param string $libraryName Internal reference name of the library * @param string $libraryName Internal reference name of the library
* e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH * e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH
* @param string $libraryBaseDir Directory path to the library's base folder * @param string $libraryBaseDir Directory path to the library's base folder
* @return boolean Success or failure *
*/ * @return boolean Success or failure
public static function setChartRenderer($libraryName, $libraryBaseDir) { */
if (!self::setChartRendererName($libraryName)) public static function setChartRenderer($libraryName, $libraryBaseDir)
return FALSE; {
return self::setChartRendererPath($libraryBaseDir); if (!self::setChartRendererName($libraryName))
} // function setChartRenderer() return FALSE;
return self::setChartRendererPath($libraryBaseDir);
} // function setChartRenderer()
/** /**
* Identify to PHPExcel the external library to use for rendering charts * Identify to PHPExcel the external library to use for rendering charts
* *
* @param string $libraryName Internal reference name of the library * @param string $libraryName Internal reference name of the library
* e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH * e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH
* @return boolean Success or failure *
*/ * @return boolean Success or failure
public static function setChartRendererName($libraryName) { */
if (!in_array($libraryName,self::$_chartRenderers)) { public static function setChartRendererName($libraryName)
return FALSE; {
} if (!in_array($libraryName,self::$_chartRenderers)) {
return FALSE;
}
self::$_chartRendererName = $libraryName; self::$_chartRendererName = $libraryName;
return TRUE; return TRUE;
} // function setChartRendererName() } // function setChartRendererName()
/** /**
* Tell PHPExcel where to find the external library to use for rendering charts * Tell PHPExcel where to find the external library to use for rendering charts
* *
* @param string $libraryBaseDir Directory path to the library's base folder * @param string $libraryBaseDir Directory path to the library's base folder
* @return boolean Success or failure * @return boolean Success or failure
*/ */
public static function setChartRendererPath($libraryBaseDir) { public static function setChartRendererPath($libraryBaseDir)
if ((file_exists($libraryBaseDir) === false) || (is_readable($libraryBaseDir) === false)) { {
return FALSE; if ((file_exists($libraryBaseDir) === false) || (is_readable($libraryBaseDir) === false)) {
} return FALSE;
self::$_chartRendererPath = $libraryBaseDir; }
self::$_chartRendererPath = $libraryBaseDir;
return TRUE; return TRUE;
} // function setChartRendererPath() } // function setChartRendererPath()
/** /**
* Return the Chart Rendering Library that PHPExcel is currently configured to use (e.g. jpgraph) * Return the Chart Rendering Library that PHPExcel is currently configured to use (e.g. jpgraph)
* *
* @return string|NULL Internal reference name of the Chart Rendering Library that PHPExcel is * @return string|NULL Internal reference name of the Chart Rendering Library that PHPExcel is
* currently configured to use * currently configured to use
* e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH * e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH
*/ */
public static function getChartRendererName() { public static function getChartRendererName()
return self::$_chartRendererName; {
} // function getChartRendererName() return self::$_chartRendererName;
} // function getChartRendererName()
/** /**
* Return the directory path to the Chart Rendering Library that PHPExcel is currently configured to use * Return the directory path to the Chart Rendering Library that PHPExcel is currently configured to use
* *
* @return string|NULL Directory Path to the Chart Rendering Library that PHPExcel is * @return string|NULL Directory Path to the Chart Rendering Library that PHPExcel is
* currently configured to use * currently configured to use
*/ */
public static function getChartRendererPath() { public static function getChartRendererPath()
return self::$_chartRendererPath; {
} // function getChartRendererPath() return self::$_chartRendererPath;
} // function getChartRendererPath()
/** /**
* Set details of the external library that PHPExcel should use for rendering PDF files * Set details of the external library that PHPExcel should use for rendering PDF files
* *
* @param string $libraryName Internal reference name of the library * @param string $libraryName Internal reference name of the library
* e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF, * e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF,
* PHPExcel_Settings::PDF_RENDERER_DOMPDF * PHPExcel_Settings::PDF_RENDERER_DOMPDF
* or PHPExcel_Settings::PDF_RENDERER_MPDF * or PHPExcel_Settings::PDF_RENDERER_MPDF
* @param string $libraryBaseDir Directory path to the library's base folder * @param string $libraryBaseDir Directory path to the library's base folder
* @return boolean Success or failure *
*/ * @return boolean Success or failure
public static function setPdfRenderer($libraryName, $libraryBaseDir) { */
if (!self::setPdfRendererName($libraryName)) public static function setPdfRenderer($libraryName, $libraryBaseDir)
return FALSE; {
return self::setPdfRendererPath($libraryBaseDir); if (!self::setPdfRendererName($libraryName))
} // function setPdfRenderer() return FALSE;
return self::setPdfRendererPath($libraryBaseDir);
} // function setPdfRenderer()
/** /**
* Identify to PHPExcel the external library to use for rendering PDF files * Identify to PHPExcel the external library to use for rendering PDF files
* *
* @param string $libraryName Internal reference name of the library * @param string $libraryName Internal reference name of the library
* e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF, * e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF,
* PHPExcel_Settings::PDF_RENDERER_DOMPDF * PHPExcel_Settings::PDF_RENDERER_DOMPDF
* or PHPExcel_Settings::PDF_RENDERER_MPDF * or PHPExcel_Settings::PDF_RENDERER_MPDF
* @return boolean Success or failure *
*/ * @return boolean Success or failure
public static function setPdfRendererName($libraryName) { */
if (!in_array($libraryName,self::$_pdfRenderers)) { public static function setPdfRendererName($libraryName)
return FALSE; {
} if (!in_array($libraryName,self::$_pdfRenderers)) {
return FALSE;
}
self::$_pdfRendererName = $libraryName; self::$_pdfRendererName = $libraryName;
return TRUE; return TRUE;
} // function setPdfRendererName() } // function setPdfRendererName()
/** /**
* Tell PHPExcel where to find the external library to use for rendering PDF files * Tell PHPExcel where to find the external library to use for rendering PDF files
* *
* @param string $libraryBaseDir Directory path to the library's base folder * @param string $libraryBaseDir Directory path to the library's base folder
* @return boolean Success or failure * @return boolean Success or failure
*/ */
public static function setPdfRendererPath($libraryBaseDir) { public static function setPdfRendererPath($libraryBaseDir)
if ((file_exists($libraryBaseDir) === false) || (is_readable($libraryBaseDir) === false)) { {
return FALSE; if ((file_exists($libraryBaseDir) === false) || (is_readable($libraryBaseDir) === false)) {
} return FALSE;
self::$_pdfRendererPath = $libraryBaseDir; }
self::$_pdfRendererPath = $libraryBaseDir;
return TRUE; return TRUE;
} // function setPdfRendererPath() } // function setPdfRendererPath()
/** /**
* Return the PDF Rendering Library that PHPExcel is currently configured to use (e.g. dompdf) * Return the PDF Rendering Library that PHPExcel is currently configured to use (e.g. dompdf)
* *
* @return string|NULL Internal reference name of the PDF Rendering Library that PHPExcel is * @return string|NULL Internal reference name of the PDF Rendering Library that PHPExcel is
* currently configured to use * currently configured to use
* e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF, * e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF,
* PHPExcel_Settings::PDF_RENDERER_DOMPDF * PHPExcel_Settings::PDF_RENDERER_DOMPDF
* or PHPExcel_Settings::PDF_RENDERER_MPDF * or PHPExcel_Settings::PDF_RENDERER_MPDF
*/ */
public static function getPdfRendererName() { public static function getPdfRendererName()
return self::$_pdfRendererName; {
} // function getPdfRendererName() return self::$_pdfRendererName;
} // function getPdfRendererName()
/** /**
* Return the directory path to the PDF Rendering Library that PHPExcel is currently configured to use * Return the directory path to the PDF Rendering Library that PHPExcel is currently configured to use
* *
* @return string|NULL Directory Path to the PDF Rendering Library that PHPExcel is * @return string|NULL Directory Path to the PDF Rendering Library that PHPExcel is
* currently configured to use * currently configured to use
*/ */
public static function getPdfRendererPath() { public static function getPdfRendererPath()
return self::$_pdfRendererPath; {
} // function getPdfRendererPath() return self::$_pdfRendererPath;
} // function getPdfRendererPath()
} }