예제 #1
0
 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;
 }