X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_ojoin.cpp;h=d5f7b9443f8c77ce93cf773e1b1562ad1ef8cbe4;hb=e80a1296a096ff2c495b3cd2a3913d5e5f6ec450;hp=63be08a0fb562e257092cf2ee75beea048fffc94;hpb=1524caf2f799cff54c2de330c9670a0b761ba3d8;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_ojoin.cpp b/src/modules/m_ojoin.cpp index 63be08a0f..d5f7b9443 100644 --- a/src/modules/m_ojoin.cpp +++ b/src/modules/m_ojoin.cpp @@ -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 = ""; + flags_needed = 'o'; Penalty = 0; syntax = ""; active = false; TRANSLATE3(TR_NICK, TR_TEXT, TR_END); } @@ -60,27 +60,17 @@ class CommandOjoin : public Command } active = true; - Channel* channel = Channel::JoinUser(ServerInstance, user, parameters[0].c_str(), false, "", false); + Channel* channel = Channel::JoinUser(user, parameters[0].c_str(), false, "", false); active = false; if (channel) { ServerInstance->SNO->WriteGlobalSno('a', std::string(user->nick)+" used OJOIN to join "+channel->name); - if (!NPrefix) - { - std::vector 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]); - channel->WriteChannelWithServ(ServerInstance->Config->ServerName, "NOTICE %s :%s joined on official network business.", + channel->WriteChannelWithServ(ServerInstance->Config->ServerName.c_str(), "NOTICE %s :%s joined on official network business.", parameters[0].c_str(), user->nick.c_str()); ServerInstance->PI->SendChannelNotice(channel, 0, std::string(user->nick) + " joined on official network business."); } @@ -105,7 +95,7 @@ class CommandOjoin : public Command class NetworkPrefix : public ModeHandler { public: - NetworkPrefix(Module* parent) : ModeHandler(parent, 'Y', PARAM_ALWAYS, MODETYPE_CHANNEL) + NetworkPrefix(Module* parent) : ModeHandler(parent, "official-join", 'Y', PARAM_ALWAYS, MODETYPE_CHANNEL) { list = true; prefix = NPrefix; @@ -143,7 +133,7 @@ class NetworkPrefix : public ModeHandler const UserMembList* cl = channel->GetUsers(); std::vector mode_junk; mode_junk.push_back(channel->name); - irc::modestacker modestack(ServerInstance, false); + irc::modestacker modestack(false); std::deque stackresult; for (UserMembCIter i = cl->begin(); i != cl->end(); i++) @@ -222,7 +212,6 @@ class NetworkPrefix : public ModeHandler ((source == theuser) && (!adding)) || (ServerInstance->ULine(source->nick.c_str())) || (ServerInstance->ULine(source->server)) || - (!*source->server) || (!IS_LOCAL(source)) ) { @@ -245,8 +234,8 @@ class ModuleOjoin : public Module public: - ModuleOjoin(InspIRCd* Me) - : Module(Me), np(NULL), mycommand(Me, this) + ModuleOjoin() + : np(NULL), mycommand(this) { /* Load config stuff */ OnRehash(NULL); @@ -281,7 +270,7 @@ class ModuleOjoin : public Module void OnRehash(User* user) { - ConfigReader Conf(ServerInstance); + ConfigReader Conf; if (!np) { @@ -299,7 +288,7 @@ class ModuleOjoin : public Module ModResult OnUserPreKick(User* source, Membership* memb, const std::string &reason) { - if ((ServerInstance->ULine(source->nick.c_str())) || (ServerInstance->ULine(source->server)) || (!*source->server)) + if ((ServerInstance->ULine(source->nick.c_str())) || ServerInstance->ULine(source->server)) return MOD_RES_PASSTHRU; // Don't do anything if they're not +Y @@ -316,7 +305,6 @@ class ModuleOjoin : public Module ~ModuleOjoin() { - ServerInstance->Modes->DelMode(np); delete np; }