summaryrefslogtreecommitdiff
path: root/src/core/db_plain.cpp
diff options
context:
space:
mode:
authorAdam <Adam@drink-coca-cola.info>2010-05-11 14:36:53 -0400
committerAdam <Adam@anope.org>2010-06-18 21:01:17 -0400
commite6263dba84b80f03d02c379ace081e602f8ef199 (patch)
treea6d055b24245e47b1f6c4973c4502937ecabd751 /src/core/db_plain.cpp
parent631d11d6a81e8c5f63a19fc279606a61ab1a0563 (diff)
Allow attaching metadata to nickrequests and storing it in the databases and fixed windows build
Diffstat (limited to 'src/core/db_plain.cpp')
-rw-r--r--src/core/db_plain.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/core/db_plain.cpp b/src/core/db_plain.cpp
index 21164584f..fba374667 100644
--- a/src/core/db_plain.cpp
+++ b/src/core/db_plain.cpp
@@ -24,6 +24,7 @@ enum MDType
MD_NONE,
MD_NC,
MD_NA,
+ MD_NR,
MD_BI,
MD_CH
};
@@ -99,6 +100,11 @@ static void ReadDatabase(Module *m = NULL)
na = findnick(params[2].c_str());
Type = MD_NA;
}
+ else if (params[0] == "NR")
+ {
+ nr = findrequestnick(params[1].c_str());
+ Type = MD_NR;
+ }
else if (params[0] == "BI")
{
bi = findbot(params[1]);
@@ -147,6 +153,22 @@ static void ReadDatabase(Module *m = NULL)
Alog() << "[db_plain]: " << ex.GetReason();
}
}
+ else if (Type == MD_NR && nr)
+ {
+ try
+ {
+ if (m)
+ m->OnDatabaseReadMetadata(nr, key, params);
+ else
+ {
+ FOREACH_RESULT(I_OnDatabaseReadMetadata, OnDatabaseReadMetadata(nr, key, params));
+ }
+ }
+ catch (DatabaseException& ex)
+ {
+ Alog() << "[db_plain]: " << ex.GetReason();
+ }
+ }
else if (Type == MD_BI && bi)
{
try
@@ -918,6 +940,8 @@ class DBPlain : public Module
for (NickRequest *nr = nrlists[i]; nr; nr = nr->next)
{
db << "NR " << nr->nick << " " << nr->passcode << " " << nr->password << " " << nr->email << " " << nr->requested << endl;
+
+ FOREACH_MOD(I_OnDatabaseWriteMetadata, OnDatabaseWriteMetadata(WriteMetadata, nr));
}
}