]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_silence_ext.cpp
Port bindings for gnutls now bind via ip:port, rather than on all ports for that...
[user/henk/code/inspircd.git] / src / modules / m_silence_ext.cpp
index 011bd84a67870647f0443bb474bd5f1235f1b193..2f1654016aa8c14b64dea0ea131f3f6c4d6b7e51 100644 (file)
@@ -2,7 +2,7 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
+ *  InspIRCd: (C) 2002-2008 InspIRCd Development Team
  * See: http://www.inspircd.org/wiki/index.php/Credits
  *
  * This program is free but copyrighted software; see
@@ -62,7 +62,7 @@ class CommandSilence : public Command
                TRANSLATE3(TR_TEXT, TR_TEXT, TR_END);
        }
 
-       CmdResult Handle (const char** parameters, int pcnt, User *user)
+       CmdResult Handle (const char* const* parameters, int pcnt, User *user)
        {
                if (!pcnt)
                {
@@ -75,10 +75,10 @@ class CommandSilence : public Command
                        {
                                for (silencelist::const_iterator c = sl->begin(); c != sl->end(); c++)
                                {
-                                       user->WriteServ("271 %s %s %s %s",user->nick, user->nick,c->first.c_str(), DecompPattern(c->second).c_str());
+                                       user->WriteNumeric(271, "%s %s %s %s",user->nick, user->nick,c->first.c_str(), DecompPattern(c->second).c_str());
                                }
                        }
-                       user->WriteServ("272 %s :End of Silence List",user->nick);
+                       user->WriteNumeric(272, "%s :End of Silence List",user->nick);
 
                        return CMD_LOCALONLY;
                }
@@ -118,7 +118,7 @@ class CommandSilence : public Command
                                                if (listitem == mask && i->second == pattern)
                                                {
                                                        sl->erase(i);
-                                                       user->WriteServ("950 %s %s :Removed %s %s from silence list",user->nick, user->nick, mask.c_str(), DecompPattern(pattern).c_str());
+                                                       user->WriteNumeric(950, "%s %s :Removed %s %s from silence list",user->nick, user->nick, mask.c_str(), DecompPattern(pattern).c_str());
                                                        if (!sl->size())
                                                        {
                                                                delete sl;
@@ -128,7 +128,7 @@ class CommandSilence : public Command
                                                }
                                        }
                                }
-                               user->WriteServ("952 %s %s :%s %s does not exist on your silence list",user->nick, user->nick, mask.c_str(), DecompPattern(pattern).c_str());
+                               user->WriteNumeric(952, "%s %s :%s %s does not exist on your silence list",user->nick, user->nick, mask.c_str(), DecompPattern(pattern).c_str());
                        }
                        else if (action == '+')
                        {
@@ -143,7 +143,7 @@ class CommandSilence : public Command
                                }
                                if (sl->size() > maxsilence)
                                {
-                                       user->WriteServ("952 %s %s :Your silence list is full",user->nick, user->nick);
+                                       user->WriteNumeric(952, "%s %s :Your silence list is full",user->nick, user->nick);
                                        return CMD_FAILURE;
                                }
                                for (silencelist::iterator n = sl->begin(); n != sl->end();  n++)
@@ -151,7 +151,7 @@ class CommandSilence : public Command
                                        irc::string listitem = n->first.c_str();
                                        if (listitem == mask && n->second == pattern)
                                        {
-                                               user->WriteServ("952 %s %s :%s %s is already on your silence list",user->nick, user->nick, mask.c_str(), DecompPattern(pattern).c_str());
+                                               user->WriteNumeric(952, "%s %s :%s %s is already on your silence list",user->nick, user->nick, mask.c_str(), DecompPattern(pattern).c_str());
                                                return CMD_FAILURE;
                                        }
                                }
@@ -163,7 +163,7 @@ class CommandSilence : public Command
                                {
                                        sl->push_back(silenceset(mask,pattern));
                                }
-                               user->WriteServ("951 %s %s :Added %s %s to silence list",user->nick, user->nick, mask.c_str(), DecompPattern(pattern).c_str());
+                               user->WriteNumeric(951, "%s %s :Added %s %s to silence list",user->nick, user->nick, mask.c_str(), DecompPattern(pattern).c_str());
                                return CMD_SUCCESS;
                        }
                }
@@ -194,6 +194,7 @@ class CommandSilence : public Command
                                        p |= SILENCE_CNOTICE;
                                        break;
                                case 'a':
+                               case '*':
                                        p |= SILENCE_ALL;
                                        break;
                                case 'x':
@@ -253,10 +254,6 @@ class ModuleSilence : public Module
                        maxsilence = 32;
        }
 
-       void Implements(char* List)
-       {
-               List[I_OnRehash] = List[I_OnBuildExemptList] = List[I_OnUserQuit] = List[I_On005Numeric] = List[I_OnUserPreNotice] = List[I_OnUserPreMessage] = List[I_OnUserPreInvite] = 1;
-       }
 
        virtual void OnUserQuit(User* user, const std::string &reason, const std::string &oper_message)
        {
@@ -338,7 +335,7 @@ class ModuleSilence : public Module
                return PreText(user, dest, target_type, text, status, exempt_list, SILENCE_NOTICE);
        }
 
-       virtual int OnUserPreInvite(User* source,User* dest,Channel* channel)
+       virtual int OnUserPreInvite(User* source,User* dest,Channel* channel, time_t timeout)
        {
                return MatchPattern(dest, source, SILENCE_INVITE);
        }
@@ -364,7 +361,7 @@ class ModuleSilence : public Module
        
        virtual Version GetVersion()
        {
-               return Version(1, 1, 0, 1, VF_COMMON | VF_VENDOR, API_VERSION);
+               return Version(1, 2, 0, 1, VF_COMMON | VF_VENDOR, API_VERSION);
        }
 };