1
0
mirror of https://github.com/anope/anope.git synced 2026-06-30 19:06:38 +02:00

Allow attaching metadata to nickrequests and storing it in the databases and fixed windows build

This commit is contained in:
Adam
2010-05-11 14:36:53 -04:00
committed by Adam
parent 631d11d6a8
commit e6263dba84
8 changed files with 47 additions and 15 deletions
+24
View File
@@ -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));
}
}