diff options
author | Adam <Adam@drink-coca-cola.info> | 2010-05-11 14:36:53 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2010-06-18 21:01:17 -0400 |
commit | e6263dba84b80f03d02c379ace081e602f8ef199 (patch) | |
tree | a6d055b24245e47b1f6c4973c4502937ecabd751 /src/core/db_plain.cpp | |
parent | 631d11d6a81e8c5f63a19fc279606a61ab1a0563 (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.cpp | 24 |
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)); } } |