/var/www/hkosl.com/imusiccircle/webadmin/libraies/phpoffice/phpexcel/Classes/PHPExcel/Settings.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
<?php
/**
 * PHPExcel
 *
 * Copyright (c) 2006 - 2014 PHPExcel
 *
 * 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   PHPExcel
 * @package    PHPExcel_Settings
 * @copyright  Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
 * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
 * @version    ##VERSION##, ##DATE##
 */

/** PHPExcel root directory */
if (!defined('PHPEXCEL_ROOT')) {
    
/**
     * @ignore
     */
    
define('PHPEXCEL_ROOT'dirname(__FILE__) . '/../');
    require(
PHPEXCEL_ROOT 'PHPExcel/Autoloader.php');
}


class 
PHPExcel_Settings
{
    
/**    constants */
    /**    Available Zip library classes */
    
const PCLZIP        'PHPExcel_Shared_ZipArchive';
    const 
ZIPARCHIVE    'ZipArchive';

    
/**    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 = array(
        
self::CHART_RENDERER_JPGRAPH,
    );

    private static 
$_pdfRenderers = array(
        
self::PDF_RENDERER_TCPDF,
        
self::PDF_RENDERER_DOMPDF,
        
self::PDF_RENDERER_MPDF,
    );


    
/**
     * Name of the class used for Zip file management
     *    e.g.
     *        ZipArchive
     *
     * @var string
     */
    
private static $_zipClass    self::ZIPARCHIVE;


    
/**
     * Name of the external Library used for rendering charts
     *    e.g.
     *        jpgraph
     *
     * @var string
     */
    
private static $_chartRendererName NULL;

    
/**
     * Directory Path to the external Library used for rendering charts
     *
     * @var string
     */
    
private static $_chartRendererPath NULL;


    
/**
     * Name of the external Library used for rendering PDF files
     *    e.g.
     *         mPDF
     *
     * @var string
     */
    
private static $_pdfRendererName NULL;

    
/**
     * Directory Path to the external Library used for rendering PDF files
     *
     * @var string
     */
    
private static $_pdfRendererPath NULL;

    
/**
     * Default options for libxml loader
     *
     * @var int
     */
    
private static $_libXmlLoaderOptions null;

    
/**
     * 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
     *      e.g. PHPExcel_Settings::PCLZip or PHPExcel_Settings::ZipArchive
     * @return    boolean    Success or failure
     */
    
public static function setZipClass($zipClass)
    {
        if ((
$zipClass === self::PCLZIP) ||
            (
$zipClass === self::ZIPARCHIVE)) {
            
self::$_zipClass $zipClass;
            return 
TRUE;
        }
        return 
FALSE;
    } 
// function setZipClass()


    /**
     * Return the name of the Zip handler Class that PHPExcel is configured to use (PCLZip or ZipArchive)
     *    or Zip file management
     *
     * @return string Name of the Zip handler Class that PHPExcel is configured to use
     *    for Zip file management
     *    e.g. PHPExcel_Settings::PCLZip or PHPExcel_Settings::ZipArchive
     */
    
public static function getZipClass()
    {
        return 
self::$_zipClass;
    } 
// function getZipClass()


    /**
     * Return the name of the method that is currently configured for cell cacheing
     *
     * @return string Name of the cacheing method
     */
    
public static function getCacheStorageMethod()
    {
        return 
PHPExcel_CachedObjectStorageFactory::getCacheStorageMethod();
    } 
// function getCacheStorageMethod()


    /**
     * 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
     */
    
public static function getCacheStorageClass()
    {
        return 
PHPExcel_CachedObjectStorageFactory::getCacheStorageClass();
    } 
// function getCacheStorageClass()


    /**
     * Set the method that should be used for cell cacheing
     *
     * @param string $method Name of the cacheing method
     * @param array $arguments Optional configuration arguments for the cacheing method
     * @return boolean Success or failure
     */
    
public static function setCacheStorageMethod(
        
$method PHPExcel_CachedObjectStorageFactory::cache_in_memory,
      
$arguments = array()
    )
    {
        return 
PHPExcel_CachedObjectStorageFactory::initialize($method$arguments);
    } 
// function setCacheStorageMethod()


    /**
     * 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 boolean Success or failure
     */
    
public static function setLocale($locale='en_us')
    {
        return 
PHPExcel_Calculation::getInstance()->setLocale($locale);
    } 
// function setLocale()


    /**
     * 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);
    } 
// function setChartRenderer()


    /**
     * 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;
    } 
// function setChartRendererName()


    /**
     * 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;
    } 
// function setChartRendererPath()


    /**
     * 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;
    } 
// function getChartRendererName()


    /**
     * 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;
    } 
// function getChartRendererPath()


    /**
     * 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);
    } 
// function setPdfRenderer()


    /**
     * 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;
    } 
// function setPdfRendererName()


    /**
     * 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;
    } 
// function setPdfRendererPath()


    /**
     * 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;
    } 
// function getPdfRendererName()

    /**
     * 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;
    } 
// function getPdfRendererPath()

    /**
     * Set default options for libxml loader
     *
     * @param int $options Default 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($options == (LIBXML_DTDLOAD LIBXML_DTDATTR)); 
        }
        
self::$_libXmlLoaderOptions $options;
    } 
// function setLibXmlLoaderOptions

    /**
     * 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);
        }
        if (
version_compare(PHP_VERSION'5.2.11') >= 0) {
            @
libxml_disable_entity_loader(self::$_libXmlLoaderOptions == (LIBXML_DTDLOAD LIBXML_DTDATTR));
        }
        return 
self::$_libXmlLoaderOptions;
    } 
// function getLibXmlLoaderOptions
}