corrade-http-templates – Blame information for rev 14

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