X-Git-Url: https://dev.renevier.net/?a=blobdiff_plain;f=application%2Fmodels%2FPathMapper.php;h=1e0e973c4489dc0e1bb9673cefcbeb30c949a72d;hb=ec061a75fe57a25eb7ef0894f5e723397ba35472;hp=01e2818f567bb42524f66309fc61eeac2f45f35d;hpb=190fd621df4920c56a422c03663874cddaa67d64;p=syj.git diff --git a/application/models/PathMapper.php b/application/models/PathMapper.php index 01e2818..1e0e973 100644 --- a/application/models/PathMapper.php +++ b/application/models/PathMapper.php @@ -42,9 +42,18 @@ class Syj_Model_PathMapper return $this->_fetchItem($select, $path); } - public function fetchAll() { + public function fetchByCreator(Syj_Model_User $user) { $select = $this->_select(); + $select->where('creator = ?', (int)$user->id)->order('id'); + return $this->fetchAll($select); + } + + public function fetchAll(Zend_Db_Table_Select $select) { + if (!isset($select)) { + $select = $this->_select(); + } + $table = $this->getDbTable(); $resultSet = $table->fetchAll($select); $entries = array(); @@ -58,8 +67,9 @@ class Syj_Model_PathMapper public function save (Syj_Model_Path $path) { $data = array( 'geom'=> (string)$path->geom, - 'owner'=> $path->owner->id, - 'title'=> $path->title + 'creator'=> $path->creator->id, + 'title'=> $path->title, + 'creator_ip'=> $path->creatorIp ); if (null === ($id = $path->getId())) { $path->id = $this->getDbTable()->insert($data); @@ -68,6 +78,10 @@ class Syj_Model_PathMapper } } + public function delete (Syj_Model_Path $path) { + $this->getDbTable()->delete(array('id = ?' => $path->getId())); + } + protected function _itemFromRow(Syj_Model_Path $item, Zend_Db_Table_Row $row) { $decoder = new gisconverter\WKT(); $geom = $decoder->geomFromText($row->wkt); @@ -75,13 +89,14 @@ class Syj_Model_PathMapper $item->setId($row->id)-> setGeom($geom)-> setTitle($row->title)-> - setUrlComp($row->urlcomp); + setUrlComp($row->urlcomp)-> + setCreatorIp($row->creator_ip); - if (!$item->getOwner()) { + if (!$item->getCreator()) { $user = new Syj_Model_User(); $userMapper = new Syj_Model_UserMapper(); - if ($userMapper->find($row->owner, $user)) { - $item->setOwner($user); + if ($userMapper->find($row->creator, $user)) { + $item->setCreator($user); } } return $item; @@ -99,7 +114,7 @@ class Syj_Model_PathMapper protected function _select() { $table = $this->getDbTable(); $select = $table->select(); - $select->from($table, array('id', 'ST_AsText(geom) AS wkt', 'owner', 'title', 'urlcomp')); + $select->from($table, array('id', 'ST_AsText(geom) AS wkt', 'creator', 'title', 'urlcomp', 'creator_ip')); return $select; }