From 389a9e3cea196275e13f4eb66ef99fb631607631 Mon Sep 17 00:00:00 2001 From: KingPin Date: Tue, 21 Oct 2008 19:07:16 -0500 Subject: [svn] * Use ObjectMgr/AccountMgr functions rather than DB queries. Source mangos --HG-- branch : trunk --- src/game/World.cpp | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) (limited to 'src/game/World.cpp') diff --git a/src/game/World.cpp b/src/game/World.cpp index 9fdd9580872..5b0a03740cc 100644 --- a/src/game/World.cpp +++ b/src/game/World.cpp @@ -36,6 +36,7 @@ #include "SkillExtraItems.h" #include "SkillDiscovery.h" #include "World.h" +#include "AccountMgr.h" #include "ObjectMgr.h" #include "SpellMgr.h" #include "Chat.h" @@ -2337,33 +2338,21 @@ bool World::RemoveBanAccount(std::string type, std::string nameOrIP) uint32 account=0; if(type == "account") { - //NO SQL injection as name is escaped - loginDatabase.escape_string(nameOrIP); - QueryResult *resultAccounts = loginDatabase.PQuery("SELECT id FROM account WHERE username = '%s'",nameOrIP.c_str()); - if(!resultAccounts) + if (!AccountMgr::normilizeString (nameOrIP)) return false; - Field* fieldsAccount = resultAccounts->Fetch(); - account = fieldsAccount->GetUInt32(); - - delete resultAccounts; + + account = accmgr.GetId (nameOrIP); } else if(type == "character") { if(!normalizePlayerName(nameOrIP)) return false; - //NO SQL injection as name is escaped - loginDatabase.escape_string(nameOrIP); - QueryResult *resultAccounts = CharacterDatabase.PQuery("SELECT account FROM characters WHERE name = '%s'",nameOrIP.c_str()); - if(!resultAccounts) - return false; - Field* fieldsAccount = resultAccounts->Fetch(); - account = fieldsAccount->GetUInt32(); - - delete resultAccounts; + account = objmgr.GetPlayerAccountIdByPlayerName (nameOrIP); } if(!account) return false; + //NO SQL injection as account is uint32 loginDatabase.PExecute("UPDATE account_banned SET active = '0' WHERE id = '%u'",account); } -- cgit v1.2.3