public function save(Mage_Admin_Model_User $user) { $this->_write->beginTransaction(); try { $data = array('firstname' => $user->getFirstname(), 'lastname' => $user->getLastname(), 'email' => $user->getEmail(), 'username' => $user->getUsername(), 'modified' => now()); if (!is_null($user->getReloadAclFlag())) { $data['reload_acl_flag'] = $user->getReloadAclFlag(); } if ($user->getPassword()) { $data['password'] = $this->_encryptPassword($user->getPassword()); } if ($user->getId()) { $condition = $this->_write->quoteInto('user_id=?', $user->getId()); $this->_write->update($this->_userTable, $data, $condition); } else { $data['created'] = now(); $this->_write->insert($this->_userTable, $data); $user->setUserId($this->_write->lastInsertId()); } $this->_write->commit(); } catch (Exception $e) { $this->_write->rollback(); throw $e; } return $user; }