was.php – Blame information for rev 11

Subversion Repositories:
Rev:
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 }