public function save($params = '*', $tsl_params = '*') { $db = Zend_Registry::get('db'); $mapper = new SxModule_Subscribe_Email_Mapper(); $data = $mapper->toArray($this, 'item'); $tslData = $mapper->toArray($this, 'tsl'); if (is_array($params)) { $data = $mapper->fromInput($data, $params); } if (is_array($tsl_params)) { $tslData = $mapper->fromInput($tslData, $tsl_params); } if ($this->getId()) { $id = $this->getId(); $db->update('SubscribeMail', $data, 'id = ' . (int) $id); $db->update('SubscribeMailTsl', $tslData, 'mail_id = ' . (int) $id . ' AND lng = ' . $db->quote($this->getLng())); } else { $db->insert('SubscribeMail', $data); $id = $db->lastInsertId(); $config = Zend_Registry::get('config'); foreach ($config->system->language as $lng => $slng) { $tslData['lng'] = $lng; $tslData['mail_id'] = (int) $id; $db->insert('SubscribeMailTsl', $tslData); } } return $this; }