/var/www/hkosl.com/nick/codeigniter/application/vendor/gettext/gettext/src/Utils/CsvTrait.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
<?php

namespace Gettext\Utils;

/*
 * Trait to provide the functionality of read/write csv.
 */
trait CsvTrait
{
    private static 
$csvEscapeChar;

    
/**
     * Check whether support the escape_char argument to fgetcsv/fputcsv or not
     *
     * @return bool
     */
    
private static function supportsCsvEscapeChar()
    {
        if (
self::$csvEscapeChar === null) {
            
self::$csvEscapeChar version_compare(PHP_VERSION'5.5.4') >= 0;
        }

        return 
self::$csvEscapeChar;
    }

    
/**
     * @param resource $handle
     * @param array $options
     *
     * @return array
     */
    
private static function fgetcsv($handle$options)
    {
        if (
self::supportsCsvEscapeChar()) {
            return 
fgetcsv($handle0$options['delimiter'], $options['enclosure'], $options['escape_char']);
        }

        return 
fgetcsv($handle0$options['delimiter'], $options['enclosure']);
    }

    
/**
     * @param resource $handle
     * @param array $fields
     * @param array $options
     *
     * @return bool|int
     */
    
private static function fputcsv($handle$fields$options)
    {
        if (
self::supportsCsvEscapeChar()) {
            return 
fputcsv($handle$fields$options['delimiter'], $options['enclosure'], $options['escape_char']);
        }

        return 
fputcsv($handle$fields$options['delimiter'], $options['enclosure']);
    }
}