Added DoNotTrack command which makes it so you can have a connection on your phone and tell LogSQL to not track when that session disconnects so once you get on your computer, you can re-read everything.
This commit is contained in:
parent
b6079d0fc7
commit
8b8e4be17f
28
logmysql.cpp
28
logmysql.cpp
@ -41,9 +41,12 @@ public:
|
|||||||
AddCommand("ReplayAll", static_cast<CModCommand::ModCmdFunc>(&CLogMySQL::ReplayAllCommand), "[1|0]", "Replay all messages stored.");
|
AddCommand("ReplayAll", static_cast<CModCommand::ModCmdFunc>(&CLogMySQL::ReplayAllCommand), "[1|0]", "Replay all messages stored.");
|
||||||
AddCommand("LogLimit", static_cast<CModCommand::ModCmdFunc>(&CLogMySQL::LogLimitCommand), "[0-9]+", "Limit the amount of items to store into the log.");
|
AddCommand("LogLimit", static_cast<CModCommand::ModCmdFunc>(&CLogMySQL::LogLimitCommand), "[0-9]+", "Limit the amount of items to store into the log.");
|
||||||
AddCommand("LogLevel", static_cast<CModCommand::ModCmdFunc>(&CLogMySQL::LogLevelCommand), "[0-4]", "Log level.");
|
AddCommand("LogLevel", static_cast<CModCommand::ModCmdFunc>(&CLogMySQL::LogLevelCommand), "[0-4]", "Log level.");
|
||||||
|
|
||||||
AddCommand("AddIgnore", static_cast<CModCommand::ModCmdFunc>(&CLogMySQL::AddIgnoreCommand), "Type[nick|chan] Target", "Add to ignore list.");
|
AddCommand("AddIgnore", static_cast<CModCommand::ModCmdFunc>(&CLogMySQL::AddIgnoreCommand), "Type[nick|chan] Target", "Add to ignore list.");
|
||||||
AddCommand("RemoveIgnore", static_cast<CModCommand::ModCmdFunc>(&CLogMySQL::RemoveIgnoreCommand), "Type[nick|chan] Target", "Remove from ignore list.");
|
AddCommand("RemoveIgnore", static_cast<CModCommand::ModCmdFunc>(&CLogMySQL::RemoveIgnoreCommand), "Type[nick|chan] Target", "Remove from ignore list.");
|
||||||
AddCommand("IgnoreList", static_cast<CModCommand::ModCmdFunc>(&CLogMySQL::IgnoreListCommand), "", "View what is currently ignored.");
|
AddCommand("IgnoreList", static_cast<CModCommand::ModCmdFunc>(&CLogMySQL::IgnoreListCommand), "", "View what is currently ignored.");
|
||||||
|
|
||||||
|
AddCommand("DoNotTrack", static_cast<CModCommand::ModCmdFunc>(&CLogMySQL::DoNotTrack), "", "Adds the current session to the do not track disconnect list.");
|
||||||
}
|
}
|
||||||
|
|
||||||
void HostCommand(const CString &sLine) {
|
void HostCommand(const CString &sLine) {
|
||||||
@ -282,6 +285,18 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DoNotTrack(const CString &sLine) {
|
||||||
|
bool tracking = true;
|
||||||
|
for (vector<CClient *>::iterator it=doNotTrackClient.begin(); it<doNotTrackClient.end(); it++) {
|
||||||
|
if (*it==m_pClient) {
|
||||||
|
tracking = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (tracking)
|
||||||
|
doNotTrackClient.push_back(m_pClient);
|
||||||
|
}
|
||||||
|
|
||||||
virtual bool OnLoad(const CString& sArgs, CString& sMessage) {
|
virtual bool OnLoad(const CString& sArgs, CString& sMessage) {
|
||||||
connected = true;
|
connected = true;
|
||||||
databaseConnected = false;
|
databaseConnected = false;
|
||||||
@ -1067,9 +1082,16 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
virtual void OnClientDisconnect() {
|
virtual void OnClientDisconnect() {
|
||||||
if (!m_pNetwork->IsUserAttached()) {
|
bool track = true;
|
||||||
SetSetting("clientDisconnected",GetUNIXTime());
|
for (vector<CClient *>::iterator it=doNotTrackClient.begin(); it<doNotTrackClient.end(); it++) {
|
||||||
|
if (*it==m_pClient) {
|
||||||
|
doNotTrackClient.erase(it);
|
||||||
|
track = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
if (track)
|
||||||
|
SetSetting("clientDisconnected",GetUNIXTime());
|
||||||
}
|
}
|
||||||
|
|
||||||
void Replay() {
|
void Replay() {
|
||||||
@ -1243,6 +1265,8 @@ private:
|
|||||||
|
|
||||||
vector<CString> nickIgnoreList;
|
vector<CString> nickIgnoreList;
|
||||||
vector<CString> chanIgnoreList;
|
vector<CString> chanIgnoreList;
|
||||||
|
|
||||||
|
vector<CClient *> doNotTrackClient;
|
||||||
};
|
};
|
||||||
|
|
||||||
template<> void TModInfo<CLogMySQL>(CModInfo& Info) {
|
template<> void TModInfo<CLogMySQL>(CModInfo& Info) {
|
||||||
|
@ -34,9 +34,12 @@ public:
|
|||||||
AddCommand("ReplayAll", static_cast<CModCommand::ModCmdFunc>(&CLogSQLite::ReplayAllCommand), "[1|0]", "Replay all messages stored.");
|
AddCommand("ReplayAll", static_cast<CModCommand::ModCmdFunc>(&CLogSQLite::ReplayAllCommand), "[1|0]", "Replay all messages stored.");
|
||||||
AddCommand("LogLimit", static_cast<CModCommand::ModCmdFunc>(&CLogSQLite::LogLimitCommand), "[0-9]+", "Limit the amount of items to store into the log.");
|
AddCommand("LogLimit", static_cast<CModCommand::ModCmdFunc>(&CLogSQLite::LogLimitCommand), "[0-9]+", "Limit the amount of items to store into the log.");
|
||||||
AddCommand("LogLevel", static_cast<CModCommand::ModCmdFunc>(&CLogSQLite::LogLevelCommand), "[0-4]", "Log level.");
|
AddCommand("LogLevel", static_cast<CModCommand::ModCmdFunc>(&CLogSQLite::LogLevelCommand), "[0-4]", "Log level.");
|
||||||
|
|
||||||
AddCommand("AddIgnore", static_cast<CModCommand::ModCmdFunc>(&CLogSQLite::AddIgnoreCommand), "Type[nick|chan] Target", "Add to ignore list.");
|
AddCommand("AddIgnore", static_cast<CModCommand::ModCmdFunc>(&CLogSQLite::AddIgnoreCommand), "Type[nick|chan] Target", "Add to ignore list.");
|
||||||
AddCommand("RemoveIgnore", static_cast<CModCommand::ModCmdFunc>(&CLogSQLite::RemoveIgnoreCommand), "Type[nick|chan] Target", "Remove from ignore list.");
|
AddCommand("RemoveIgnore", static_cast<CModCommand::ModCmdFunc>(&CLogSQLite::RemoveIgnoreCommand), "Type[nick|chan] Target", "Remove from ignore list.");
|
||||||
AddCommand("IgnoreList", static_cast<CModCommand::ModCmdFunc>(&CLogSQLite::IgnoreListCommand), "", "View what is currently ignored.");
|
AddCommand("IgnoreList", static_cast<CModCommand::ModCmdFunc>(&CLogSQLite::IgnoreListCommand), "", "View what is currently ignored.");
|
||||||
|
|
||||||
|
AddCommand("DoNotTrack", static_cast<CModCommand::ModCmdFunc>(&CLogSQLite::DoNotTrack), "", "Adds the current session to the do not track disconnect list.");
|
||||||
}
|
}
|
||||||
|
|
||||||
void ReplayCommand(const CString &sLine) {
|
void ReplayCommand(const CString &sLine) {
|
||||||
@ -195,6 +198,18 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DoNotTrack(const CString &sLine) {
|
||||||
|
bool tracking = true;
|
||||||
|
for (vector<CClient *>::iterator it=doNotTrackClient.begin(); it<doNotTrackClient.end(); it++) {
|
||||||
|
if (*it==m_pClient) {
|
||||||
|
tracking = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (tracking)
|
||||||
|
doNotTrackClient.push_back(m_pClient);
|
||||||
|
}
|
||||||
|
|
||||||
virtual bool OnLoad(const CString& sArgs, CString& sMessage) {
|
virtual bool OnLoad(const CString& sArgs, CString& sMessage) {
|
||||||
connected = true;
|
connected = true;
|
||||||
|
|
||||||
@ -785,9 +800,16 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
virtual void OnClientDisconnect() {
|
virtual void OnClientDisconnect() {
|
||||||
if (!m_pNetwork->IsUserAttached()) {
|
bool track = true;
|
||||||
SetSetting("clientDisconnected",GetUNIXTime());
|
for (vector<CClient *>::iterator it=doNotTrackClient.begin(); it<doNotTrackClient.end(); it++) {
|
||||||
|
if (*it==m_pClient) {
|
||||||
|
doNotTrackClient.erase(it);
|
||||||
|
track = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
if (track)
|
||||||
|
SetSetting("clientDisconnected",GetUNIXTime());
|
||||||
}
|
}
|
||||||
|
|
||||||
void Replay() {
|
void Replay() {
|
||||||
@ -909,6 +931,8 @@ private:
|
|||||||
|
|
||||||
vector<CString> nickIgnoreList;
|
vector<CString> nickIgnoreList;
|
||||||
vector<CString> chanIgnoreList;
|
vector<CString> chanIgnoreList;
|
||||||
|
|
||||||
|
vector<CClient *> doNotTrackClient;
|
||||||
};
|
};
|
||||||
|
|
||||||
template<> void TModInfo<CLogSQLite>(CModInfo& Info) {
|
template<> void TModInfo<CLogSQLite>(CModInfo& Info) {
|
||||||
|
Loading…
Reference in New Issue
Block a user