summaryrefslogtreecommitdiff
path: root/src/modules/mysql/db_mysql_read.cpp
diff options
context:
space:
mode:
authorAdam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864>2010-03-31 04:41:56 +0000
committerAdam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864>2010-03-31 04:41:56 +0000
commitb55ac06019785b308ac1ead44414f8c6dee226fc (patch)
tree513033038be0a1a327b8dc714936d29d2f742353 /src/modules/mysql/db_mysql_read.cpp
parenteaf211d59ca799719970f2789758eff6bc269eab (diff)
Added akicks into SQL
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2848 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/modules/mysql/db_mysql_read.cpp')
-rw-r--r--src/modules/mysql/db_mysql_read.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/modules/mysql/db_mysql_read.cpp b/src/modules/mysql/db_mysql_read.cpp
index 2cbcd669c..bbbca0df2 100644
--- a/src/modules/mysql/db_mysql_read.cpp
+++ b/src/modules/mysql/db_mysql_read.cpp
@@ -438,6 +438,42 @@ static void LoadDatabase()
}
}
+ query << "SELECT * FROM `anope_cs_akick`";
+ qres = StoreQuery(query);
+
+ if (qres)
+ {
+ for (size_t i = 0; i < qres.num_rows(); ++i)
+ {
+ ChannelInfo *ci = cs_findchan(SQLAssign(qres[i]["channel"]));
+ if (!ci)
+ {
+ Alog() << "MySQL: Channel akick entry for nonexistant channel " << qres[i]["channel"];
+ continue;
+ }
+ NickCore *nc = NULL;
+ spacesepstream sep(qres[i]["flags"]);
+ std::string flag, mask;
+ bool stuck = false;
+ while (sep.GetToken(flag))
+ {
+ if (flag == "ISNICK")
+ nc = findcore(qres[i]["mask"]);
+ else if (flag == "STUCK")
+ stuck = true;
+ }
+ AutoKick *ak;
+ if (nc)
+ ak = ci->AddAkick(SQLAssign(qres[i]["creator"]), nc, SQLAssign(qres[i]["reason"]), atol(qres[i]["created"].c_str()), atol(qres[i]["last_used"].c_str()));
+ else
+ ak = ci->AddAkick(SQLAssign(qres[i]["creator"]), SQLAssign(qres[i]["mask"]), SQLAssign(qres[i]["reason"]), atol(qres[i]["created"].c_str()), atol(qres[i]["last_used"].c_str()));
+ if (stuck)
+ ak->SetFlag(AK_STUCK);
+ if (nc)
+ ak->SetFlag(AK_ISNICK);
+ }
+ }
+
query << "SELECT * FROM `anope_cs_levels`";
qres = StoreQuery(query);