* | Inspire Internet Relay Chat Daemon |
* +------------------------------------+
*
- * InspIRCd: (C) 2002-2008 InspIRCd Development Team
- * See: http://www.inspircd.org/wiki/index.php/Credits
+ * InspIRCd: (C) 2002-2009 InspIRCd Development Team
+ * See: http://wiki.inspircd.org/Credits
*
* This program is free but copyrighted software; see
* the file COPYING for details.
{
if (dest->IsModeSet('Q') != adding)
{
- bool ok = false;
-
- for (int j = 0; j < conf->Enumerate("type"); j++)
- {
- std::string opertype = conf->ReadValue("type","name",j);
- if (opertype == source->oper)
- {
- ok = conf->ReadFlag("type", "canquiet", j);
- break;
- }
- }
-
- if (!ok)
- {
- source->WriteNumeric(481, "%s :Permission Denied - You do not have access to become invisible via user mode +Q", source->nick.c_str());
- return MODEACTION_DENY;
- }
-
dest->SetMode('Q', adding);
/* Fix for bug #379 reported by stealth. On +/-Q make m_watch think the user has signed on/off */
}
}
- ServerInstance->SNO->WriteToSnoMask('A', "\2NOTICE\2: Oper %s has become %svisible (%sQ)", dest->GetFullHost().c_str(), adding ? "in" : "", adding ? "+" : "-");
+ ServerInstance->SNO->WriteToSnoMask('A', "\2NOTICE\2: Oper %s has become %svisible (%cQ)", dest->GetFullHost().c_str(), adding ? "in" : "", adding ? '+' : '-');
return MODEACTION_ALLOW;
}
else