summaryrefslogtreecommitdiffstats
path: root/application
diff options
context:
space:
mode:
authorSimon2011-01-31 13:55:29 +0100
committerSimon2011-01-31 13:55:29 +0100
commit86d3a483f5efb458deb1f1d1d4bbbb924eaea7f8 (patch)
tree9356d51aacfd9feea2cabcc1c6d94de8bce93270 /application
parentauthController geänder (diff)
parentpersonMapper aktualisiert (diff)
downloadpbs2-86d3a483f5efb458deb1f1d1d4bbbb924eaea7f8.tar.gz
pbs2-86d3a483f5efb458deb1f1d1d4bbbb924eaea7f8.tar.xz
pbs2-86d3a483f5efb458deb1f1d1d4bbbb924eaea7f8.zip
Merge branch 'master' of openslx.org:lsfks/master-teamprojekt/pbs2
Diffstat (limited to 'application')
-rw-r--r--application/models/PersonMapper.php105
1 files changed, 105 insertions, 0 deletions
diff --git a/application/models/PersonMapper.php b/application/models/PersonMapper.php
index c7894c2..632c3ee 100644
--- a/application/models/PersonMapper.php
+++ b/application/models/PersonMapper.php
@@ -2,7 +2,112 @@
class Application_Model_PersonMapper
{
+
+ protected $_dbTable;
+ public function setDbTable($dbTable)
+ {
+ if (is_string($dbTable)) {
+ $dbTable = new $dbTable();
+ }
+ if (!$dbTable instanceof Zend_Db_Table_Abstract) {
+ throw new Exception('Invalid table data gateway provided');
+ }
+
+ $this->_dbTable = $dbTable;
+
+ return $this;
+ }
+
+ public function getDbTable()
+ {
+ if (null === $this->_dbTable) {
+ $this->setDbTable('Application_Model_DbTable_Person');
+ }
+
+ return $this->_dbTable;
+ }
+
+ public function save(Application_Model_Person $person)
+ {
+
+ $data = array(
+ 'personID' => $tablenamevar->getID(),
+ 'title' => $tablenamevar->getTitle(),
+ 'name' => $tablenamevar->getName(),
+ 'firstname' => $tablenamevar->getFirstname(),
+ 'street' => $tablenamevar->getStreet(),
+ 'housenumber' => $tablenamevar->getHousenumber(),
+ 'city' => $tablenamevar->getCity(),
+ 'postalcode' => $tablenamevar->getPostalcode(),
+ 'logindate' => $tablenamevar->getLogindate(),
+ 'registerdate' => $tablenamevar->getRegisterdate(),
+ 'email' => $tablenamevar->getEmail(),
+ 'login' => $tablenamevar->getLogin(),
+ 'password' => $tablenamevar->getPassword()
+ );
+
+ if (null === ($id = $person->getID()) ) {
+ unset($data['id']);
+ $this->getDbTable()->insert($data);
+ } else {
+ $this->getDbTable()->update($data, array('id = ?' => $id));
+ }
+ }
+
+ public function find($id, Application_Model_Person $person)
+ {
+ $result = $this->getDbTable()->find($id);
+ if (0 == count($result)) {
+ return;
+ }
+
+ $row = $result->current();
+
+ $tablenamevar->setID($row->personID)
+ ->setTitle($row->title)
+ ->setName($row->name)
+ ->setFirstname($row->firstname)
+ ->setStreet($row->street)
+ ->setHousenumber($row->housenumber)
+ ->setCity($row->city)
+ ->setPostalcode($row->postalcode)
+ ->setLogindate($row->logindate)
+ ->setRegisterdate($row->registerdate)
+ ->setEmail($row->email)
+ ->setLogin($row->login)
+ ->setPassword($row->password);
+ }
+
+ public function fetchAll()
+ {
+ $resultSet = $this->getDbTable()->fetchAll();
+ $entries = array();
+ foreach ($resultSet as $row) {
+ $entry = new Application_Model_Person();
+
+ $entry->setID($row->personID)
+ ->setTitle($row->title)
+ ->setName($row->name)
+ ->setFirstname($row->firstname)
+ ->setStreet($row->street)
+ ->setHousenumber($row->housenumber)
+ ->setCity($row->city)
+ ->setPostalcode($row->postalcode)
+ ->setLogindate($row->logindate)
+ ->setRegisterdate($row->registerdate)
+ ->setEmail($row->email)
+ ->setLogin($row->login)
+ ->setPassword($row->password);
+
+ $entries[] = $entry;
+ }
+
+ return $entries;
+ }
+
+
+
}