was.php – Blame information for rev 11
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
10 | office | 1 | <?php |
2 | |||
3 | ########################################################################### |
||
4 | ## Copyright (C) Wizardry and Steamworks 2015 - License: GNU GPLv3 ## |
||
5 | ########################################################################### |
||
6 | function wasCSVToArray($csv) { |
||
7 | $l = array(); |
||
8 | $s = array(); |
||
9 | $m = ""; |
||
10 | for ($i = 0; $i < strlen($csv); ++$i) { |
||
11 | office | 11 | switch ($csv[$i]) { |
10 | office | 12 | case ',': |
13 | if (sizeof($s) == 0 || !current($s) == '"') { |
||
14 | array_push($l, $m); |
||
15 | $m = ""; |
||
16 | break; |
||
17 | } |
||
11 | office | 18 | $m .= $csv[$i]; |
10 | office | 19 | continue; |
20 | case '"': |
||
11 | office | 21 | if ($i + 1 < strlen($csv) && $csv[$i] == $csv[$i + 1]) { |
22 | $m .= $csv[$i]; |
||
10 | office | 23 | ++$i; |
24 | break; |
||
25 | } |
||
26 | if (sizeof($s) == 0|| !current($s) == $csv[$i]) { |
||
11 | office | 27 | array_push($s, $csv[$i]); |
10 | office | 28 | continue; |
29 | } |
||
30 | array_pop($s); |
||
31 | break; |
||
32 | default: |
||
11 | office | 33 | $m .= $csv[$i]; |
10 | office | 34 | break; |
35 | } |
||
36 | } |
||
37 | array_push($l, $m); |
||
38 | return $l; |
||
39 | } |
||
40 | |||
41 | ########################################################################### |
||
42 | ## Copyright (C) Wizardry and Steamworks 2015 - License: GNU GPLv3 ## |
||
43 | ########################################################################### |
||
44 | function wasArrayToCSV($a) { |
||
45 | return implode( |
||
46 | ',', |
||
47 | array_map( |
||
48 | function($o) { |
||
49 | $o = str_replace('"', '""', $o); |
||
50 | switch( |
||
51 | (strpos($o, ' ') !== FALSE) || |
||
52 | (strpos($o, '"') !== FALSE) || |
||
53 | (strpos($o, ',') !== FALSE) || |
||
54 | (strpos($o, '\r') !== FALSE) || |
||
55 | (strpos($o, '\n') !== FALSE) |
||
56 | ) |
||
57 | { |
||
58 | case TRUE: |
||
59 | return '"' . $o . '"'; |
||
60 | default: |
||
61 | return $o; |
||
62 | } |
||
63 | }, |
||
64 | $a |
||
65 | ) |
||
66 | ); |
||
67 | } |