| @@ 550-573 (lines=24) @@ | ||
| 547 | * @param string $mysql_null - allows php NULL to be overridden with MySQl's insertable NULL value |
|
| 548 | * @return void |
|
| 549 | */ |
|
| 550 | private function fputcsv2 ($fh, array $row, $delimiter = ',', $enclosure = '"', $mysql_null = FALSE) { |
|
| 551 | //Allow user to filter the csv delimiter and enclosure for other countries csv standards |
|
| 552 | $delimiter = apply_filters( 'FHEE__EE_CSV__fputcsv2__delimiter', $delimiter ); |
|
| 553 | $enclosure = apply_filters( 'FHEE__EE_CSV__fputcsv2__enclosure', $enclosure ); |
|
| 554 | ||
| 555 | $delimiter_esc = preg_quote($delimiter, '/'); |
|
| 556 | $enclosure_esc = preg_quote($enclosure, '/'); |
|
| 557 | ||
| 558 | $output = array(); |
|
| 559 | foreach ($row as $field_value) { |
|
| 560 | if(is_object($field_value) || is_array($field_value)){ |
|
| 561 | $field_value = serialize($field_value); |
|
| 562 | } |
|
| 563 | if ($field_value === null && $mysql_null) { |
|
| 564 | $output[] = 'NULL'; |
|
| 565 | continue; |
|
| 566 | } |
|
| 567 | ||
| 568 | $output[] = preg_match("/(?:${delimiter_esc}|${enclosure_esc}|\s)/", $field_value) ? |
|
| 569 | ( $enclosure . str_replace($enclosure, $enclosure . $enclosure, $field_value) . $enclosure ) : $field_value; |
|
| 570 | } |
|
| 571 | ||
| 572 | fwrite($fh, join($delimiter, $output) . PHP_EOL); |
|
| 573 | } |
|
| 574 | ||
| 575 | ||
| 576 | ||
| @@ 97-120 (lines=24) @@ | ||
| 94 | * @param bool $mysql_null - allows php NULL to be overridden with MySQl's insertable NULL value |
|
| 95 | * @return string of text for teh csv file |
|
| 96 | */ |
|
| 97 | public static function get_csv_row ( array $row, $delimiter = ',', $enclosure = '"', $mysql_null = false ) { |
|
| 98 | //Allow user to filter the csv delimiter and enclosure for other countries csv standards |
|
| 99 | $delimiter = apply_filters( 'FHEE__EE_CSV__fputcsv2__delimiter', $delimiter ); |
|
| 100 | $enclosure = apply_filters( 'FHEE__EE_CSV__fputcsv2__enclosure', $enclosure ); |
|
| 101 | ||
| 102 | $delimiter_esc = preg_quote($delimiter, '/'); |
|
| 103 | $enclosure_esc = preg_quote($enclosure, '/'); |
|
| 104 | ||
| 105 | $output = array(); |
|
| 106 | foreach ($row as $field_value) { |
|
| 107 | if(is_object($field_value) || is_array($field_value)){ |
|
| 108 | $field_value = serialize($field_value); |
|
| 109 | } |
|
| 110 | if ($field_value === null && $mysql_null ) { |
|
| 111 | $output[] = 'NULL'; |
|
| 112 | continue; |
|
| 113 | } |
|
| 114 | ||
| 115 | $output[] = preg_match("/(?:${delimiter_esc}|${enclosure_esc}|\s)/", $field_value) ? |
|
| 116 | ( $enclosure . str_replace($enclosure, $enclosure . $enclosure, $field_value) . $enclosure ) : $field_value; |
|
| 117 | } |
|
| 118 | ||
| 119 | return implode($delimiter, $output) . PHP_EOL; |
|
| 120 | } |
|
| 121 | ||
| 122 | ||
| 123 | ||