public function save() { $db = Zend_Registry::get('db'); $mapper = new SxModule_Members_Mapper(); $data = $mapper->toArray($this); if ($this->getId() == 0) { $data['date_created'] = new Zend_Db_Expr('NOW()'); $data['date_updated'] = '0000-00-00 00:00:00'; $db->insert('Member', $data); if ($this->getActive() == 1) { $this->sendRegistration(); } $this->setId($db->lastInsertId()); $db->delete('MemberGroups', 'member_id = ' . (int) $this->getId()); if ($this->_groups['0'] != '') { foreach ($this->_groups as $group) { $db->insert('MemberGroups', array('member_id' => (int) $this->getId(), 'group_id' => (int) $group)); } } } else { $data['date_updated'] = new Zend_Db_Expr('NOW()'); $db->update('Member', $data, 'id = ' . (int) $this->getId()); $db->delete('MemberGroups', 'member_id = ' . (int) $this->getId()); if ($this->_groups['0'] != '') { foreach ($this->_groups as $group) { $db->insert('MemberGroups', array('member_id' => (int) $this->getId(), 'group_id' => (int) $group)); } } } return true; }