From eccbb9c48aa1e63e98dccf3ec0c2b7ba5f543309 Mon Sep 17 00:00:00 2001 From: Krivchikov Dmitry Date: Wed, 1 Jun 2016 14:57:25 +0300 Subject: [PATCH 1/5] =?UTF-8?q?=D0=9D=D0=B0=D1=87=D0=B0=D0=BB=20=D0=B4?= =?UTF-8?q?=D0=B5=D0=BB=D0=B0=D1=82=D1=8C=20=D1=80=D0=B0=D0=B7=D1=80=D0=B5?= =?UTF-8?q?=D0=B7=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=82=D1=80=D0=B5=D0=BA=D0=B0?= =?UTF-8?q?=20=D0=BD=D0=B0=20=D1=87=D0=B0=D1=81=D1=82=D0=B8,=20=D0=BD?= =?UTF-8?q?=D0=BE=20=D1=87=D1=82=D0=BE-=D1=82=D0=BE=20=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D0=B0=D0=B5=D1=82=20=D0=BD=D0=B5=20=D1=82=D0=B0?= =?UTF-8?q?=D0=BA=20-=20=D1=82=D1=83=D0=BF=D0=B0=D1=8E=D1=82=D1=81=D1=8F?= =?UTF-8?q?=20=D1=82=D0=BE=D1=87=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/EdittrackController.php | 133 ++++++++++++++++++++++++++-- controllers/JsonController.php | 2 +- public/js/editTrack.js | 7 ++ views/tracks/edit.php | 14 ++- 4 files changed, 147 insertions(+), 9 deletions(-) create mode 100644 public/js/editTrack.js diff --git a/controllers/EdittrackController.php b/controllers/EdittrackController.php index 5a779fe..7718845 100644 --- a/controllers/EdittrackController.php +++ b/controllers/EdittrackController.php @@ -81,7 +81,7 @@ class EdittrackController extends Controller $trip->json = ''; $trip->save(); - App::redirect('/tracks/edit/id/'.$trip->id); + App::redirect('/tracks/edit/id/' . $trip->id); } function actionMergetrack() @@ -99,7 +99,7 @@ class EdittrackController extends Controller } $takeIt = $mergetId = $merget = FALSE; - $tracks = Tracks::model()->getAll(array('where'=>'`tripId` = ?'), array($trip->id)); + $tracks = Tracks::model()->getAll(array('where' => '`tripId` = ?'), array($trip->id)); foreach ($tracks as $key => $value) { if ($takeIt) { $mergetId = $key; @@ -129,7 +129,7 @@ class EdittrackController extends Controller $trip->json = ''; $trip->save(); - App::redirect('/tracks/edit/id/'.$trip->id); + App::redirect('/tracks/edit/id/' . $trip->id); } function actionWaypoint() @@ -170,7 +170,7 @@ class EdittrackController extends Controller $trip->json = ''; $trip->save(); - App::redirect('/tracks/edit/id/'.$trip->id); + App::redirect('/tracks/edit/id/' . $trip->id); } function actionGettrackdetails() @@ -187,8 +187,129 @@ class EdittrackController extends Controller App::error404(); } - $trackpoints = TrackPoints::model()->getAll(array('where' => '`trackId` = '.$track->id, 'asArray' => TRUE, 'noKeys' => TRUE,)); + $trackpoints = TrackPoints::model()->getAll(array('where' => '`trackId` = ' . $track->id, 'asArray' => TRUE, 'noKeys' => TRUE,)); self::renderPartial('json.php', $trackpoints); } -} \ No newline at end of file + + function actionCut() + { + $id = intval(App::getParam('id')); + + $trackPoint = TrackPoints::model()->getByPK($id); + if ($trackPoint->isEmpty()) { + App::error404(); + } + + $track = Tracks::model()->getByPK($trackPoint->trackId); + if ($track->isEmpty()) { + App::error404(); + } + + $trip = Trips::model()->getByPK($track->tripId); + if ($trip->isEmpty() || $trip->owner != App::$user->id) { + App::error404(); + } + + $tracks = Tracks::model()->getAll(array('where' => '`tripId` = ?'), array($trip->id)); + foreach ($tracks as $trk) { + $newTrack = Tracks::model()->add( + array( + 'tripId' => $trip->id, + 'name' => $trk->name, + 'distance' => $trk->distance, + 'description' => $trk->description, + ) + ); + + + if ($trk->id == $track->id) { +// $prevPoint = false; +// $distanceTmp = 0; + $trackPoints = TrackPoints::model()->getAll(array('where'=>'`trackId` = ? AND `id` <= ?', 'order' => 'id'), array($trk->id, $trackPoint->id)); + foreach ($trackPoints as $tpt) { + TrackPoints::model()->add( + array( + 'trackId' => $newTrack->id, + 'lat' => floatval($tpt->lat), + 'lng' => floatval($tpt->lng), + 'alt' => $tpt->alt, + 'createdAt' => $tpt->createdAt, + 'speed' => $tpt->speed, + ) + ); + +// if ($prevPoint) { +// $distanceTmp += Geo::distance($prevPoint, array('lat' => floatval($tpt->lat), 'lng' => floatval($tpt->lng))); +// } +// +// $prevPoint = array( +// 'lat' => floatval($tpt->lat), +// 'lng' => floatval($tpt->lng), +// ); + } +// $newTrack->distance = $distanceTmp; +// $newTrack->save(); + + $prevPoint = false; + $distanceTmp = 0; + $newTrack = Tracks::model()->add( + array( + 'tripId' => $trip->id, + 'name' => $trk->name . ' / #2', + 'distance' => $trk->distance, + 'description' => $trk->description, + ) + ); + + $trackPoints = TrackPoints::model()->getAll(array('where'=>'`trackId` = ? AND `id` >= ?', 'order' => 'id'), array($trk->id, $trackPoint->id)); + foreach ($trackPoints as $tpt) { + TrackPoints::model()->add( + array( + 'trackId' => $newTrack->id, + 'lat' => floatval($tpt->lat), + 'lng' => floatval($tpt->lng), + 'alt' => $tpt->alt, + 'createdAt' => $tpt->createdAt, + 'speed' => $tpt->speed, + ) + ); + +// if ($prevPoint) { +// $distanceTmp += Geo::distance($prevPoint, array('lat' => floatval($tpt->lat), 'lng' => floatval($tpt->lng))); +// } +// +// $prevPoint = array( +// 'lat' => floatval($tpt->lat), +// 'lng' => floatval($tpt->lng), +// ); + } +// $newTrack->distance = $distanceTmp; +// $newTrack->save(); + } else { + $trackPoints = TrackPoints::model()->getAll(array('where'=>'`trackId` = ?', 'order' => 'id'), array($trk->id)); + foreach ($trackPoints as $tpt) { + TrackPoints::model()->add( + array( + 'trackId' => $newTrack->id, + 'lat' => floatval($tpt->lat), + 'lng' => floatval($tpt->lng), + 'alt' => $tpt->alt, + 'createdAt' => $tpt->createdAt, + 'speed' => $tpt->speed, + ) + ); + } + } + + App::DB()->query("DELETE FROM `trackPoints` WHERE `trackId` = ".$trk->id); + $trk->delete($trk->id); + } + + $trip->json = ''; + $trip->save(); + + App::redirect('/tracks/edit/id/' . $trip->id); + } + +} diff --git a/controllers/JsonController.php b/controllers/JsonController.php index 1def25c..69dc53c 100644 --- a/controllers/JsonController.php +++ b/controllers/JsonController.php @@ -621,7 +621,7 @@ class JsonController extends Controller } - $tracks = Tracks::model()->getAll(array('where' => '`tripId` = ?'), array($trip->id)); + $tracks = Tracks::model()->getAll(array('where' => '`tripId` = ?', 'order' => 'id'), array($trip->id)); if ($tracks) { foreach ($tracks as $track) { $resLatlngs = array(); diff --git a/public/js/editTrack.js b/public/js/editTrack.js new file mode 100644 index 0000000..9facedf --- /dev/null +++ b/public/js/editTrack.js @@ -0,0 +1,7 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + + diff --git a/views/tracks/edit.php b/views/tracks/edit.php index 34672f4..8f79568 100644 --- a/views/tracks/edit.php +++ b/views/tracks/edit.php @@ -49,7 +49,7 @@ - + @@ -170,7 +170,7 @@ $('#trackpointsList'+id).html(''); if (typeof (data) != 'undefined') { for (var i = 0; i < data.length; i++) { - $('
' + data[i].id + ' - ' + data[i].lat + ' / '+ data[i].lng+'
').appendTo('#trackpointsList'+id); + $(makeRow(data[i])).appendTo('#trackpointsList'+id); } } }, @@ -179,4 +179,14 @@ } }); } + + function makeRow(data) + { + row = '
'; + row += data.id + ' - ' + data.lat + ' / '+ data.lng; + row += ' '; + row += '
'; + return row; + } + From 054c05b7a0c04a4c258efde7d28f8eb7b248f815 Mon Sep 17 00:00:00 2001 From: Krivchikov Dmitry Date: Thu, 2 Jun 2016 12:26:19 +0300 Subject: [PATCH 2/5] =?UTF-8?q?ADD=20=D1=83=D1=82=D0=BE=D1=87=D0=BD=D1=91?= =?UTF-8?q?=D0=BD=D0=BD=D1=8B=D0=B9=20=D1=80=D0=B0=D1=81=D1=81=D1=87=D1=91?= =?UTF-8?q?=D1=82=20=D0=B4=D0=BB=D0=B8=D0=BD=D1=8B=20=D1=82=D1=80=D0=B5?= =?UTF-8?q?=D0=BA=D0=B0;=20=D1=8D=D0=BA=D1=81=D0=BF=D0=BE=D1=80=D1=82=20?= =?UTF-8?q?=D1=82=D1=80=D0=B5=D0=BA=D0=B0=20=D0=B2=20GPX?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- classes/Geo.php | 11 ++++++- controllers/JsonController.php | 2 +- controllers/TracksController.php | 24 +++++++++++++-- views/tracks/gpx.php | 51 ++++++++++++++++++++++++++++++++ views/tracks/index.php | 3 ++ 5 files changed, 87 insertions(+), 4 deletions(-) create mode 100644 views/tracks/gpx.php diff --git a/classes/Geo.php b/classes/Geo.php index 7967b98..6ef7d9a 100644 --- a/classes/Geo.php +++ b/classes/Geo.php @@ -16,7 +16,16 @@ class Geo $delta_lat = ($lat2 - $lat1); $delta_lng = ($lng2 - $lng1); - return (6378137 * acos(cos($lat1) * cos($lat2) * cos($lng1 - $lng2) + sin($lat1) * sin($lat2))); + $distance = (6378137 * acos(cos($lat1) * cos($lat2) * cos($lng1 - $lng2) + sin($lat1) * sin($lat2))); + + if (isset($latlng1['alt']) && isset($latlng2['alt']) && $latlng1['alt'] <> $latlng2['alt']) { +// var_dump($distance, abs($latlng1['alt'] - $latlng2['alt'])); + $altDelta = abs($latlng1['alt'] - $latlng2['alt']); + $distance = sqrt(pow($distance, 2) + pow($altDelta, 2)); +// var_dump($distance);die; + } + + return $distance; } static function formatedDistance($distance) diff --git a/controllers/JsonController.php b/controllers/JsonController.php index 1def25c..b14c698 100644 --- a/controllers/JsonController.php +++ b/controllers/JsonController.php @@ -625,7 +625,7 @@ class JsonController extends Controller if ($tracks) { foreach ($tracks as $track) { $resLatlngs = array(); - $trackPoints = TrackPoints::model()->getAll(array('where' => '`trackId` = ?'), array($track->id)); + $trackPoints = TrackPoints::model()->getAll(array('where' => '`trackId` = ?', 'order'=>'id'), array($track->id)); if ($trackPoints) { foreach ($trackPoints as $trackPoint) { $resLatlngs[] = array( diff --git a/controllers/TracksController.php b/controllers/TracksController.php index 63bafd6..1bdbec4 100644 --- a/controllers/TracksController.php +++ b/controllers/TracksController.php @@ -108,6 +108,22 @@ class TracksController extends Controller )); } + function actionExport() + { + $id = intval(App::getParam('id')); + $trip = Trips::model()->getByPK($id); + + if ($trip->isEmpty() || $trip->owner != App::$user->id) { + App::error404(); + } + + self::renderPartial('/tracks/gpx.php', array( + 'trip' => $trip, + 'waypoints' => WayPoints::model()->getAll(array('where' => '`tripId` = ?'), array($trip->id)), + 'tracks' => Tracks::model()->getAll(array('where' => '`tripId` = ?'), array($trip->id)), + )); + } + function actionImport() { $id = (int) App::getParam('id'); @@ -206,25 +222,29 @@ class TracksController extends Controller foreach ($trkpt as $tpt) { $speed = isset($tpt->extensions->geotrackerMeta['s']) ? floatval($tpt->extensions->geotrackerMeta['s']) : 0; + $alt = isset($tpt->ele) ? floatval($tpt->ele) : 0; $trackPoint = TrackPoints::model()->add( array( 'trackId' => $track->id, 'lat' => floatval($tpt['lat']), 'lng' => floatval($tpt['lon']), - 'alt' => isset($tpt->ele) ? floatval($tpt->ele) : 0, + 'alt' => $alt, 'createdAt' => isset($tpt->time) ? $tpt->time : date('c'), 'speed' => $speed, ) ); if ($prevPoint) { - $distanceTmp += Geo::distance($prevPoint, array('lat' => floatval($tpt['lat']), 'lng' => floatval($tpt['lon']))); + $distanceTmp += Geo::distance($prevPoint, array('lat' => floatval($tpt['lat']), 'lng' => floatval($tpt['lon']), 'alt' => $alt)); } $prevPoint = array( 'lat' => floatval($tpt['lat']), 'lng' => floatval($tpt['lon']), ); + if (isset($tpt->ele)) { + $prevPoint['alt'] = floatval($tpt->ele); + } $tptCount++; } diff --git a/views/tracks/gpx.php b/views/tracks/gpx.php new file mode 100644 index 0000000..955be1f --- /dev/null +++ b/views/tracks/gpx.php @@ -0,0 +1,51 @@ + + + + name ?> + description ?> + + + + nick ?> + + + + + + + alt ?> + + name ?> + description ?> + + + + + + name ?> + + + distance ?> + createdAt ?> + + + +getAll(array('where' => '`trackId` = ?', 'order'=>'id'), array($track->id)); ?> + + + + alt ?> + + + + + + + + + + + \ No newline at end of file diff --git a/views/tracks/index.php b/views/tracks/index.php index 56194c4..8f3b3ea 100644 --- a/views/tracks/index.php +++ b/views/tracks/index.php @@ -25,6 +25,9 @@ if ($trips) { + + + id ?> — name ?> (createdAt ?>) status == Trips::STATUS_PUBLIC):?> From 7860013f60a4663415ea2f16e12116860fb6d2ac Mon Sep 17 00:00:00 2001 From: Krivchikov Dmitry Date: Thu, 2 Jun 2016 13:54:27 +0300 Subject: [PATCH 3/5] =?UTF-8?q?ADD=20=D0=BF=D0=BE=D1=80=D1=8F=D0=B4=D0=BE?= =?UTF-8?q?=D0=BA=20=D1=81=D0=BE=D1=80=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=B2=20=D1=80=D0=B5=D0=BB=D0=B5=D0=B9=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=D1=85;=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8?= =?UTF-8?q?=D0=B8=20=D0=BF=D0=B5=D1=80=D0=B5=D1=80=D0=B0=D1=81=D1=87=D1=91?= =?UTF-8?q?=D1=82=D0=B0=20=D0=B4=D0=B8=D1=81=D1=82=D0=B0=D0=BD=D1=86=D0=B8?= =?UTF-8?q?=D0=B8=20=D0=B4=D0=BB=D1=8F=20=D1=82=D1=80=D0=B5=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=B8=20=D0=B5=D0=B3=D0=BE=20=D1=84=D1=80=D0=B0=D0=B3=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=D0=BE=D0=B2.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- classes/Geo.php | 4 +--- classes/Model.php | 6 +++++- controllers/EdittrackController.php | 26 +------------------------- models/Tracks.php | 29 +++++++++++++++++++++++++++++ models/Trips.php | 19 +++++++++++++++++++ 5 files changed, 55 insertions(+), 29 deletions(-) diff --git a/classes/Geo.php b/classes/Geo.php index 6ef7d9a..cb68c95 100644 --- a/classes/Geo.php +++ b/classes/Geo.php @@ -18,11 +18,9 @@ class Geo $distance = (6378137 * acos(cos($lat1) * cos($lat2) * cos($lng1 - $lng2) + sin($lat1) * sin($lat2))); - if (isset($latlng1['alt']) && isset($latlng2['alt']) && $latlng1['alt'] <> $latlng2['alt']) { -// var_dump($distance, abs($latlng1['alt'] - $latlng2['alt'])); + if (isset($latlng1['alt']) && isset($latlng2['alt']) && $latlng1['alt'] > 0 && $latlng1['alt'] <> $latlng2['alt']) { $altDelta = abs($latlng1['alt'] - $latlng2['alt']); $distance = sqrt(pow($distance, 2) + pow($altDelta, 2)); -// var_dump($distance);die; } return $distance; diff --git a/classes/Model.php b/classes/Model.php index 83250b3..c2f53d3 100644 --- a/classes/Model.php +++ b/classes/Model.php @@ -85,6 +85,9 @@ abstract class Model return $model::model()->getOne($targetField, $this->$localField); break; case self::TO_MANY: + if ($order) { + return $model::model()->getAll(array('where' => "`$targetField` = '" . $this->$localField . "'", 'order' => $order)); + } return $model::model()->getAll(array('where' => "`$targetField` = '" . $this->$localField . "'")); break; default: @@ -115,13 +118,14 @@ abstract class Model * @param const $relationType - тип связи (к одному / ко многим). * @return obkect/array */ - public function setRelation($nameOfRelation, $localField, $targetModel, $targetField, $relationType) + public function setRelation($nameOfRelation, $localField, $targetModel, $targetField, $relationType, $order = NULL) { return $this->_relations_[$nameOfRelation] = array( 'localField' => $localField, 'targetModel' => $targetModel, 'targetField' => $targetField, 'relationType' => $relationType, + 'order' => $order, ); } diff --git a/controllers/EdittrackController.php b/controllers/EdittrackController.php index 7718845..f69139d 100644 --- a/controllers/EdittrackController.php +++ b/controllers/EdittrackController.php @@ -224,8 +224,6 @@ class EdittrackController extends Controller if ($trk->id == $track->id) { -// $prevPoint = false; -// $distanceTmp = 0; $trackPoints = TrackPoints::model()->getAll(array('where'=>'`trackId` = ? AND `id` <= ?', 'order' => 'id'), array($trk->id, $trackPoint->id)); foreach ($trackPoints as $tpt) { TrackPoints::model()->add( @@ -239,20 +237,8 @@ class EdittrackController extends Controller ) ); -// if ($prevPoint) { -// $distanceTmp += Geo::distance($prevPoint, array('lat' => floatval($tpt->lat), 'lng' => floatval($tpt->lng))); -// } -// -// $prevPoint = array( -// 'lat' => floatval($tpt->lat), -// 'lng' => floatval($tpt->lng), -// ); } -// $newTrack->distance = $distanceTmp; -// $newTrack->save(); - $prevPoint = false; - $distanceTmp = 0; $newTrack = Tracks::model()->add( array( 'tripId' => $trip->id, @@ -274,18 +260,7 @@ class EdittrackController extends Controller 'speed' => $tpt->speed, ) ); - -// if ($prevPoint) { -// $distanceTmp += Geo::distance($prevPoint, array('lat' => floatval($tpt->lat), 'lng' => floatval($tpt->lng))); -// } -// -// $prevPoint = array( -// 'lat' => floatval($tpt->lat), -// 'lng' => floatval($tpt->lng), -// ); } -// $newTrack->distance = $distanceTmp; -// $newTrack->save(); } else { $trackPoints = TrackPoints::model()->getAll(array('where'=>'`trackId` = ?', 'order' => 'id'), array($trk->id)); foreach ($trackPoints as $tpt) { @@ -307,6 +282,7 @@ class EdittrackController extends Controller } $trip->json = ''; + $trip->calculateDist(); $trip->save(); App::redirect('/tracks/edit/id/' . $trip->id); diff --git a/models/Tracks.php b/models/Tracks.php index 05fc827..bd3dfd4 100644 --- a/models/Tracks.php +++ b/models/Tracks.php @@ -7,6 +7,7 @@ class Tracks extends Model { $this->_tableName_ = 'tracks'; parent::__construct($fromArray); + $this->setRelation('points', 'id', 'TrackPoints', 'trackId', self::TO_MANY, '`id` ASC'); } static function model() @@ -18,4 +19,32 @@ class Tracks extends Model { return Geo::formatedDistance($this->distance); } + + /** + * Считает/пересчитывает длину фрагмента трека и сохраняет значение в БД. + */ + function calculateDist() + { + $points = $this->points; + $distance = 0; + $prevPoint = array(); + foreach ($points as $point) { + if ($prevPoint) { + $distance += Geo::distance( + $prevPoint, + array('lat' => floatval($point->lat), 'lng' => floatval($point->lng), 'alt' => floatval($point->alt))); + } + + $prevPoint = array( + 'lat' => floatval($point->lat), + 'lng' => floatval($point->lng), + 'alt' => floatval($point->alt), + ); + } + $this->distance = $distance; + $this->save(); + + return $distance; + } + } diff --git a/models/Trips.php b/models/Trips.php index ae2b4ae..e3882b9 100644 --- a/models/Trips.php +++ b/models/Trips.php @@ -11,6 +11,7 @@ class Trips extends Model { $this->_tableName_ = 'trips'; parent::__construct($fromArray); + $this->setRelation('tracks', 'id', 'Tracks', 'tripId', self::TO_MANY, '`id` ASC'); } static function model() @@ -22,4 +23,22 @@ class Trips extends Model { return Geo::formatedDistance($this->distance); } + + /** + * Считает/пересчитывает длину трека и всех его фрагментов + */ + function calculateDist() + { + $tracks = $this->tracks; + $distance = 0; + + foreach ($tracks as $track) { + $distance += $track->calculateDist(); + } + + $this->distance = $distance; + $this->save(); + + return $distance; + } } From 3a7d0818ac9ba95a95de9cbee7456a0eafcbcefc Mon Sep 17 00:00:00 2001 From: Krivchikov Dmitry Date: Mon, 13 Jun 2016 14:09:24 +0300 Subject: [PATCH 4/5] =?UTF-8?q?ADD=20=D0=BC=D0=B8=D0=BD=D0=B8=D0=BA=D0=B0?= =?UTF-8?q?=D1=80=D1=82=D0=B0=20=D0=BD=D0=B0=20=D1=80=D0=B5=D0=B4=D0=B0?= =?UTF-8?q?=D0=BA=D1=82=D0=BE=D1=80=D0=B5=20=D1=82=D1=80=D0=B5=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/EdittrackController.php | 2 +- controllers/TracksController.php | 3 ++ views/tracks/edit.php | 71 +++++++++++++++++++++++------ 3 files changed, 62 insertions(+), 14 deletions(-) diff --git a/controllers/EdittrackController.php b/controllers/EdittrackController.php index f69139d..2766ccb 100644 --- a/controllers/EdittrackController.php +++ b/controllers/EdittrackController.php @@ -187,7 +187,7 @@ class EdittrackController extends Controller App::error404(); } - $trackpoints = TrackPoints::model()->getAll(array('where' => '`trackId` = ' . $track->id, 'asArray' => TRUE, 'noKeys' => TRUE,)); + $trackpoints = TrackPoints::model()->getAll(array('where' => '`trackId` = ' . $track->id, 'asArray' => TRUE, 'noKeys' => TRUE, 'order' => '`id`')); self::renderPartial('json.php', $trackpoints); } diff --git a/controllers/TracksController.php b/controllers/TracksController.php index 1bdbec4..16f56dd 100644 --- a/controllers/TracksController.php +++ b/controllers/TracksController.php @@ -30,6 +30,9 @@ class TracksController extends Controller function actionEdit() { + self::addScript('/js/leaflet.js'); + self::addStyle('/css/leaflet.css'); + $id = intval(App::getParam('id')); if (!$id) { diff --git a/views/tracks/edit.php b/views/tracks/edit.php index 8f79568..83e2685 100644 --- a/views/tracks/edit.php +++ b/views/tracks/edit.php @@ -1,5 +1,5 @@ @@ -38,6 +38,7 @@
-
- + +
@@ -66,7 +76,7 @@

Путевые точки ()

- - + изменения сохранены... + при сохранении возникла ошибка!
@@ -36,9 +36,9 @@ $tracksCounter = 1; @@ -92,146 +92,7 @@ $tracksCounter = 1; - - + изменения сохранены... + при сохранении возникла ошибка! - -