1
0
mirror of https://github.com/anope/anope.git synced 2026-07-04 04:43:13 +02:00

Create and use constructors for NickInfo, NickAlias, ChannelInfo. Inherit all three from Extensible. Convert to use that instead of moduleData stuff.

git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1705 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
rburchell
2008-11-15 17:55:55 +00:00
parent 5384c97c14
commit b2b0e1d235
8 changed files with 124 additions and 154 deletions
+90 -68
View File
@@ -199,53 +199,53 @@ class OSInfo : public Module
/* OINFO_SYNTAX */
"Syntax: OINFO [ADD|DEL] Nickname <Information>",
/* OINFO_ADD_SUCCESS */
"Eine OperInfo Linie wurde zu den Nicknamen %s hinzugefügt",
"Eine OperInfo Linie wurde zu den Nicknamen %s hinzugefgt",
/* OINFO_DEL_SUCCESS */
"Die OperInfo Linie wurde von den Nicknamen %s enfernt",
/* OCINFO_SYNTAX */
"Syntax: OINFO [ADD|DEL] Channel <Information>",
/* OCINFO_ADD_SUCCESS */
"Eine OperInfo Linie wurde zu den Channel %s hinzugefügt",
"Eine OperInfo Linie wurde zu den Channel %s hinzugefgt",
/* OCINFO_DEL_SUCCESS */
"Die OperInfo Linie wurde von den Channel %s enfernt",
/* OINFO_HELP */
"Syntax: OINFO [ADD|DEL] Nickname <Information>\n"
"Addiert oder löscht eine OperInfo Linie zu den angegebenen\n"
"Addiert oder lscht eine OperInfo Linie zu den angegebenen\n"
"Nicknamen.Sie wird angezeigt wenn ein Oper mit /ns info sich\n"
"über den Nicknamen informiert.",
"ber den Nicknamen informiert.",
/* OCINFO_HELP */
"Syntax: OINFO [ADD|DEL] chan <info>\n"
"Addiert oder löscht eine OperInfo Linie zu den angegebenen\n"
"Addiert oder lscht eine OperInfo Linie zu den angegebenen\n"
"Channel.Sie wird angezeigt wenn ein Oper mit /cs info sich\n"
"über den Channel informiert.",
"ber den Channel informiert.",
/* OINFO_HELP_CMD */
" OINFO Addiert / Löscht eine OperInfo Linie zu / von einen Nicknamen",
" OINFO Addiert / Lscht eine OperInfo Linie zu / von einen Nicknamen",
/* OCINFO_HELP_CMD */
" OINFO Addiert / Löscht eine OperInfo Linie zu / von einen Channel"
" OINFO Addiert / Lscht eine OperInfo Linie zu / von einen Channel"
};
const char* langtable_pt[] = {
/* OINFO_SYNTAX */
"Sintaxe: OINFO [ADD|DEL] nick <informação>",
"Sintaxe: OINFO [ADD|DEL] nick <informao>",
/* OINFO_ADD_SUCCESS */
"A linha OperInfo foi adicionada ao nick %s",
/* OINFO_DEL_SUCCESS */
"A linha OperInfo foi removida do nick %s",
/* OCINFO_SYNTAX */
"Sintaxe: OINFO [ADD|DEL] canal <informação>",
"Sintaxe: OINFO [ADD|DEL] canal <informao>",
/* OCINFO_ADD_SUCCESS */
"A linha OperInfo foi adicionada ao canal %s",
/* OCINFO_DEL_SUCCESS */
"A linha OperInfo foi removida do canal %s",
/* OINFO_HELP */
"Sintaxe: OINFO [ADD|DEL] nick <informação>\n"
"Adiciona ou apaga informação para Operadores ao nick fornecido\n"
"Isto será mostrado quando qualquer Operador usar /ns info nick\n"
"e pode ser usado para 'etiquetar' usuários etc...",
"Sintaxe: OINFO [ADD|DEL] nick <informao>\n"
"Adiciona ou apaga informao para Operadores ao nick fornecido\n"
"Isto ser mostrado quando qualquer Operador usar /ns info nick\n"
"e pode ser usado para 'etiquetar' usurios etc...",
/* OCINFO_HELP */
"Sintaxe: OINFO [ADD|DEL] canal <informação>\n"
"Adiciona ou apaga informação para Operadores ao canal fornecido\n"
"Isto será mostrado quando qualquer Operador usar /cs info canal\n"
"Sintaxe: OINFO [ADD|DEL] canal <informao>\n"
"Adiciona ou apaga informao para Operadores ao canal fornecido\n"
"Isto ser mostrado quando qualquer Operador usar /cs info canal\n"
"e pode ser usado para 'etiquetar' canais etc...",
/* OINFO_HELP_CMD */
" OINFO Adiciona ou Apaga a linha OperInfo para um nick",
@@ -255,31 +255,31 @@ class OSInfo : public Module
const char* langtable_ru[] = {
/* OINFO_SYNTAX */
"Ñèíòàêñèñ: OINFO ADD|DEL íèê òåñò",
": OINFO ADD|DEL ",
/* OINFO_ADD_SUCCESS */
"Îïåð-Èíôîðìàöèÿ äëÿ íèêà %s äîáàâëåíà",
"- %s ",
/* OINFO_DEL_SUCCESS */
"Îïåð-Èíôîðìàöèÿ äëÿ íèêà %s áûëà óäàëåíà",
"- %s ",
/* OCINFO_SYNTAX */
"Ñèíòàêñèñ: OINFO ADD|DEL #êàíàë òåêñò",
": OINFO ADD|DEL # ",
/* OCINFO_ADD_SUCCESS */
"Îïåð-Èíôîðìàöèÿ äëÿ êàíàëà %s óñïåøíî óñòàíîâëåíà",
"- %s ",
/* OCINFO_DEL_SUCCESS */
"Îïåð-Èíôîðìàöèÿ äëÿ êàíàëà %s áûëà óäàëåíà",
"- %s ",
/* OINFO_HELP */
"Ñèíòàêñèñ: OINFO ADD|DEL íèê òåêñò\n"
"Óñòàíàâëèâàåò èëè óäàëÿåò Îïåð-Èíôîðìàöèþ äëÿ óêàçàííîãî íèêà,\n"
"êîòîðàÿ áóäåò ïîêàçàíà ëþáîìó îïåðàòîðó, çàïðàøèâàþùåìó INFO íèêà.\n"
"Ìîæåò áûòü èñïîëüçîâàíà äëÿ 'ïîìåòêè' ïîëüçîâàòåëåé è ò. ä...",
": OINFO ADD|DEL  \n"
" - ,\n"
" , INFO .\n"
" '' . ...",
/* OCINFO_HELP */
"Ñèíòàêñèñ: OINFO ADD|DEL #êàíàë òåêñò\n"
"Óñòàíàâëèâàåò èëè óäàëÿåò Îïåð-Èíôîðìàöèþ äëÿ óêàçàííîãî êàíàëà,\n"
"êîòîðàÿ áóäåò ïîêàçàíà ëþáîìó îïåðàòîðó, çàïðàøèâàþùåìó INFO êàíàëà.\n"
"Ìîæåò áûòü èñïîëüçîâàíà äëÿ 'ïîìåòêè' êàíàëîâ è ò. ä...",
": OINFO ADD|DEL # \n"
" - ,\n"
" , INFO .\n"
" '' . ...",
/* OINFO_HELP_CMD */
" OINFO Äîáàâëÿåò/Óäàëÿåò îïåð-èíôî äëÿ íèêà",
" OINFO / - ",
/* OCINFO_HELP_CMD */
" OINFO Äîáàâëÿåò/Óäàëÿåò îïåð-èíôî äëÿ êàíàëà"
" OINFO / - "
};
const char* langtable_it[] = {
@@ -323,7 +323,20 @@ class OSInfo : public Module
~OSInfo()
{
char *av[1];
for (int i = 0; i < 1024; i++)
{
/* Remove the nick Cores */
for (NickCore *nc = nclists[i]; nc; nc = nc->next)
{
char *c;
if (nc->GetExt("os_modinfo", c));
{
free(c);
nc->Shrink("os_modinfo");
}
}
}
av[0] = sstrdup(EVENT_START);
mSaveData(1, av);
free(av[0]);
@@ -369,9 +382,8 @@ int myAddNickInfo(User * u)
/* ok we've found the user */
if ((na = findnick(nick))) {
/* Add the module data to the user */
moduleAddData(&na->nc->moduleData, "info", info);
moduleNoticeLang(s_NickServ, u,
OINFO_ADD_SUCCESS, nick);
na->nc->Extend("os_info", strdup(info));
moduleNoticeLang(s_NickServ, u, OINFO_ADD_SUCCESS, nick);
/* NickCore not found! */
} else {
notice_lang(s_NickServ, u, NICK_X_NOT_REGISTERED,
@@ -381,10 +393,16 @@ int myAddNickInfo(User * u)
}
} else if (strcasecmp(cmd, "DEL") == 0) {
/* ok we've found the user */
if ((na = findnick(nick))) {
moduleDelData(&na->nc->moduleData, "info");
moduleNoticeLang(s_NickServ, u,
OINFO_DEL_SUCCESS, nick);
if ((na = findnick(nick)))
{
char *c;
if (na->nc->GetExt("os_info", c))
{
free(c);
na->nc->Shrink("os_info");
}
moduleNoticeLang(s_NickServ, u, OINFO_DEL_SUCCESS, nick);
/* NickCore not found! */
} else {
notice_lang(s_NickServ, u, NICK_X_NOT_REGISTERED,
@@ -437,9 +455,8 @@ int myAddChanInfo(User * u)
if (info) {
if ((ci = cs_findchan(chan))) {
/* Add the module data to the channel */
moduleAddData(&ci->moduleData, "info", info);
moduleNoticeLang(s_ChanServ, u,
OCINFO_ADD_SUCCESS, chan);
ci->Extend("os_info", strdup(info));
moduleNoticeLang(s_ChanServ, u, OCINFO_ADD_SUCCESS, chan);
/* ChanInfo */
} else {
notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED,
@@ -450,9 +467,13 @@ int myAddChanInfo(User * u)
} else if (strcasecmp(cmd, "DEL") == 0) {
if ((ci = cs_findchan(chan))) {
/* Del the module data from the channel */
moduleDelData(&ci->moduleData, "info");
moduleNoticeLang(s_ChanServ, u,
OCINFO_DEL_SUCCESS, chan);
char *c;
if (ci->GetExt("os_info", c))
{
free(c);
ci->Shrink("os_info");
}
moduleNoticeLang(s_ChanServ, u, OCINFO_DEL_SUCCESS, chan);
/* ChanInfo */
} else {
notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED,
@@ -487,7 +508,6 @@ int myNickInfo(User * u)
{
char *text = NULL;
char *nick = NULL;
char *info = NULL;
NickAlias *na = NULL;
/* Only show our goodies to opers */
@@ -500,9 +520,10 @@ int myNickInfo(User * u)
/* ok we've found the user */
if ((na = findnick(nick))) {
/* If we have any info on this user */
if ((info = moduleGetData(&na->nc->moduleData, "info"))) {
notice_user(s_NickServ, u, " OperInfo: %s", info);
free(info);
char *c;
if (na->nc->GetExt("os_info", c))
{
notice_user(s_NickServ, u, " OperInfo: %s", c);
}
/* NickCore not found! */
} else {
@@ -524,7 +545,6 @@ int myChanInfo(User * u)
{
char *text = NULL;
char *chan = NULL;
char *info = NULL;
ChannelInfo *ci = NULL;
/* Only show our goodies to opers */
@@ -536,9 +556,10 @@ int myChanInfo(User * u)
if (chan) {
if ((ci = cs_findchan(chan))) {
/* If we have any info on this channel */
if ((info = moduleGetData(&ci->moduleData, "info"))) {
notice_user(s_ChanServ, u, " OperInfo: %s", info);
free(info);
char *c;
if (ci->GetExt("os_info", c))
{
notice_user(s_ChanServ, u, " OperInfo: %s", c);
}
}
free(chan);
@@ -584,14 +605,14 @@ int mLoadData(void)
/* Take the \n from the end of the line */
info[len - 1] = '\0';
if (stricmp(type, "C") == 0) {
if ((ci = cs_findchan(name))) {
moduleAddData(&ci->moduleData, "info",
info);
if ((ci = cs_findchan(name)))
{
ci->Extend("os_info", strdup("info"));
}
} else if (stricmp(type, "N") == 0) {
if ((na = findnick(name))) {
moduleAddData(&na->nc->moduleData, "info",
info);
if ((na = findnick(name)))
{
na->nc->Extend("os_info", strdup(info));
}
}
free(info);
@@ -619,7 +640,6 @@ int mSaveData(int argc, char **argv)
int i = 0;
int ret = 0;
FILE *out;
char *info = NULL;
if (argc >= 1) {
if (!stricmp(argv[0], EVENT_START)) {
@@ -632,9 +652,10 @@ int mSaveData(int argc, char **argv)
for (i = 0; i < 1024; i++) {
for (nc = nclists[i]; nc; nc = nc->next) {
/* If we have any info on this user */
if ((info = moduleGetData(&nc->moduleData, "info"))) {
fprintf(out, "N %s %s\n", nc->display, info);
free(info);
char *c;
if (nc->GetExt("os_info", c))
{
fprintf(out, "N %s %s\n", nc->display, c);
}
}
}
@@ -643,9 +664,10 @@ int mSaveData(int argc, char **argv)
for (i = 0; i < 256; i++) {
for (ci = chanlists[i]; ci; ci = ci->next) {
/* If we have any info on this channel */
if ((info = moduleGetData(&ci->moduleData, "info"))) {
fprintf(out, "C %s %s\n", ci->name, info);
free(info);
char *c;
if (ci->GetExt("os_info", c))
{
fprintf(out, "C %s %s\n", ci->name, c);
}
}
}