]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_ojoin.cpp
GnuTLS: Send SSL client certificate when requested
[user/henk/code/inspircd.git] / src / modules / m_ojoin.cpp
index 8c45c0d506592df4462d06751ea78e1a10cfa59d..b8c12f00a3b9ae07561d98c1cac5a6954481b245 100644 (file)
@@ -43,9 +43,9 @@ class CommandOjoin : public Command
 {
  public:
        bool active;
-       CommandOjoin (InspIRCd* Instance, Module* parent) : Command(Instance,parent,"OJOIN", "o", 1, false, 0)
+       CommandOjoin(Module* parent) : Command(parent,"OJOIN", 1)
        {
-               syntax = "<channel>";
+               flags_needed = 'o'; Penalty = 0; syntax = "<channel>";
                active = false;
                TRANSLATE3(TR_NICK, TR_TEXT, TR_END);
        }
@@ -67,16 +67,6 @@ class CommandOjoin : public Command
                {
                        ServerInstance->SNO->WriteGlobalSno('a', std::string(user->nick)+" used OJOIN to join "+channel->name);
 
-                       if (!NPrefix)
-                       {
-                               std::vector<std::string> modes;
-                               modes.push_back(parameters[0]);
-                               modes.push_back("+Y");
-                               modes.push_back(user->nick);
-                               ServerInstance->SendMode(modes, ServerInstance->FakeClient);
-                               ServerInstance->PI->SendMode(channel->name, ServerInstance->Modes->GetLastParseParams(), ServerInstance->Modes->GetLastParseTranslate());
-                       }
-
                        if (notice)
                        {
                                channel = ServerInstance->FindChan(parameters[0]);
@@ -105,9 +95,12 @@ class CommandOjoin : public Command
 class NetworkPrefix : public ModeHandler
 {
  public:
-       NetworkPrefix(InspIRCd* Instance, Module* parent)
-               : ModeHandler(Instance, parent, 'Y', 1, 1, true, MODETYPE_CHANNEL, false, NPrefix, 0, TR_NICK)
+       NetworkPrefix(Module* parent) : ModeHandler(parent, 'Y', PARAM_ALWAYS, MODETYPE_CHANNEL)
        {
+               list = true;
+               prefix = NPrefix;
+               levelrequired = 0xFFFFFFFF;
+               m_paramtype = TR_NICK;
        }
 
        ModePair ModeSet(User* source, User* dest, Channel* channel, const std::string &parameter)
@@ -243,13 +236,13 @@ class ModuleOjoin : public Module
  public:
 
        ModuleOjoin(InspIRCd* Me)
-               : Module(Me), np(NULL), mycommand(Me, this)
+               : Module(Me), np(NULL), mycommand(this)
        {
                /* Load config stuff */
                OnRehash(NULL);
 
                /* Initialise module variables */
-               np = new NetworkPrefix(Me, this);
+               np = new NetworkPrefix(this);
 
                if (!ServerInstance->Modes->AddMode(np))
                {