]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_restrictchans.cpp
Eventlist one item too short, makes this module not publish its 005 feature
[user/henk/code/inspircd.git] / src / modules / m_restrictchans.cpp
index 1f2416d4470b32ae82273f07ef686267d1508fcc..1838338bd66fca5d814382d2c7ae9465784644b1 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
@@ -12,9 +12,6 @@
  */
 
 #include "inspircd.h"
-#include "users.h"
-#include "channels.h"
-#include "modules.h"
 
 /* $ModDesc: Only opers may create new channels if this module is loaded */
 
@@ -35,7 +32,7 @@ class ModuleRestrictChans : public Module
                        irc::string channel = txt.c_str();
                        allowchans[channel] = 1;
                }
-               DELETE(MyConf);
+               delete MyConf;
        }
 
  public:
@@ -44,19 +41,17 @@ class ModuleRestrictChans : public Module
        {
                
                ReadConfig();
+               Implementation eventlist[] = { I_OnUserPreJoin, I_OnRehash };
+               ServerInstance->Modules->Attach(eventlist, this, 2);
        }
 
-       virtual void OnRehash(userrec* user, const std::string &parameter)
+       virtual void OnRehash(User* user, const std::string &parameter)
        {
                ReadConfig();
        }
 
-       void Implements(char* List)
-       {
-               List[I_OnUserPreJoin] = List[I_OnRehash] = 1;
-       }
        
-       virtual int OnUserPreJoin(userrec* user, chanrec* chan, const char* cname, std::string &privs)
+       virtual int OnUserPreJoin(User* user, Channel* chan, const char* cname, std::string &privs, const std::string &keygiven)
        {
                irc::string x = cname;
                // user is not an oper and its not in the allow list
@@ -65,7 +60,7 @@ class ModuleRestrictChans : public Module
                        // channel does not yet exist (record is null, about to be created IF we were to allow it)
                        if (!chan)
                        {
-                               user->WriteServ("530 %s %s :Only IRC operators may create new channels",user->nick,cname,cname);
+                               user->WriteNumeric(530, "%s %s :Only IRC operators may create new channels",user->nick,cname);
                                return 1;
                        }
                }
@@ -78,7 +73,7 @@ class ModuleRestrictChans : public Module
        
        virtual Version GetVersion()
        {
-               return Version(1,1,0,1,VF_VENDOR,API_VERSION);
+               return Version(1,2,0,1,VF_VENDOR,API_VERSION);
        }
 };