diff options
author | David Athay <ko2fan@gmail.com> | 2009-03-05 14:30:19 +0000 |
---|---|---|
committer | David Athay <ko2fan@gmail.com> | 2009-03-05 14:30:19 +0000 |
commit | be548ff54b8fa60a8a778714cd8fa5326722c0aa (patch) | |
tree | 5b68e5363fd592b4402944c298f77f3bf2b60f0e /src/account-server/accounthandler.cpp | |
parent | 30a6139d35938d9e86b33e32d5e5b111a16db937 (diff) | |
download | manaserv-be548ff54b8fa60a8a778714cd8fa5326722c0aa.tar.gz manaserv-be548ff54b8fa60a8a778714cd8fa5326722c0aa.tar.bz2 manaserv-be548ff54b8fa60a8a778714cd8fa5326722c0aa.tar.xz manaserv-be548ff54b8fa60a8a778714cd8fa5326722c0aa.zip |
Added transactional history
Diffstat (limited to 'src/account-server/accounthandler.cpp')
-rw-r--r-- | src/account-server/accounthandler.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/account-server/accounthandler.cpp b/src/account-server/accounthandler.cpp index 27d96176..a1280e35 100644 --- a/src/account-server/accounthandler.cpp +++ b/src/account-server/accounthandler.cpp @@ -28,6 +28,7 @@ #include "account-server/character.hpp" #include "account-server/dalstorage.hpp" #include "account-server/serverhandler.hpp" +#include "account-server/transaction.hpp" #include "chat-server/chathandler.hpp" #include "common/configuration.hpp" #include "net/connectionhandler.hpp" @@ -604,6 +605,14 @@ static void handleCharacterCreateMessage(AccountClient &computer, MessageIn &msg LOG_INFO("Character " << name << " was created for " << acc->getName() << "'s account."); + // log transaction + Transaction trans; + trans.mCharacterId = newCharacter->getDatabaseID(); + trans.mAction = TRANS_CHAR_CREATE; + trans.mMessage = acc->getName() + " created character "; + trans.mMessage.append(" called " + name); + storage->addTransaction(trans); + storage->flush(acc); // flush changes reply.writeByte(ERRMSG_OK); computer.send(reply); @@ -674,6 +683,13 @@ static void handleCharacterSelectMessage(AccountClient &computer, MessageIn &msg registerChatClient(magic_token, selectedChar->getName(), acc->getLevel()); computer.send(reply); + + // log transaction + Transaction trans; + trans.mCharacterId = selectedChar->getDatabaseID(); + trans.mAction = TRANS_CHAR_SELECTED; + trans.mMessage = ""; + storage->addTransaction(trans); } static void handleCharacterDeleteMessage(AccountClient &computer, MessageIn &msg) @@ -707,6 +723,14 @@ static void handleCharacterDeleteMessage(AccountClient &computer, MessageIn &msg reply.writeByte(ERRMSG_OK); computer.send(reply); + + // log transaction + Transaction trans; + trans.mCharacterId = chars[charNum]->getDatabaseID(); + trans.mAction = TRANS_CHAR_DELETED; + trans.mMessage = chars[charNum]->getName() + " deleted by "; + trans.mMessage.append(acc->getName()); + storage->addTransaction(trans); } void |