PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.13.5
Independent Analytics – WordPress Analytics Plugin v2.13.5
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / IAWP / Utils / CSV.php
independent-analytics / IAWP / Utils Last commit date
BladeOne.php 2 years ago CSV.php 10 months ago Calculations.php 2 years ago Currency.php 9 months ago Device.php 1 year ago Device_Cache.php 2 years ago Dir.php 2 years ago Link_Validator.php 10 months ago Number_Formatter.php 2 years ago Request.php 1 year ago Salt.php 2 years ago Security.php 1 year ago Server.php 2 years ago Singleton.php 2 years ago String_Util.php 2 years ago Timezone.php 1 year ago URL.php 1 year ago WP_Async_Request.php 1 year ago WordPress_Site_Date_Format_Pattern.php 2 years ago
CSV.php
47 lines
1 <?php
2
3 namespace IAWP\Utils;
4
5 use IAWPSCOPED\League\Csv\EscapeFormula;
6 /** @internal */
7 class CSV
8 {
9 private array $header;
10 private array $rows;
11 private EscapeFormula $formatter;
12 /**
13 * @param array $header
14 * @param array[] $rows
15 */
16 public function __construct(array $header, array $rows)
17 {
18 $this->header = $header;
19 $this->rows = $rows;
20 $this->formatter = new EscapeFormula();
21 }
22 public function to_string() : string
23 {
24 $delimiter = ',';
25 $enclosure = '"';
26 $escape_character = '\\';
27 $temporary_file = \fopen('php://memory', 'r+');
28 \fputcsv($temporary_file, $this->header, $delimiter, $enclosure, $escape_character);
29 foreach ($this->rows as $row) {
30 $row = $this->escape_row($row);
31 \fputcsv($temporary_file, $row, $delimiter, $enclosure, $escape_character);
32 }
33 \rewind($temporary_file);
34 return \stream_get_contents($temporary_file);
35 }
36 private function escape_row(array $row) : array
37 {
38 $row = $this->formatter->escapeRecord($row);
39 foreach ($row as &$cell) {
40 if ($cell === "'-") {
41 $cell = '-';
42 }
43 }
44 return $row;
45 }
46 }
47