commit fa51cd728fbb13ebadfc45d90dc24c284a31f4ae Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Sat Oct 1 14:25:50 2016 +0100 Update changelog commit 93e6a92c664cb42da679c5bb2e37cabec0e7fb99 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Sat Oct 1 14:25:00 2016 +0100 test create new place with uncertainty parameter commit 3d793801b3c0e93228ce5c6bae83c74b130127c0 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Sat Oct 1 14:24:35 2016 +0100 Parse correctly to take into account uncertainty parameter commit d9060332a484ff414ed4dac03fa39838d7b73b54 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Sat Oct 1 11:11:56 2016 +0100 Better comments commit 298663cf7beaf4893d326aae880d64279ce4af37 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Fri Sep 30 22:59:08 2016 +0100 Allow tagged notes to be deleted, didn’t know that wasn’t possible before :/ commit 7f5c65c6d858321526b7f0ac84c527dc2f09614a Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Fri Sep 30 22:57:57 2016 +0100 Better test for creating a new note via mircropub, the new note gets deleted
49 lines
1.4 KiB
PHP
49 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Services;
|
|
|
|
use App\Place;
|
|
use Illuminate\Http\Request;
|
|
use Phaza\LaravelPostgis\Geometries\Point;
|
|
|
|
class PlaceService
|
|
{
|
|
/**
|
|
* Create a place.
|
|
*
|
|
* @param \Illuminate\Http\Request $request
|
|
* @return \App\Place
|
|
*/
|
|
public function createPlace(Request $request)
|
|
{
|
|
if ($request->header('Content-Type') == 'application/json') {
|
|
$name = $request->input('properties.name');
|
|
$description = $request->input('properties.description') ?? null;
|
|
$geo = $request->input('properties.geo');
|
|
} else {
|
|
$name = $request->input('name');
|
|
$description = $request->input('description');
|
|
$geo = $request->input('geo');
|
|
}
|
|
if ($geo) {
|
|
preg_match_all(
|
|
'/([0-9\.\-]+)/',
|
|
$geo,
|
|
$matches
|
|
);
|
|
$latitude = $matches[0][0];
|
|
$longitude = $matches[0][1];
|
|
}
|
|
if ($request->input('latitude') !== null) {
|
|
$latitude = $request->input('latitude');
|
|
$longitude = $request->input('longitude');
|
|
}
|
|
$place = new Place();
|
|
$place->name = $name;
|
|
$place->description = $description;
|
|
$place->location = new Point((float) $latitude, (float) $longitude);
|
|
$place->save();
|
|
|
|
return $place;
|
|
}
|
|
}
|