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