diff --git a/controllers/EdittrackController.php b/controllers/EdittrackController.php index 1a21b0f..145af46 100644 --- a/controllers/EdittrackController.php +++ b/controllers/EdittrackController.php @@ -47,4 +47,67 @@ class EdittrackController extends Controller $trip->json = ''; $trip->save(); } + + function actionDeletetrack() + { + $id = intval(App::getParam('id')); + + $track = Tracks::model()->getByPK($id); + if ($track->isEmpty()) { + App::error404(); + } + + $trip = Trips::model()->getByPK($track->tripId); + if ($trip->isEmpty() || $trip->owner != App::$user->id) { + App::error404(); + } + + $track->delete($id); + + $trip->json = ''; + $trip->save(); + + App::redirect('/tracks/edit/id/'.$trip->id); + } + + function actionWaypoint() + { + $id = intval(App::getParam('id')); + + $waypoint = WayPoints::model()->getByPK($id); + if (empty($_POST['name']) || $waypoint->isEmpty()) { + App::error404(); + } + + $trip = Trips::model()->getByPK($waypoint->tripId); + if ($trip->isEmpty() || $trip->owner != App::$user->id) { + App::error404(); + } + + $waypoint->name = trim($_POST['name']); + $waypoint->description = trim($_POST['description']); + $waypoint->save(); + } + + function actionDeletewaypoint() + { + $id = intval(App::getParam('id')); + + $waypoint = WayPoints::model()->getByPK($id); + if ($waypoint->isEmpty()) { + App::error404(); + } + + $trip = Trips::model()->getByPK($waypoint->tripId); + if ($trip->isEmpty() || $trip->owner != App::$user->id) { + App::error404(); + } + + $waypoint->delete($id); + + $trip->json = ''; + $trip->save(); + + App::redirect('/tracks/edit/id/'.$trip->id); + } } \ No newline at end of file diff --git a/controllers/JsonController.php b/controllers/JsonController.php index 7fb47ca..4519f28 100644 --- a/controllers/JsonController.php +++ b/controllers/JsonController.php @@ -718,17 +718,17 @@ class JsonController extends Controller $distance1 = Geo::distance($prevPoint, array('lat' => $trackPoint->lat, 'lng' => $trackPoint->lng)); - if ($distance1 < 100) { + if ($distance1 < 30) { continue; } - $distance2 = Geo::distance($nextPoint, array('lat' => $trackPoint->lat, 'lng' => $trackPoint->lng)); - $distance3 = Geo::distance($prevPoint, $nextPoint); - - - if (($distance3 / ($distance1+$distance2)) > 0.982) { - continue; - } +// $distance2 = Geo::distance($nextPoint, array('lat' => $trackPoint->lat, 'lng' => $trackPoint->lng)); +// $distance3 = Geo::distance($prevPoint, $nextPoint); +// +// +// if (($distance3 / ($distance1+$distance2)) > 0.982) { +// continue; +// } } $prevPoint = $trackPoints[$index]; diff --git a/controllers/TracksController.php b/controllers/TracksController.php index 96bc0c9..f65b33f 100644 --- a/controllers/TracksController.php +++ b/controllers/TracksController.php @@ -45,6 +45,7 @@ class TracksController extends Controller self::render('/tracks/edit.php', array( 'trip' => $trip, 'tracks' => Tracks::model()->getAll(array('where' => '`tripId` = ' . $trip->id)), + 'waypoints' => WayPoints::model()->getAll(array('where' => '`tripId` = ' . $trip->id)), )); } diff --git a/models/Trips.php b/models/Trips.php index d06ff87..ae2b4ae 100644 --- a/models/Trips.php +++ b/models/Trips.php @@ -18,7 +18,7 @@ class Trips extends Model return new self(); } - function getDistance() + function distance() { return Geo::formatedDistance($this->distance); } diff --git a/views/indexTemplate.php b/views/indexTemplate.php index d26ac4c..09fc774 100644 --- a/views/indexTemplate.php +++ b/views/indexTemplate.php @@ -116,7 +116,7 @@ if (App::$user) {