|
@@ -119,6 +119,16 @@ function processPageParameter($page) {
|
119
|
119
|
}
|
120
|
120
|
return $page;
|
121
|
121
|
}
|
|
122
|
+
|
|
123
|
+function retrieveObject($key,$table,$mysqli) {
|
|
124
|
+ if (!$key) return false;
|
|
125
|
+ if ($result = $mysqli->query("SELECT * FROM `$table[0]` WHERE `$key[1]` = '$key[0]'")) {
|
|
126
|
+ $object = $result->fetch_assoc();
|
|
127
|
+ $result->close();
|
|
128
|
+ }
|
|
129
|
+ return $object;
|
|
130
|
+}
|
|
131
|
+
|
122
|
132
|
$action = parseGetParameter('action', 'a-z', 'list');
|
123
|
133
|
$table = parseGetParameter('table', 'a-zA-Z0-9\-_*,', '*');
|
124
|
134
|
$key = parseGetParameter('key', 'a-zA-Z0-9\-,', false); // auto-increment or uuid
|
|
@@ -136,6 +146,8 @@ $page = processPageParameter($page);
|
136
|
146
|
|
137
|
147
|
$table = applyWhitelistAndBlacklist($table,$action,$config['whitelist'],$config['blacklist']);
|
138
|
148
|
|
|
149
|
+$object = retrieveObject($key,$table,$mysqli);
|
|
150
|
+
|
139
|
151
|
startOutput($callback);
|
140
|
152
|
switch($action){
|
141
|
153
|
case 'list':
|
|
@@ -176,13 +188,7 @@ switch($action){
|
176
|
188
|
}
|
177
|
189
|
echo '}';
|
178
|
190
|
break;
|
179
|
|
- case 'read':
|
180
|
|
- if ($result = $mysqli->query("SELECT * FROM `$table[0]` WHERE `$key[1]` = '$key[0]'")) {
|
181
|
|
- $value = $result->fetch_assoc();
|
182
|
|
- echo json_encode($value);
|
183
|
|
- $result->close();
|
184
|
|
- }
|
185
|
|
- break;
|
|
191
|
+ case 'read': echo json_encode($object); break;
|
186
|
192
|
case 'create': break;
|
187
|
193
|
case 'update': break;
|
188
|
194
|
case 'delete': break;
|