mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-02-05 16:39:08 +01:00
Core/Addons: Improve WorldSession::ReadAddonsInfo
(ported commits:cd3d317ebf01124c6f4eand86b516c3f2
This commit is contained in:
@@ -66,7 +66,7 @@ void LoadFromDB()
|
||||
TC_LOG_INFO("server.loading", ">> Loaded 0 known addons. DB table `addons` is empty!");
|
||||
|
||||
oldMSTime = getMSTime();
|
||||
result = CharacterDatabase.Query("SELECT id, name, version, UNIX_TIMESTAMP(timestamp) FROM banned_addons");
|
||||
result = CharacterDatabase.Query("SELECT id, name, version, UNIX_TIMESTAMP(timestamp) FROM banned_addons ORDER BY timestamp");
|
||||
if (result)
|
||||
{
|
||||
uint32 count = 0;
|
||||
@@ -96,18 +96,16 @@ void LoadFromDB()
|
||||
}
|
||||
}
|
||||
|
||||
void SaveAddon(AddonInfo const& addon)
|
||||
void SaveAddon(std::string const& name, uint32 publicKeyCrc)
|
||||
{
|
||||
std::string name = addon.Name;
|
||||
|
||||
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_ADDON);
|
||||
|
||||
stmt->setString(0, name);
|
||||
stmt->setUInt32(1, addon.CRC);
|
||||
stmt->setUInt32(1, publicKeyCrc);
|
||||
|
||||
CharacterDatabase.Execute(stmt);
|
||||
|
||||
m_knownAddons.push_back(SavedAddon(addon.Name, addon.CRC));
|
||||
m_knownAddons.emplace_back(name, publicKeyCrc);
|
||||
}
|
||||
|
||||
SavedAddon const* GetAddonInfo(const std::string& name)
|
||||
|
||||
@@ -21,20 +21,7 @@
|
||||
|
||||
#include "Define.h"
|
||||
#include <string>
|
||||
#include <list>
|
||||
|
||||
struct AddonInfo
|
||||
{
|
||||
AddonInfo(const std::string& name, uint8 enabled, uint32 crc, uint8 state, bool crcOrPubKey)
|
||||
: Name(name), Enabled(enabled), CRC(crc), State(state), UsePublicKeyOrCRC(crcOrPubKey)
|
||||
{ }
|
||||
|
||||
std::string Name;
|
||||
uint8 Enabled;
|
||||
uint32 CRC;
|
||||
uint8 State;
|
||||
bool UsePublicKeyOrCRC;
|
||||
};
|
||||
#include <vector>
|
||||
|
||||
struct SavedAddon
|
||||
{
|
||||
@@ -60,10 +47,10 @@ struct BannedAddon
|
||||
namespace AddonMgr
|
||||
{
|
||||
void LoadFromDB();
|
||||
void SaveAddon(AddonInfo const& addon);
|
||||
void SaveAddon(std::string const& name, uint32 publicKeyCrc);
|
||||
SavedAddon const* GetAddonInfo(const std::string& name);
|
||||
|
||||
typedef std::list<BannedAddon> BannedAddonList;
|
||||
typedef std::vector<BannedAddon> BannedAddonList;
|
||||
BannedAddonList const* GetBannedAddons();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user