Add support for JSON requests
This commit is contained in:
parent
4133efb8a8
commit
0d1787d69a
1 changed files with 14 additions and 9 deletions
|
@ -16,21 +16,26 @@ class PlaceService
|
||||||
*/
|
*/
|
||||||
public function createPlace(Request $request)
|
public function createPlace(Request $request)
|
||||||
{
|
{
|
||||||
//we’ll either have latitude and longitude sent together in a
|
if ($request->header('Content-Type') == 'application/json') {
|
||||||
//geo-url (micropub), or seperatley (/admin)
|
$name = $request->input('properties.name');
|
||||||
if ($request->input('geo') !== null) {
|
$description = $request->input('properties.description') ?? null;
|
||||||
$parts = explode(':', $request->input('geo'));
|
$geo = $request->input('properties.geo');
|
||||||
$latlng = explode(',', $parts[1]);
|
} else {
|
||||||
$latitude = $latlng[0];
|
$name = $request->input('name');
|
||||||
$longitude = $latlng[1];
|
$description = $request->input('description');
|
||||||
|
$geo = $request->input('geo');
|
||||||
}
|
}
|
||||||
|
$parts = explode(':', $geo);
|
||||||
|
$latlng = explode(',', $parts[1]);
|
||||||
|
$latitude = $latlng[0];
|
||||||
|
$longitude = $latlng[1];
|
||||||
if ($request->input('latitude') !== null) {
|
if ($request->input('latitude') !== null) {
|
||||||
$latitude = $request->input('latitude');
|
$latitude = $request->input('latitude');
|
||||||
$longitude = $request->input('longitude');
|
$longitude = $request->input('longitude');
|
||||||
}
|
}
|
||||||
$place = new Place();
|
$place = new Place();
|
||||||
$place->name = $request->input('name');
|
$place->name = $name;
|
||||||
$place->description = $request->input('description');
|
$place->description = $description;
|
||||||
$place->location = new Point((float) $latitude, (float) $longitude);
|
$place->location = new Point((float) $latitude, (float) $longitude);
|
||||||
$place->save();
|
$place->save();
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue