summaryrefslogtreecommitdiff
path: root/modules/stats/irc2sql/irc2sql.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/stats/irc2sql/irc2sql.cpp')
-rw-r--r--modules/stats/irc2sql/irc2sql.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/modules/stats/irc2sql/irc2sql.cpp b/modules/stats/irc2sql/irc2sql.cpp
index 2b3de59e7..d838e6989 100644
--- a/modules/stats/irc2sql/irc2sql.cpp
+++ b/modules/stats/irc2sql/irc2sql.cpp
@@ -76,9 +76,7 @@ void IRC2SQL::OnServerQuit(Server *server) anope_override
if (quitting)
return;
- query = "UPDATE `" + prefix + "server` "
- "SET currentusers = 0, online = 'N', split_time = now() "
- "WHERE name = @name@";
+ query = "CALL " + prefix + "ServerQuit(@name@)";
query.SetValue("name", server->GetName());
this->RunQuery(query);
}
@@ -118,7 +116,7 @@ void IRC2SQL::OnUserConnect(User *u, bool &exempt) anope_override
void IRC2SQL::OnUserQuit(User *u, const Anope::string &msg) anope_override
{
- if (quitting)
+ if (quitting || u->server->IsQuitting())
return;
query = "CALL " + prefix + "UserQuit(@nick@)";
@@ -238,9 +236,8 @@ void IRC2SQL::OnLeaveChannel(User *u, Channel *c) anope_override
* user is quitting, we already received a OnUserQuit()
* at this point the user is already removed from SQL and all channels
*/
- if (u->Quitting());
+ if (u->Quitting())
return;
-
query = "CALL " + prefix + "PartUser(@nick@,@channel@)";
query.SetValue("nick", u->nick);
query.SetValue("channel", c->name);