summaryrefslogtreecommitdiff
path: root/modules/extra/db_mysql.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2010-10-27 22:29:34 -0400
committerAdam <Adam@anope.org>2010-10-27 22:29:34 -0400
commita26f119bc8666642a54564763626e52e5c72b030 (patch)
treedbc5a6e06105c4111338d61a8739c4ea9c951e1b /modules/extra/db_mysql.cpp
parenta79da4bba11ef6fec0ef010a7900c742c2e358ad (diff)
Do not store memo number in memo structs, fixes some bugs with deleting memos
Diffstat (limited to 'modules/extra/db_mysql.cpp')
-rw-r--r--modules/extra/db_mysql.cpp31
1 files changed, 10 insertions, 21 deletions
diff --git a/modules/extra/db_mysql.cpp b/modules/extra/db_mysql.cpp
index b9572ac6b..af5c4514a 100644
--- a/modules/extra/db_mysql.cpp
+++ b/modules/extra/db_mysql.cpp
@@ -815,17 +815,6 @@ class DBMySQL : public Module
Memo *m = new Memo();
mi->memos.push_back(m);
m->sender = r.Get(i, "sender");
- if (mi->memos.size() > 1)
- {
- m->number = mi->memos[mi->memos.size() - 1]->number + 1;
- if (m->number < 1)
- {
- for (unsigned j = 0; j < mi->memos.size(); ++j)
- mi->memos[j]->number = j + 1;
- }
- }
- else
- m->number = 1;
m->time = r.Get(i, "time").is_pos_number_only() ? convertTo<time_t>(r.Get(i, "time")) : Anope::CurTime;
m->text = r.Get(i, "text");
@@ -1297,30 +1286,30 @@ class DBMySQL : public Module
void OnMemoSend(User *, NickCore *nc, Memo *m)
{
- this->RunQuery("INSERT INTO `anope_ms_info` (receiver, number, flags, time, sender, text, serv) VALUES('" +
- this->Escape(nc->display) + "', " + stringify(m->number) + ", '" + BuildFlagsList(m) + "', " + stringify(m->time) + ", '" +
+ this->RunQuery("INSERT INTO `anope_ms_info` (receiver, flags, time, sender, text, serv) VALUES('" +
+ this->Escape(nc->display) + "', '" + BuildFlagsList(m) + "', " + stringify(m->time) + ", '" +
this->Escape(m->sender) + "', '" + this->Escape(m->text) + "', 'NICK')");
}
void OnMemoSend(User *, ChannelInfo *ci, Memo *m)
{
- this->RunQuery("INSERT INTO `anope_ms_info` (receiver, number, flags, time, sender, text, serv) VALUES('" +
- this->Escape(ci->name) + "', " + stringify(m->number) + ", '" + BuildFlagsList(m) + "', " + stringify(m->time) + ", '" +
+ this->RunQuery("INSERT INTO `anope_ms_info` (receiver, flags, time, sender, text, serv) VALUES('" +
+ this->Escape(ci->name) + "', '" + BuildFlagsList(m) + "', " + stringify(m->time) + ", '" +
this->Escape(m->sender) + "', '" + this->Escape(m->text) + "', 'CHAN')");
}
- void OnMemoDel(NickCore *nc, MemoInfo *mi, int number)
+ void OnMemoDel(NickCore *nc, MemoInfo *mi, Memo *m)
{
- if (number)
- this->RunQuery("DELETE FROM `anope_ms_info` WHERE `receiver` = '" + this->Escape(nc->display) + "' AND `number` = " + stringify(number));
+ if (m)
+ this->RunQuery("DELETE FROM `anope_ms_info` WHERE `receiver` = '" + this->Escape(nc->display) + "' AND `time` = " + stringify(m->time));
else
this->RunQuery("DELETE FROM `anope_ms_info` WHERE `receiver` = '" + this->Escape(nc->display) + "'");
}
- void OnMemoDel(ChannelInfo *ci, MemoInfo *mi, int number)
+ void OnMemoDel(ChannelInfo *ci, MemoInfo *mi, Memo *m)
{
- if (number)
- this->RunQuery("DELETE FROM `anope_ms_info` WHERE `receiver` = '" + this->Escape(ci->name) + "' AND `number` = " + stringify(number));
+ if (m)
+ this->RunQuery("DELETE FROM `anope_ms_info` WHERE `receiver` = '" + this->Escape(ci->name) + "' AND `time` = " + stringify(m->time));
else
this->RunQuery("DELETE FROM `anope_ms_info` WHERE `receiver` = '" + this->Escape(ci->name) + "'");
}