Show
Ignore:
Timestamp:
11/19/08 13:34:57 (17 years ago)
Author:
yumileroy
Message:

[svn] * Use ObjectMgr/AccountMgr? functions rather than DB queries. Source mangos

Original author: KingPin?
Date: 2008-10-21 19:07:16-05:00

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/game/World.cpp

    r88 r94  
    3737#include "SkillDiscovery.h" 
    3838#include "World.h" 
     39#include "AccountMgr.h" 
    3940#include "ObjectMgr.h" 
    4041#include "SpellMgr.h" 
     
    23382339        if(type == "account") 
    23392340        { 
    2340             //NO SQL injection as name is escaped 
    2341             loginDatabase.escape_string(nameOrIP); 
    2342             QueryResult *resultAccounts = loginDatabase.PQuery("SELECT id FROM account WHERE username = '%s'",nameOrIP.c_str()); 
    2343             if(!resultAccounts) 
     2341            if (!AccountMgr::normilizeString (nameOrIP)) 
    23442342                return false; 
    2345             Field* fieldsAccount = resultAccounts->Fetch(); 
    2346             account = fieldsAccount->GetUInt32(); 
    2347  
    2348             delete resultAccounts; 
     2343             
     2344            account = accmgr.GetId (nameOrIP); 
    23492345        } 
    23502346        else if(type == "character") 
     
    23532349                return false; 
    23542350 
    2355             //NO SQL injection as name is escaped 
    2356             loginDatabase.escape_string(nameOrIP); 
    2357             QueryResult *resultAccounts = CharacterDatabase.PQuery("SELECT account FROM characters WHERE name = '%s'",nameOrIP.c_str()); 
    2358             if(!resultAccounts) 
    2359                 return false; 
    2360             Field* fieldsAccount = resultAccounts->Fetch(); 
    2361             account = fieldsAccount->GetUInt32(); 
    2362  
    2363             delete resultAccounts; 
     2351            account = objmgr.GetPlayerAccountIdByPlayerName (nameOrIP); 
    23642352        } 
    23652353        if(!account) 
    23662354            return false; 
     2355             
    23672356        //NO SQL injection as account is uint32 
    23682357        loginDatabase.PExecute("UPDATE account_banned SET active = '0' WHERE id = '%u'",account);