aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/World
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2014-10-23 21:34:03 +0200
committerShauren <shauren.trinity@gmail.com>2014-10-23 21:34:03 +0200
commit76f1f85d8bc3f9dda2ee174f457b5f07468a7dc5 (patch)
tree887fa1af7cf4b26a2de2097c13de0e5fe3e3a0c7 /src/server/game/World
parent2f368984094181f2aa9b1ae1c73ce182469e5037 (diff)
Core/Entities: Second part of required database changes for migrating guids to 128 bit - all fields storing lowguid must be extended to uint64
Diffstat (limited to 'src/server/game/World')
-rw-r--r--src/server/game/World/World.cpp37
1 files changed, 12 insertions, 25 deletions
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index c1cef3059a2..959a1d91789 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -2508,32 +2508,27 @@ bool World::RemoveBanAccount(BanMode mode, std::string const& nameOrIP)
BanReturn World::BanCharacter(std::string const& name, std::string const& duration, std::string const& reason, std::string const& author)
{
Player* pBanned = ObjectAccessor::FindConnectedPlayerByName(name);
- uint32 guid = 0;
+ ObjectGuid guid;
uint32 duration_secs = TimeStringToSecs(duration);
/// Pick a player to ban if not online
if (!pBanned)
{
- PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_GUID_BY_NAME);
- stmt->setString(0, name);
- PreparedQueryResult resultCharacter = CharacterDatabase.Query(stmt);
-
- if (!resultCharacter)
+ guid = sObjectMgr->GetPlayerGUIDByName(name);
+ if (guid.IsEmpty())
return BAN_NOTFOUND; // Nobody to ban
-
- guid = (*resultCharacter)[0].GetUInt32();
}
else
- guid = pBanned->GetGUID().GetCounter();
+ guid = pBanned->GetGUID();
// make sure there is only one active ban
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHARACTER_BAN);
- stmt->setUInt32(0, guid);
+ stmt->setUInt64(0, guid.GetCounter());
CharacterDatabase.Execute(stmt);
stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHARACTER_BAN);
- stmt->setUInt32(0, guid);
+ stmt->setUInt64(0, guid.GetCounter());
stmt->setUInt32(1, duration_secs);
stmt->setString(2, author);
stmt->setString(3, reason);
@@ -2549,28 +2544,20 @@ BanReturn World::BanCharacter(std::string const& name, std::string const& durati
bool World::RemoveBanCharacter(std::string const& name)
{
Player* pBanned = ObjectAccessor::FindConnectedPlayerByName(name);
- uint32 guid = 0;
+ ObjectGuid guid;
/// Pick a player to ban if not online
if (!pBanned)
{
- PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_GUID_BY_NAME);
- stmt->setString(0, name);
- PreparedQueryResult resultCharacter = CharacterDatabase.Query(stmt);
-
- if (!resultCharacter)
- return false;
-
- guid = (*resultCharacter)[0].GetUInt32();
+ guid = sObjectMgr->GetPlayerGUIDByName(name);
+ if (guid.IsEmpty())
+ return false; // Nobody to ban
}
else
- guid = pBanned->GetGUID().GetCounter();
-
- if (!guid)
- return false;
+ guid = pBanned->GetGUID();
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHARACTER_BAN);
- stmt->setUInt32(0, guid);
+ stmt->setUInt64(0, guid.GetCounter());
CharacterDatabase.Execute(stmt);
return true;
}