aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Chat/Commands
diff options
context:
space:
mode:
authorSpp <spp@jorge.gr>2012-03-23 05:35:32 +0100
committerclick <click@gonnamakeyou.com>2012-03-23 05:35:32 +0100
commit0fe4580fe0f526b864586a9cc3e7727be1980323 (patch)
tree87d3514c783f1eb188e22720ba9eba207449aca0 /src/server/game/Chat/Commands
parent479c0976abaa24ac12ba4c47116ee282332e273f (diff)
Core/Commands: Add support for ip2nation database lookups when using .pinfo command.
This will (when a full database exists) allow for seeing (approximately) which country a player might be from when doing .pinfo <player> Note: External data required for this patch to work correctly can be found at http://www.ip2nation.com/ip2nation/Download Signed-off-by: click <click@gonnamakeyou.com>
Diffstat (limited to 'src/server/game/Chat/Commands')
-rwxr-xr-xsrc/server/game/Chat/Commands/Level2.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/server/game/Chat/Commands/Level2.cpp b/src/server/game/Chat/Commands/Level2.cpp
index 062cdb331ea..c973ebe272b 100755
--- a/src/server/game/Chat/Commands/Level2.cpp
+++ b/src/server/game/Chat/Commands/Level2.cpp
@@ -42,6 +42,7 @@
#include "Transport.h"
#include "TargetedMovementGenerator.h" // for HandleNpcUnFollowCommand
#include "CreatureGroups.h"
+#include "ace/INET_Addr.h"
//mute player for some times
bool ChatHandler::HandleMuteCommand(const char* args)
@@ -347,6 +348,20 @@ bool ChatHandler::HandlePInfoCommand(const char* args)
{
last_ip = fields[3].GetString();
last_login = fields[4].GetString();
+
+ uint32 ip = inet_addr(last_ip.c_str());
+#if TRINITY_ENDIAN == BIGENDIAN
+ EndianConvertReverse(ip);
+#endif
+
+ if (QueryResult result2 = WorldDatabase.PQuery("SELECT c.country FROM ip2nationCountries c, ip2nation i WHERE "
+ "i.ip < %u AND c.code = i.country ORDER BY i.ip DESC LIMIT 0,1", ip))
+ {
+ Field* fields2 = result2->Fetch();
+ last_ip.append(" (");
+ last_ip.append(fields2[0].GetString());
+ last_ip.append(")");
+ }
}
else
{