setLocale($locale); } /** * Set details of the external library that PHPExcel should use for rendering charts * * @param string $libraryName Internal reference name of the library * e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH * @param string $libraryBaseDir Directory path to the library's base folder * * @return boolean Success or failure */ public static function setChartRenderer($libraryName, $libraryBaseDir) { if (!self::setChartRendererName($libraryName)) { return false; } return self::setChartRendererPath($libraryBaseDir); } /** * Identify to PHPExcel the external library to use for rendering charts * * @param string $libraryName Internal reference name of the library * e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH * * @return boolean Success or failure */ public static function setChartRendererName($libraryName) { if (!in_array($libraryName, self::$chartRenderers)) { return false; } self::$chartRendererName = $libraryName; return true; } /** * Tell PHPExcel where to find the external library to use for rendering charts * * @param string $libraryBaseDir Directory path to the library's base folder * @return boolean Success or failure */ public static function setChartRendererPath($libraryBaseDir) { if ((file_exists($libraryBaseDir) === false) || (is_readable($libraryBaseDir) === false)) { return false; } self::$chartRendererPath = $libraryBaseDir; return true; } /** * 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 * currently configured to use * e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH */ public static function getChartRendererName() { return self::$chartRendererName; } /** * 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 * currently configured to use */ public static function getChartRendererPath() { return self::$chartRendererPath; } /** * Set details of the external library that PHPExcel should use for rendering PDF files * * @param string $libraryName Internal reference name of the library * e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF, * PHPExcel_Settings::PDF_RENDERER_DOMPDF * or PHPExcel_Settings::PDF_RENDERER_MPDF * @param string $libraryBaseDir Directory path to the library's base folder * * @return boolean Success or failure */ public static function setPdfRenderer($libraryName, $libraryBaseDir) { if (!self::setPdfRendererName($libraryName)) { return false; } return self::setPdfRendererPath($libraryBaseDir); } /** * Identify to PHPExcel the external library to use for rendering PDF files * * @param string $libraryName Internal reference name of the library * e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF, * PHPExcel_Settings::PDF_RENDERER_DOMPDF * or PHPExcel_Settings::PDF_RENDERER_MPDF * * @return boolean Success or failure */ public static function setPdfRendererName($libraryName) { if (!in_array($libraryName, self::$pdfRenderers)) { return false; } self::$pdfRendererName = $libraryName; return true; } /** * 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 * @return boolean Success or failure */ public static function setPdfRendererPath($libraryBaseDir) { if ((file_exists($libraryBaseDir) === false) || (is_readable($libraryBaseDir) === false)) { return false; } self::$pdfRendererPath = $libraryBaseDir; return true; } /** * 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 * currently configured to use * e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF, * PHPExcel_Settings::PDF_RENDERER_DOMPDF * or PHPExcel_Settings::PDF_RENDERER_MPDF */ public static function getPdfRendererName() { return self::$pdfRendererName; } /** * 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 * currently configured to use */ public static function getPdfRendererPath() { return self::$pdfRendererPath; } /** * Set options for libxml loader * * @param int $options Options for libxml loader */ public static function setLibXmlLoaderOptions($options = null) { if (is_null($options) && defined('LIBXML_DTDLOAD')) { $options = LIBXML_DTDLOAD | LIBXML_DTDATTR; } if (version_compare(PHP_VERSION, '5.2.11') >= 0) { @libxml_disable_entity_loader((bool) $options); } self::$libXmlLoaderOptions = $options; } /** * Get defined options for libxml loader. * Defaults to LIBXML_DTDLOAD | LIBXML_DTDATTR when not set explicitly. * * @return int Default options for libxml loader */ public static function getLibXmlLoaderOptions() { if (is_null(self::$libXmlLoaderOptions) && defined('LIBXML_DTDLOAD')) { self::setLibXmlLoaderOptions(LIBXML_DTDLOAD | LIBXML_DTDATTR); } elseif (is_null(self::$libXmlLoaderOptions)) { self::$libXmlLoaderOptions = true; } if (version_compare(PHP_VERSION, '5.2.11') >= 0) { @libxml_disable_entity_loader((bool) self::$libXmlLoaderOptions); } return self::$libXmlLoaderOptions; } }