summaryrefslogtreecommitdiff
path: root/modules/core/cs_access.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2010-08-17 19:27:37 -0400
committerAdam <Adam@anope.org>2010-08-17 19:27:37 -0400
commite65d8b2f3dfdb40858259b3bb48ef6998c31e62f (patch)
treefd845bdef5664d025ab19c262ae2c5e9d23d7bb2 /modules/core/cs_access.cpp
parent2575008baa5c9d0ca789680da1a3b81dc74786f7 (diff)
Rewrote the config reader to better handle invalid configs.
This prevents Anope from exploding when /os reload has errors.
Diffstat (limited to 'modules/core/cs_access.cpp')
-rw-r--r--modules/core/cs_access.cpp142
1 files changed, 71 insertions, 71 deletions
diff --git a/modules/core/cs_access.cpp b/modules/core/cs_access.cpp
index 23e5a415b..5fea57486 100644
--- a/modules/core/cs_access.cpp
+++ b/modules/core/cs_access.cpp
@@ -27,9 +27,9 @@ class AccessListCallback : public NumberList
~AccessListCallback()
{
if (SentHeader)
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_LIST_FOOTER, ci->name.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_LIST_FOOTER, ci->name.c_str());
else
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_NO_MATCH, ci->name.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_NO_MATCH, ci->name.c_str());
}
virtual void HandleNumber(unsigned Number)
@@ -40,7 +40,7 @@ class AccessListCallback : public NumberList
if (!SentHeader)
{
SentHeader = true;
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_LIST_HEADER, ci->name.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_LIST_HEADER, ci->name.c_str());
}
DoList(u, ci, Number - 1, ci->GetAccess(Number - 1));
@@ -51,10 +51,10 @@ class AccessListCallback : public NumberList
if (ci->HasFlag(CI_XOP))
{
Anope::string xop = get_xop_level(access->level);
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_LIST_XOP_FORMAT, Number + 1, xop.c_str(), access->nc->display.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_LIST_XOP_FORMAT, Number + 1, xop.c_str(), access->nc->display.c_str());
}
else
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_LIST_AXS_FORMAT, Number + 1, access->level, access->nc->display.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_LIST_AXS_FORMAT, Number + 1, access->level, access->nc->display.c_str());
}
};
@@ -73,7 +73,7 @@ class AccessViewCallback : public AccessListCallback
if (!SentHeader)
{
SentHeader = true;
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_LIST_HEADER, ci->name.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_LIST_HEADER, ci->name.c_str());
}
DoList(u, ci, Number - 1, ci->GetAccess(Number - 1));
@@ -97,10 +97,10 @@ class AccessViewCallback : public AccessListCallback
if (ci->HasFlag(CI_XOP))
{
Anope::string xop = get_xop_level(access->level);
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_VIEW_XOP_FORMAT, Number + 1, xop.c_str(), access->nc->display.c_str(), access->creator.c_str(), timebuf);
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_VIEW_XOP_FORMAT, Number + 1, xop.c_str(), access->nc->display.c_str(), access->creator.c_str(), timebuf);
}
else
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_VIEW_AXS_FORMAT, Number + 1, access->level, access->nc->display.c_str(), access->creator.c_str(), timebuf);
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_VIEW_AXS_FORMAT, Number + 1, access->level, access->nc->display.c_str(), access->creator.c_str(), timebuf);
}
};
@@ -119,17 +119,17 @@ class AccessDelCallback : public NumberList
~AccessDelCallback()
{
if (Denied && !Deleted)
- notice_lang(Config.s_ChanServ, u, ACCESS_DENIED);
+ notice_lang(Config->s_ChanServ, u, ACCESS_DENIED);
else if (!Deleted)
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_NO_MATCH, ci->name.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_NO_MATCH, ci->name.c_str());
else
{
- Alog() << Config.s_ChanServ << ": " << u->GetMask() << " (level " << get_access(u, ci) << ") deleted access of user" << (Deleted == 1 ? " " : "s ") << Nicks << " on " << ci->name;
+ Alog() << Config->s_ChanServ << ": " << u->GetMask() << " (level " << get_access(u, ci) << ") deleted access of user" << (Deleted == 1 ? " " : "s ") << Nicks << " on " << ci->name;
if (Deleted == 1)
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_DELETED_ONE, ci->name.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_DELETED_ONE, ci->name.c_str());
else
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_DELETED_SEVERAL, Deleted, ci->name.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_DELETED_SEVERAL, Deleted, ci->name.c_str());
}
}
@@ -168,30 +168,30 @@ class CommandCSAccess : public Command
if (level >= ulev && !u->Account()->HasPriv("chanserv/access/modify"))
{
- notice_lang(Config.s_ChanServ, u, ACCESS_DENIED);
+ notice_lang(Config->s_ChanServ, u, ACCESS_DENIED);
return MOD_CONT;
}
if (!level)
{
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_LEVEL_NONZERO);
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_LEVEL_NONZERO);
return MOD_CONT;
}
else if (level <= ACCESS_INVALID || level >= ACCESS_FOUNDER)
{
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_LEVEL_RANGE, ACCESS_INVALID + 1, ACCESS_FOUNDER - 1);
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_LEVEL_RANGE, ACCESS_INVALID + 1, ACCESS_FOUNDER - 1);
return MOD_CONT;
}
NickAlias *na = findnick(nick);
if (!na)
{
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_NICKS_ONLY);
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_NICKS_ONLY);
return MOD_CONT;
}
else if (na->HasFlag(NS_FORBIDDEN))
{
- notice_lang(Config.s_ChanServ, u, NICK_X_FORBIDDEN, nick.c_str());
+ notice_lang(Config->s_ChanServ, u, NICK_X_FORBIDDEN, nick.c_str());
return MOD_CONT;
}
@@ -202,26 +202,26 @@ class CommandCSAccess : public Command
/* Don't allow lowering from a level >= ulev */
if (access->level >= ulev && !u->Account()->HasPriv("chanserv/access/modify"))
{
- notice_lang(Config.s_ChanServ, u, ACCESS_DENIED);
+ notice_lang(Config->s_ChanServ, u, ACCESS_DENIED);
return MOD_CONT;
}
if (access->level == level)
{
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_LEVEL_UNCHANGED, access->nc->display.c_str(), ci->name.c_str(), level);
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_LEVEL_UNCHANGED, access->nc->display.c_str(), ci->name.c_str(), level);
return MOD_CONT;
}
access->level = level;
FOREACH_MOD(I_OnAccessChange, OnAccessChange(ci, u, na->nc, level));
- Alog() << Config.s_ChanServ << ": " << u->GetMask() << " (level " << ulev << ") set access level " << access->level << " to " << na->nick << " (group " << nc->display << ") on channel " << ci->name;
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_LEVEL_CHANGED, nc->display.c_str(), ci->name.c_str(), level);
+ Alog() << Config->s_ChanServ << ": " << u->GetMask() << " (level " << ulev << ") set access level " << access->level << " to " << na->nick << " (group " << nc->display << ") on channel " << ci->name;
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_LEVEL_CHANGED, nc->display.c_str(), ci->name.c_str(), level);
return MOD_CONT;
}
- if (ci->GetAccessCount() >= Config.CSAccessMax)
+ if (ci->GetAccessCount() >= Config->CSAccessMax)
{
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_REACHED_LIMIT, Config.CSAccessMax);
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_REACHED_LIMIT, Config->CSAccessMax);
return MOD_CONT;
}
@@ -229,8 +229,8 @@ class CommandCSAccess : public Command
FOREACH_MOD(I_OnAccessAdd, OnAccessAdd(ci, u, nc, level));
- Alog() << Config.s_ChanServ << ": " << u->GetMask() << " (level " << ulev << ") set access level " << level << " to " << na->nick << " (group " << nc->display << ") on channel " << ci->name;
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_ADDED, nc->display.c_str(), ci->name.c_str(), level);
+ Alog() << Config->s_ChanServ << ": " << u->GetMask() << " (level " << ulev << ") set access level " << level << " to " << na->nick << " (group " << nc->display << ") on channel " << ci->name;
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_ADDED, nc->display.c_str(), ci->name.c_str(), level);
return MOD_CONT;
}
@@ -240,7 +240,7 @@ class CommandCSAccess : public Command
Anope::string nick = params[2];
if (!ci->GetAccessCount())
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_LIST_EMPTY, ci->name.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_LIST_EMPTY, ci->name.c_str());
else if (isdigit(nick[0]) && nick.find_first_not_of("1234567890,-") == Anope::string::npos)
{
AccessDelCallback list(u, ci, nick);
@@ -251,7 +251,7 @@ class CommandCSAccess : public Command
NickAlias *na = findnick(nick);
if (!na)
{
- notice_lang(Config.s_ChanServ, u, NICK_X_NOT_REGISTERED, nick.c_str());
+ notice_lang(Config->s_ChanServ, u, NICK_X_NOT_REGISTERED, nick.c_str());
return MOD_CONT;
}
@@ -268,13 +268,13 @@ class CommandCSAccess : public Command
}
if (i == end)
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_NOT_FOUND, nick.c_str(), ci->name.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_NOT_FOUND, nick.c_str(), ci->name.c_str());
else if (get_access(u, ci) <= access->level && !u->Account()->HasPriv("chanserv/access/modify"))
- notice_lang(Config.s_ChanServ, u, ACCESS_DENIED);
+ notice_lang(Config->s_ChanServ, u, ACCESS_DENIED);
else
{
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_DELETED, access->nc->display.c_str(), ci->name.c_str());
- Alog() << Config.s_ChanServ << ": " << u->GetMask() << " (level " << get_access(u, ci) << ") deleted access of " << na->nick << " (group " << access->nc->display << ") on " << ci->name;
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_DELETED, access->nc->display.c_str(), ci->name.c_str());
+ Alog() << Config->s_ChanServ << ": " << u->GetMask() << " (level " << get_access(u, ci) << ") deleted access of " << na->nick << " (group " << access->nc->display << ") on " << ci->name;
FOREACH_MOD(I_OnAccessDel, OnAccessDel(ci, u, na->nc));
ci->EraseAccess(i);
@@ -289,7 +289,7 @@ class CommandCSAccess : public Command
Anope::string nick = params.size() > 2 ? params[2] : "";
if (!ci->GetAccessCount())
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_LIST_EMPTY, ci->name.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_LIST_EMPTY, ci->name.c_str());
else if (!nick.empty() && nick.find_first_not_of("1234567890,-") == Anope::string::npos)
{
AccessListCallback list(u, ci, nick);
@@ -309,16 +309,16 @@ class CommandCSAccess : public Command
if (!SentHeader)
{
SentHeader = true;
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_LIST_HEADER, ci->name.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_LIST_HEADER, ci->name.c_str());
}
AccessListCallback::DoList(u, ci, i, access);
}
if (SentHeader)
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_LIST_FOOTER, ci->name.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_LIST_FOOTER, ci->name.c_str());
else
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_NO_MATCH, ci->name.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_NO_MATCH, ci->name.c_str());
}
return MOD_CONT;
@@ -329,7 +329,7 @@ class CommandCSAccess : public Command
Anope::string nick = params.size() > 2 ? params[2] : "";
if (!ci->GetAccessCount())
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_LIST_EMPTY, ci->name.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_LIST_EMPTY, ci->name.c_str());
else if (!nick.empty() && nick.find_first_not_of("1234567890,-") == Anope::string::npos)
{
AccessViewCallback list(u, ci, nick);
@@ -349,16 +349,16 @@ class CommandCSAccess : public Command
if (!SentHeader)
{
SentHeader = true;
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_LIST_HEADER, ci->name.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_LIST_HEADER, ci->name.c_str());
}
AccessViewCallback::DoList(u, ci, i, access);
}
if (SentHeader)
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_LIST_FOOTER, ci->name.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_LIST_FOOTER, ci->name.c_str());
else
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_NO_MATCH, ci->name.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_NO_MATCH, ci->name.c_str());
}
return MOD_CONT;
@@ -367,15 +367,15 @@ class CommandCSAccess : public Command
CommandReturn DoClear(User *u, ChannelInfo *ci)
{
if (!IsFounder(u, ci) && !u->Account()->HasPriv("chanserv/access/modify"))
- notice_lang(Config.s_ChanServ, u, ACCESS_DENIED);
+ notice_lang(Config->s_ChanServ, u, ACCESS_DENIED);
else
{
ci->ClearAccess();
FOREACH_MOD(I_OnAccessClear, OnAccessClear(ci, u));
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_CLEAR, ci->name.c_str());
- Alog() << Config.s_ChanServ << ": " << u->GetMask() << " (level " << get_access(u, ci) << " cleared access list on " << ci->name;
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_CLEAR, ci->name.c_str());
+ Alog() << Config->s_ChanServ << ": " << u->GetMask() << " (level " << get_access(u, ci) << " cleared access list on " << ci->name;
}
return MOD_CONT;
@@ -407,14 +407,14 @@ class CommandCSAccess : public Command
else if (ci->HasFlag(CI_XOP) && !is_list && !is_clear)
{
if (ModeManager::FindChannelModeByName(CMODE_HALFOP))
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_XOP_HOP, Config.s_ChanServ.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_XOP_HOP, Config->s_ChanServ.c_str());
else
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_XOP, Config.s_ChanServ.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_XOP, Config->s_ChanServ.c_str());
}
else if ((is_list && !check_access(u, ci, CA_ACCESS_LIST) && !u->Account()->HasCommand("chanserv/access/list")) || (!is_list && !check_access(u, ci, CA_ACCESS_CHANGE) && !u->Account()->HasPriv("chanserv/access/modify")))
- notice_lang(Config.s_ChanServ, u, ACCESS_DENIED);
+ notice_lang(Config->s_ChanServ, u, ACCESS_DENIED);
else if (readonly && (cmd.equals_ci("ADD") || cmd.equals_ci("DEL") || cmd.equals_ci("CLEAR")))
- notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_DISABLED);
+ notice_lang(Config->s_ChanServ, u, CHAN_ACCESS_DISABLED);
else if (cmd.equals_ci("ADD"))
this->DoAdd(u, ci, params);
else if (cmd.equals_ci("DEL"))
@@ -433,14 +433,14 @@ class CommandCSAccess : public Command
bool OnHelp(User *u, const Anope::string &subcommand)
{
- notice_help(Config.s_ChanServ, u, CHAN_HELP_ACCESS);
- notice_help(Config.s_ChanServ, u, CHAN_HELP_ACCESS_LEVELS);
+ notice_help(Config->s_ChanServ, u, CHAN_HELP_ACCESS);
+ notice_help(Config->s_ChanServ, u, CHAN_HELP_ACCESS_LEVELS);
return true;
}
void OnSyntaxError(User *u, const Anope::string &subcommand)
{
- syntax_error(Config.s_ChanServ, u, "ACCESS", CHAN_ACCESS_SYNTAX);
+ syntax_error(Config->s_ChanServ, u, "ACCESS", CHAN_ACCESS_SYNTAX);
}
};
@@ -463,7 +463,7 @@ class CommandCSLevels : public Command
if (!error.empty())
this->OnSyntaxError(u, "SET");
else if (level <= ACCESS_INVALID || level > ACCESS_FOUNDER)
- notice_lang(Config.s_ChanServ, u, CHAN_LEVELS_RANGE, ACCESS_INVALID + 1, ACCESS_FOUNDER - 1);
+ notice_lang(Config->s_ChanServ, u, CHAN_LEVELS_RANGE, ACCESS_INVALID + 1, ACCESS_FOUNDER - 1);
else
for (int i = 0; levelinfo[i].what >= 0; ++i)
{
@@ -471,16 +471,16 @@ class CommandCSLevels : public Command
{
ci->levels[levelinfo[i].what] = level;
FOREACH_MOD(I_OnLevelChange, OnLevelChange(u, ci, i, level));
- Alog() << Config.s_ChanServ << ": " << u->GetMask() << " set level " << levelinfo[i].name << " on channel " << ci->name << " to " << level;
+ Alog() << Config->s_ChanServ << ": " << u->GetMask() << " set level " << levelinfo[i].name << " on channel " << ci->name << " to " << level;
if (level == ACCESS_FOUNDER)
- notice_lang(Config.s_ChanServ, u, CHAN_LEVELS_CHANGED_FOUNDER, levelinfo[i].name.c_str(), ci->name.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_LEVELS_CHANGED_FOUNDER, levelinfo[i].name.c_str(), ci->name.c_str());
else
- notice_lang(Config.s_ChanServ, u, CHAN_LEVELS_CHANGED, levelinfo[i].name.c_str(), ci->name.c_str(), level);
+ notice_lang(Config->s_ChanServ, u, CHAN_LEVELS_CHANGED, levelinfo[i].name.c_str(), ci->name.c_str(), level);
return MOD_CONT;
}
}
- notice_lang(Config.s_ChanServ, u, CHAN_LEVELS_UNKNOWN, what.c_str(), Config.s_ChanServ.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_LEVELS_UNKNOWN, what.c_str(), Config->s_ChanServ.c_str());
return MOD_CONT;
}
@@ -498,20 +498,20 @@ class CommandCSLevels : public Command
ci->levels[levelinfo[i].what] = ACCESS_INVALID;
FOREACH_MOD(I_OnLevelChange, OnLevelChange(u, ci, i, levelinfo[i].what));
- Alog() << Config.s_ChanServ << ": " << u->GetMask() << " disabled level " << levelinfo[i].name << " on channel " << ci->name;
- notice_lang(Config.s_ChanServ, u, CHAN_LEVELS_DISABLED, levelinfo[i].name.c_str(), ci->name.c_str());
+ Alog() << Config->s_ChanServ << ": " << u->GetMask() << " disabled level " << levelinfo[i].name << " on channel " << ci->name;
+ notice_lang(Config->s_ChanServ, u, CHAN_LEVELS_DISABLED, levelinfo[i].name.c_str(), ci->name.c_str());
return MOD_CONT;
}
}
- notice_lang(Config.s_ChanServ, u, CHAN_LEVELS_UNKNOWN, what.c_str(), Config.s_ChanServ.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_LEVELS_UNKNOWN, what.c_str(), Config->s_ChanServ.c_str());
return MOD_CONT;
}
CommandReturn DoList(User *u, ChannelInfo *ci)
{
- notice_lang(Config.s_ChanServ, u, CHAN_LEVELS_LIST_HEADER, ci->name.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_LEVELS_LIST_HEADER, ci->name.c_str());
if (!levelinfo_maxwidth)
for (int i = 0; levelinfo[i].what >= 0; ++i)
@@ -530,14 +530,14 @@ class CommandCSLevels : public Command
j = levelinfo[i].what;
if (j == CA_AUTOOP || j == CA_AUTODEOP || j == CA_AUTOVOICE || j == CA_NOJOIN)
- notice_lang(Config.s_ChanServ, u, CHAN_LEVELS_LIST_DISABLED, levelinfo_maxwidth, levelinfo[i].name.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_LEVELS_LIST_DISABLED, levelinfo_maxwidth, levelinfo[i].name.c_str());
else
- notice_lang(Config.s_ChanServ, u, CHAN_LEVELS_LIST_DISABLED, levelinfo_maxwidth, levelinfo[i].name.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_LEVELS_LIST_DISABLED, levelinfo_maxwidth, levelinfo[i].name.c_str());
}
else if (j == ACCESS_FOUNDER)
- notice_lang(Config.s_ChanServ, u, CHAN_LEVELS_LIST_FOUNDER, levelinfo_maxwidth, levelinfo[i].name.c_str());
+ notice_lang(Config->s_ChanServ, u, CHAN_LEVELS_LIST_FOUNDER, levelinfo_maxwidth, levelinfo[i].name.c_str());
else
- notice_lang(Config.s_ChanServ, u, CHAN_LEVELS_LIST_NORMAL, levelinfo_maxwidth, levelinfo[i].name.c_str(), j);
+ notice_lang(Config->s_ChanServ, u, CHAN_LEVELS_LIST_NORMAL, levelinfo_maxwidth, levelinfo[i].name.c_str(), j);
}
return MOD_CONT;
@@ -547,8 +547,8 @@ class CommandCSLevels : public Command
{
reset_levels(ci);
FOREACH_MOD(I_OnLevelChange, OnLevelChange(u, ci, -1, 0));
- Alog() << Config.s_ChanServ << ": " << u->GetMask() << " reset levels definitions on channel " << ci->name;
- notice_lang(Config.s_ChanServ, u, CHAN_LEVELS_RESET, ci->name.c_str());
+ Alog() << Config->s_ChanServ << ": " << u->GetMask() << " reset levels definitions on channel " << ci->name;
+ notice_lang(Config->s_ChanServ, u, CHAN_LEVELS_RESET, ci->name.c_str());
return MOD_CONT;
}
@@ -572,9 +572,9 @@ class CommandCSLevels : public Command
if (cmd.equals_ci("SET") ? s.empty() : (cmd.substr(0, 3).equals_ci("DIS") ? (what.empty() || !s.empty()) : !what.empty()))
this->OnSyntaxError(u, cmd);
else if (ci->HasFlag(CI_XOP))
- notice_lang(Config.s_ChanServ, u, CHAN_LEVELS_XOP);
+ notice_lang(Config->s_ChanServ, u, CHAN_LEVELS_XOP);
else if (!check_access(u, ci, CA_FOUNDER) && !u->Account()->HasPriv("chanserv/access/modify"))
- notice_lang(Config.s_ChanServ, u, ACCESS_DENIED);
+ notice_lang(Config->s_ChanServ, u, ACCESS_DENIED);
else if (cmd.equals_ci("SET"))
this->DoSet(u, ci, params);
else if (cmd.equals_ci("DIS") || cmd.equals_ci("DISABLE"))
@@ -591,19 +591,19 @@ class CommandCSLevels : public Command
bool OnHelp(User *u, const Anope::string &subcommand)
{
- notice_help(Config.s_ChanServ, u, CHAN_HELP_LEVELS);
+ notice_help(Config->s_ChanServ, u, CHAN_HELP_LEVELS);
return true;
}
void OnSyntaxError(User *u, const Anope::string &subcommand)
{
- syntax_error(Config.s_ChanServ, u, "LEVELS", CHAN_LEVELS_SYNTAX);
+ syntax_error(Config->s_ChanServ, u, "LEVELS", CHAN_LEVELS_SYNTAX);
}
void OnServHelp(User *u)
{
- notice_lang(Config.s_ChanServ, u, CHAN_HELP_CMD_ACCESS);
- notice_lang(Config.s_ChanServ, u, CHAN_HELP_CMD_LEVELS);
+ notice_lang(Config->s_ChanServ, u, CHAN_HELP_CMD_ACCESS);
+ notice_lang(Config->s_ChanServ, u, CHAN_HELP_CMD_LEVELS);
}
};