]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_restrictbanned.cpp
Added ability to send and receive a challenge, dont do anything with it yet
[user/henk/code/inspircd.git] / src / modules / m_restrictbanned.cpp
index cdd80e74195a3338047afc39192d4e2f67382e8e..b891d5659cd5ebf80df31d576796119e18f5123f 100644 (file)
@@ -2,20 +2,15 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev.
- *                       E-mail:
- *                <brain@chatspike.net>
- *               <Craig@chatspike.net>
- *     
- * Written by Craig Edwards, Craig McLure, and others.
+ *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
+ * See: http://www.inspircd.org/wiki/index.php/Credits
+ *
  * This program is free but copyrighted software; see
  *            the file COPYING for details.
  *
  * ---------------------------------------------------
  */
 
-using namespace std;
-
 #include "users.h"
 #include "channels.h"
 #include "modules.h"
@@ -52,7 +47,7 @@ class ModuleRestrictBanned : public Module
                if (!IS_LOCAL(user))
                        return 0;
 
-               if (channel->IsBanned(user) && channel->GetStatus(user) < STATUS_VOICE)
+               if (channel->GetStatus(user) < STATUS_VOICE && channel->IsBanned(user))
                {
                        /* banned, boned. drop the message. */
                        user->WriteServ("NOTICE "+std::string(user->nick)+" :*** You may not " + action + ", as you are banned on channel " + channel->name);
@@ -69,15 +64,10 @@ class ModuleRestrictBanned : public Module
                        return 0;
 
                /* bit of a special case. */
-               for (std::vector<ucrec*>::iterator i = user->chans.begin(); i != user->chans.end(); i++)
+               for (UCListIter i = user->chans.begin(); i != user->chans.end(); i++)
                {
-                       if (((ucrec*)(*i))->channel != NULL)
-                       {
-                               chanrec *channel = ((ucrec*)(*i))->channel;
-
-                               if (CheckRestricted(user, channel, "change your nickname") == 1)
-                                       return 1;
-                       }
+                       if (CheckRestricted(user, i->first, "change your nickname") == 1)
+                               return 1;
                }
 
                return 0;
@@ -88,12 +78,12 @@ class ModuleRestrictBanned : public Module
                return CheckRestricted(user, channel, "change the topic");
        }
        
-       virtual int OnUserPreMessage(userrec* user,void* dest,int target_type, std::string &text, char status)
+       virtual int OnUserPreMessage(userrec* user,void* dest,int target_type, std::string &text, char status, CUList &exempt_list)
        {
-               return OnUserPreNotice(user,dest,target_type,text,status);
+               return OnUserPreNotice(user,dest,target_type,text,status,exempt_list);
        }
 
-       virtual int OnUserPreNotice(userrec* user,void* dest,int target_type, std::string &text, char status)
+       virtual int OnUserPreNotice(userrec* user,void* dest,int target_type, std::string &text, char status, CUList &exempt_list)
        {
                if (target_type == TYPE_CHANNEL)
                {