corrade-http-templates – Diff between revs 2 and 80
?pathlinks?
Rev 2 | Rev 80 | |||
---|---|---|---|---|
Line 28... | Line 28... | |||
28 | |
28 | |
|
29 | ########################################################################### |
29 | ########################################################################### |
|
30 | ## INTERNALS ## |
30 | ## INTERNALS ## |
|
Line 31... | Line -... | |||
31 | ########################################################################### |
- | ||
32 | |
- | ||
33 | ########################################################################### |
- | ||
34 | ## Copyright (C) Wizardry and Steamworks 2015 - License: GNU GPLv3 ## |
- | ||
35 | ########################################################################### |
- | ||
36 | function wasKeyValueGet($key, $data) { |
- | ||
37 | return array_reduce( |
- | ||
38 | explode( |
- | ||
39 | "&", |
- | ||
40 | $data |
- | ||
41 | ), |
- | ||
42 | function($o, $p) { |
31 | ########################################################################### |
|
43 | $x = explode("=", $p); |
- | ||
44 | return array_shift($x) != $o ? $o : array_shift($x); |
- | ||
45 | }, |
- | ||
46 | $key |
- | ||
47 | ); |
- | ||
48 | } |
- | ||
49 | |
- | ||
50 | ########################################################################### |
- | ||
51 | ## Copyright (C) Wizardry and Steamworks 2015 - License: GNU GPLv3 ## |
32 | |
|
52 | ########################################################################### |
- | ||
53 | function atomized_put_contents($file, $data) { |
- | ||
54 | $fp = fopen($file, "w+"); |
- | ||
55 | if (flock($fp, LOCK_EX)) { |
- | ||
56 | fwrite($fp, $data); |
- | ||
57 | fflush($fp); |
- | ||
58 | flock($fp, LOCK_UN); |
- | ||
59 | } |
- | ||
60 | fclose($fp); |
- | ||
61 | } |
- | ||
62 | |
- | ||
63 | ########################################################################### |
- | ||
64 | ## Copyright (C) Wizardry and Steamworks 2015 - License: GNU GPLv3 ## |
- | ||
65 | ########################################################################### |
- | ||
66 | function atomized_get_contents($file) { |
- | ||
67 | $fp = fopen($file, "r+"); |
- | ||
68 | $ct = ''; |
- | ||
69 | if (flock($fp, LOCK_SH)) { |
- | ||
70 | if (filesize($file)) { |
- | ||
71 | $ct = fread($fp, filesize($file)); |
- | ||
72 | } |
- | ||
73 | flock($fp, LOCK_UN); |
- | ||
74 | } |
- | ||
75 | fclose($fp); |
- | ||
76 | return $ct; |
- | ||
77 | } |
- | ||
78 | |
- | ||
79 | /////////////////////////////////////////////////////////////////////////// |
- | ||
80 | // Copyright (C) Wizardry and Steamworks 2015 - License: GNU GPLv3 // |
- | ||
81 | /////////////////////////////////////////////////////////////////////////// |
- | ||
82 | function wasCSVToArray($csv) { |
- | ||
83 | $l = array(); |
- | ||
84 | $s = array(); |
- | ||
85 | $m = ""; |
- | ||
86 | for ($i = 0; $i < strlen($csv); ++$i) { |
- | ||
87 | switch ($csv{$i}) { |
- | ||
88 | case ',': |
- | ||
89 | if (sizeof($s) == 0 || !current($s) == '"') { |
- | ||
90 | array_push($l, $m); |
- | ||
91 | $m = ""; |
- | ||
92 | break; |
- | ||
93 | } |
- | ||
94 | $m .= $csv{$i}; |
- | ||
95 | continue; |
- | ||
96 | case '"': |
- | ||
97 | if ($i + 1 < strlen($csv) && $csv{$i} == $csv{$i + 1}) { |
- | ||
98 | $m .= $csv{$i}; |
- | ||
99 | ++$i; |
- | ||
100 | break; |
33 | require_once('vendor/was/utilities/src/formats/kvp/kvp.php'); |
|
101 | } |
- | ||
102 | if (sizeof($s) == 0|| !current($s) == $csv[$i]) { |
- | ||
103 | array_push($s, $csv{$i}); |
- | ||
104 | continue; |
- | ||
105 | } |
- | ||
106 | array_pop($s); |
- | ||
107 | break; |
- | ||
108 | default: |
- | ||
109 | $m .= $csv{$i}; |
- | ||
110 | break; |
- | ||
111 | } |
- | ||
112 | } |
- | ||
113 | array_push($l, $m); |
- | ||
114 | return $l; |
- | ||
115 | } |
- | ||
116 | |
- | ||
117 | /////////////////////////////////////////////////////////////////////////// |
- | ||
118 | // Copyright (C) Wizardry and Steamworks 2015 - License: GNU GPLv3 // |
- | ||
119 | /////////////////////////////////////////////////////////////////////////// |
- | ||
120 | function wasArrayToCSV($a) { |
- | ||
121 | return implode( |
- | ||
122 | ',', |
- | ||
123 | array_map( |
- | ||
124 | function($o) { |
- | ||
125 | $o = str_replace('"', '""', $o); |
- | ||
126 | switch( |
- | ||
127 | (strpos($o, ' ') !== FALSE) || |
- | ||
128 | (strpos($o, '"') !== FALSE) || |
- | ||
129 | (strpos($o, ',') !== FALSE) || |
- | ||
130 | (strpos($o, '\r') !== FALSE) || |
- | ||
131 | (strpos($o, '\n') !== FALSE) |
- | ||
132 | ) |
- | ||
133 | { |
- | ||
134 | case TRUE: |
- | ||
135 | return '"' . $o . '"'; |
- | ||
136 | default: |
- | ||
137 | return $o; |
- | ||
138 | } |
- | ||
139 | }, |
- | ||
140 | $a |
- | ||
141 | ) |
- | ||
Line 142... | Line 34... | |||
142 | ); |
34 | require_once('vendor/was/utilities/src/IO/IO.php'); |
|
143 | } |
35 | require_once('vendor/was/utilities/src/formats/csv/csv.php'); |
|
144 | |
36 | |
|
145 | $visitors = array(); |
37 | $visitors = array(); |
|
Line 239... | Line 131... | |||
239 | implode( |
131 | implode( |
|
240 | PHP_EOL, |
132 | PHP_EOL, |
|
241 | $visitors |
133 | $visitors |
|
242 | ) |
134 | ) |
|
243 | ); |
135 | ); |
|
244 | |
- | ||
245 | |
- | ||
246 | ?> |
- | ||
247 | |
136 | |