]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/channels.cpp
Make chanhistory skip CTCPs when storing messages.
[user/henk/code/inspircd.git] / src / channels.cpp
index 0ff252c9517835100e8f7385668f35023aa9c061..5baaf03ee1aabb696ecb78ed345966a41c173ec0 100644 (file)
@@ -176,6 +176,8 @@ Channel* Channel::JoinUser(LocalUser* user, std::string cname, bool override, co
        if (!override)
        {
                unsigned int maxchans = user->GetClass()->maxchans;
+               if (!maxchans)
+                       maxchans = ServerInstance->Config->MaxChans;
                if (user->IsOper())
                {
                        unsigned int opermaxchans = ConvToNum<unsigned int>(user->oper->getConfig("maxchans"));
@@ -271,8 +273,8 @@ Membership* Channel::ForceJoin(User* user, const std::string* privs, bool bursti
 
        if (privs)
        {
-               // If the user was granted prefix modes (in the OnUserPreJoin hook, or he's a
-               // remote user and his own server set the modes), then set them internally now
+               // If the user was granted prefix modes (in the OnUserPreJoin hook, or they're a
+               // remote user and their own server set the modes), then set them internally now
                for (std::string::const_iterator i = privs->begin(); i != privs->end(); ++i)
                {
                        PrefixMode* mh = ServerInstance->Modes->FindPrefixMode(*i);
@@ -471,10 +473,11 @@ const char* Channel::ChanModes(bool showsecret)
        return scratch.c_str();
 }
 
-void Channel::WriteNotice(const std::string& text)
+void Channel::WriteNotice(const std::string& text, char status)
 {
-       ClientProtocol::Messages::Privmsg privmsg(ClientProtocol::Messages::Privmsg::nocopy, ServerInstance->FakeClient, this, text, MSG_NOTICE);
+       ClientProtocol::Messages::Privmsg privmsg(ClientProtocol::Messages::Privmsg::nocopy, ServerInstance->FakeClient, this, text, MSG_NOTICE, status);
        Write(ServerInstance->GetRFCEvents().privmsg, privmsg);
+       ServerInstance->PI->SendMessage(this, status, text, MSG_NOTICE);
 }
 
 /* returns the status character for a given user on a channel, e.g. @ for op,