extern int MODCOUNT;
extern std::vector<Module*> modules;
extern std::vector<ircd_module*> factory;
+
extern InspIRCd* ServerInstance;
-extern ServerConfig* Config;
extern time_t TIME;
{
return NULL;
}
- d = Find(dest);
+ d = ServerInstance->FindNick(dest);
if (!d)
{
user->WriteServ("401 %s %s :No such nick/channel",user->nick, dest);
if (targetchannel)
{
/* Display channel's current mode string */
- user->WriteServ("324 %s %s +%s",user->nick, targetchannel->name, chanmodes(targetchannel, targetchannel->HasUser(user)));
+ user->WriteServ("324 %s %s +%s",user->nick, targetchannel->name, targetchannel->ChanModes(targetchannel->HasUser(user)));
user->WriteServ("329 %s %s %d", user->nick, targetchannel->name, targetchannel->created);
return;
}
std::string target = parameters[0];
ModeType type = MODETYPE_USER;
unsigned char mask = 0;
- chanrec* targetchannel = FindChan(parameters[0]);
- userrec* targetuser = Find(parameters[0]);
+ chanrec* targetchannel = ServerInstance->FindChan(parameters[0]);
+ userrec* targetuser = ServerInstance->FindNick(parameters[0]);
log(DEBUG,"ModeParser::Process start");
* (e.g. are they a (half)op?
*/
- if ((IS_LOCAL(user)) && (cstatus(user, targetchannel) < STATUS_HOP))
+ if ((IS_LOCAL(user)) && (targetchannel->GetStatus(user) < STATUS_HOP))
{
/* We don't have halfop */
log(DEBUG,"The user is not a halfop or above, checking other reasons for being able to set the modes");
{
if (type == MODETYPE_CHANNEL)
{
- targetchannel->WriteChannelWithServ(Config->ServerName, "MODE %s %s%s", targetchannel->name, output_sequence.c_str(), parameter_list.str().c_str());
+ targetchannel->WriteChannelWithServ(ServerInstance->Config->ServerName, "MODE %s %s%s", targetchannel->name, output_sequence.c_str(), parameter_list.str().c_str());
}
else
{