%PDF- %PDF-
Direktori : /www/varak.net/losik.varak.net/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/ |
Current File : //www/varak.net/losik.varak.net/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Settings.php |
<?php namespace PhpOffice\PhpSpreadsheet; use PhpOffice\PhpSpreadsheet\Collection\Memory; use Psr\SimpleCache\CacheInterface; /** * Copyright (c) 2006 - 2016 PhpSpreadsheet. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @category PhpSpreadsheet * * @copyright Copyright (c) 2006 - 2016 PhpSpreadsheet (https://github.com/PHPOffice/PhpSpreadsheet) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL */ class Settings { /** Optional Chart Rendering libraries */ const CHART_RENDERER_JPGRAPH = 'JpGraph'; /** Optional PDF Rendering libraries */ const PDF_RENDERER_TCPDF = 'TcPDF'; const PDF_RENDERER_DOMPDF = 'DomPDF'; const PDF_RENDERER_MPDF = 'MPDF'; private static $chartRenderers = [ self::CHART_RENDERER_JPGRAPH, ]; private static $pdfRenderers = [ self::PDF_RENDERER_TCPDF, self::PDF_RENDERER_DOMPDF, self::PDF_RENDERER_MPDF, ]; /** * Name of the external Library used for rendering charts * e.g. * jpgraph. * * @var string */ private static $chartRendererName; /** * Directory Path to the external Library used for rendering charts. * * @var string */ private static $chartRendererPath; /** * Name of the external Library used for rendering PDF files * e.g. * mPDF. * * @var string */ private static $pdfRendererName; /** * Default options for libxml loader. * * @var int */ private static $libXmlLoaderOptions = null; /** * The cache implementation to be used for cell collection. * * @var CacheInterface */ private static $cache; /** * 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") * * @return bool Success or failure */ public static function setLocale($locale) { return Calculation::getInstance()->setLocale($locale); } /** * Set details of the external library that PhpSpreadsheet should use for rendering charts. * * @param string $libraryName Internal reference name of the library * e.g. \PhpOffice\PhpSpreadsheet\Settings::CHART_RENDERER_JPGRAPH * @param string $libraryBaseDir Directory path to the library's base folder * * @return bool Success or failure */ public static function setChartRenderer($libraryName, $libraryBaseDir) { if (!self::setChartRendererName($libraryName)) { return false; } return self::setChartRendererPath($libraryBaseDir); } /** * Identify to PhpSpreadsheet the external library to use for rendering charts. * * @param string $libraryName Internal reference name of the library * e.g. \PhpOffice\PhpSpreadsheet\Settings::CHART_RENDERER_JPGRAPH * * @return bool Success or failure */ public static function setChartRendererName($libraryName) { if (!in_array($libraryName, self::$chartRenderers)) { return false; } self::$chartRendererName = $libraryName; return true; } /** * Tell PhpSpreadsheet where to find the external library to use for rendering charts. * * @param string $libraryBaseDir Directory path to the library's base folder * * @return bool 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 PhpSpreadsheet is currently configured to use (e.g. jpgraph). * * @return string|null Internal reference name of the Chart Rendering Library that PhpSpreadsheet is * currently configured to use * e.g. \PhpOffice\PhpSpreadsheet\Settings::CHART_RENDERER_JPGRAPH */ public static function getChartRendererName() { return self::$chartRendererName; } /** * Return the directory path to the Chart Rendering Library that PhpSpreadsheet is currently configured to use. * * @return string|null Directory Path to the Chart Rendering Library that PhpSpreadsheet is * currently configured to use */ public static function getChartRendererPath() { return self::$chartRendererPath; } /** * Identify to PhpSpreadsheet the external library to use for rendering PDF files. * * @param string $libraryName Internal reference name of the library * e.g. \PhpOffice\PhpSpreadsheet\Settings::PDF_RENDERER_TCPDF, * \PhpOffice\PhpSpreadsheet\Settings::PDF_RENDERER_DOMPDF * or \PhpOffice\PhpSpreadsheet\Settings::PDF_RENDERER_MPDF */ public static function setPdfRendererName($libraryName) { if (!in_array($libraryName, self::$pdfRenderers)) { throw new Exception('"' . $libraryName . '" is not a valid PDF library name'); } self::$pdfRendererName = $libraryName; } /** * Return the PDF Rendering Library that PhpSpreadsheet is currently configured to use (e.g. dompdf). * * @return string|null Internal reference name of the PDF Rendering Library that PhpSpreadsheet is * currently configured to use * e.g. \PhpOffice\PhpSpreadsheet\Settings::PDF_RENDERER_TCPDF, * \PhpOffice\PhpSpreadsheet\Settings::PDF_RENDERER_DOMPDF * or \PhpOffice\PhpSpreadsheet\Settings::PDF_RENDERER_MPDF */ public static function getPdfRendererName() { return self::$pdfRendererName; } /** * Set default options for libxml loader. * * @param int $options Default options for libxml loader */ public static function setLibXmlLoaderOptions($options) { if (is_null($options) && defined('LIBXML_DTDLOAD')) { $options = LIBXML_DTDLOAD | LIBXML_DTDATTR; } self::$libXmlLoaderOptions = $options; } /** * Get default 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; } return self::$libXmlLoaderOptions; } /** * Sets the implementation of cache that should be used for cell collection. * * @param CacheInterface $cache */ public static function setCache(CacheInterface $cache) { self::$cache = $cache; } /** * Gets the implementation of cache that should be used for cell collection. * * @return CacheInterface */ public static function getCache() { if (!self::$cache) { self::$cache = new Memory(); } return self::$cache; } }