From e66063e6304538d34c40460ca0aa2be5ddb6bdec Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 5 Aug 2011 05:35:31 -0400 Subject: Rewrote the example configurations and split them up into seperate files for each pseudo client. Also reorganized how the modules are stored, and made most of the old "extra" modules "core" --- modules/extra/cs_appendtopic.cpp | 117 ----- modules/extra/cs_enforce.cpp | 215 -------- modules/extra/cs_entrymsg.cpp | 224 --------- modules/extra/cs_set_misc.cpp | 110 ---- modules/extra/cs_sync.cpp | 63 --- modules/extra/cs_tban.cpp | 116 ----- modules/extra/hs_request.cpp | 424 ---------------- modules/extra/language/CMakeLists.txt | 38 -- modules/extra/language/cs_appendtopic.de_DE.po | 37 -- modules/extra/language/cs_appendtopic.it_IT.po | 39 -- modules/extra/language/cs_appendtopic.nl_NL.po | 38 -- modules/extra/language/cs_appendtopic.pt_PT.po | 36 -- modules/extra/language/cs_appendtopic.ru_RU.po | 41 -- modules/extra/language/cs_enforce.de_DE.po | 86 ---- modules/extra/language/cs_enforce.it_IT.po | 86 ---- modules/extra/language/cs_enforce.nl_NL.po | 89 ---- modules/extra/language/cs_enforce.pt_PT.po | 88 ---- modules/extra/language/cs_enforce.ru_RU.po | 90 ---- modules/extra/language/cs_tban.de_DE.po | 40 -- modules/extra/language/cs_tban.it_IT.po | 41 -- modules/extra/language/cs_tban.nl_NL.po | 41 -- modules/extra/language/cs_tban.pt_PT.po | 40 -- modules/extra/language/cs_tban.ru_RU.po | 42 -- modules/extra/language/hs_request.it_IT.po | 149 ------ modules/extra/language/hs_request.nl_NL.po | 150 ------ modules/extra/language/hs_request.pt_PT.po | 148 ------ modules/extra/language/hs_request.ru_RU.po | 151 ------ modules/extra/language/ns_maxemail.de_DE.po | 28 -- modules/extra/language/ns_maxemail.it_IT.po | 32 -- modules/extra/language/ns_maxemail.nl_NL.po | 28 -- modules/extra/language/ns_maxemail.pt_PT.po | 28 -- modules/extra/language/ns_maxemail.ru_RU.po | 30 -- modules/extra/language/update.sh | 14 - modules/extra/ns_set_misc.cpp | 126 ----- modules/extra/os_defcon.cpp | 663 ------------------------- 35 files changed, 3688 deletions(-) delete mode 100644 modules/extra/cs_appendtopic.cpp delete mode 100644 modules/extra/cs_enforce.cpp delete mode 100644 modules/extra/cs_entrymsg.cpp delete mode 100644 modules/extra/cs_set_misc.cpp delete mode 100644 modules/extra/cs_sync.cpp delete mode 100644 modules/extra/cs_tban.cpp delete mode 100644 modules/extra/hs_request.cpp delete mode 100644 modules/extra/language/CMakeLists.txt delete mode 100644 modules/extra/language/cs_appendtopic.de_DE.po delete mode 100644 modules/extra/language/cs_appendtopic.it_IT.po delete mode 100644 modules/extra/language/cs_appendtopic.nl_NL.po delete mode 100644 modules/extra/language/cs_appendtopic.pt_PT.po delete mode 100644 modules/extra/language/cs_appendtopic.ru_RU.po delete mode 100644 modules/extra/language/cs_enforce.de_DE.po delete mode 100644 modules/extra/language/cs_enforce.it_IT.po delete mode 100644 modules/extra/language/cs_enforce.nl_NL.po delete mode 100644 modules/extra/language/cs_enforce.pt_PT.po delete mode 100644 modules/extra/language/cs_enforce.ru_RU.po delete mode 100644 modules/extra/language/cs_tban.de_DE.po delete mode 100644 modules/extra/language/cs_tban.it_IT.po delete mode 100644 modules/extra/language/cs_tban.nl_NL.po delete mode 100644 modules/extra/language/cs_tban.pt_PT.po delete mode 100644 modules/extra/language/cs_tban.ru_RU.po delete mode 100644 modules/extra/language/hs_request.it_IT.po delete mode 100644 modules/extra/language/hs_request.nl_NL.po delete mode 100644 modules/extra/language/hs_request.pt_PT.po delete mode 100644 modules/extra/language/hs_request.ru_RU.po delete mode 100644 modules/extra/language/ns_maxemail.de_DE.po delete mode 100644 modules/extra/language/ns_maxemail.it_IT.po delete mode 100644 modules/extra/language/ns_maxemail.nl_NL.po delete mode 100644 modules/extra/language/ns_maxemail.pt_PT.po delete mode 100644 modules/extra/language/ns_maxemail.ru_RU.po delete mode 100755 modules/extra/language/update.sh delete mode 100644 modules/extra/ns_set_misc.cpp delete mode 100644 modules/extra/os_defcon.cpp (limited to 'modules/extra') diff --git a/modules/extra/cs_appendtopic.cpp b/modules/extra/cs_appendtopic.cpp deleted file mode 100644 index c9af50613..000000000 --- a/modules/extra/cs_appendtopic.cpp +++ /dev/null @@ -1,117 +0,0 @@ -/* cs_appendtopic.c - Add text to a channels topic - * - * (C) 2003-2011 Anope Team - * Contact us at team@anope.org - * - * Based on the original module by SGR - * Included in the Anope module pack since Anope 1.7.9 - * Anope Coder: GeniusDex - * - * Please read COPYING and README for further details. - * - * Send bug reports to the Anope Coder instead of the module - * author, because any changes since the inclusion into anope - * are not supported by the original author. - */ - -/*************************************************************************/ - -#include "module.h" - -/* ------------------------------------------------------------ - * Name: cs_appendtopic - * Author: SGR - * Date: 31/08/2003 - * ------------------------------------------------------------ - * - * This module has no configurable options. For information on - * this module, load it and refer to /ChanServ APPENDTOPIC HELP - * - * Thanks to dengel, Rob and Certus for all there support. - * Especially Rob, who always manages to show me where I have - * not allocated any memory. Even if it takes a few weeks of - * pestering to get him to look at it. - * - * ------------------------------------------------------------ - */ - -/* ---------------------------------------------------------------------- */ -/* DO NOT EDIT BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING */ -/* ---------------------------------------------------------------------- */ - -class CommandCSAppendTopic : public Command -{ - public: - CommandCSAppendTopic(Module *creator) : Command(creator, "chanserv/appendtopic", 2, 2) - { - this->SetDesc(_("Add text to a channels topic")); - } - - void Execute(CommandSource &source, const std::vector ¶ms) - { - const Anope::string &newtopic = params[1]; - - User *u = source.u; - Channel *c = findchan(params[0]);; - - if (!c) - source.Reply(CHAN_X_NOT_IN_USE, params[0].c_str()); - else if (!c->ci) - source.Reply(CHAN_X_NOT_REGISTERED, c->name.c_str()); - else if (!c->ci->HasPriv(u, CA_TOPIC)) - source.Reply(ACCESS_DENIED); - else - { - Anope::string topic; - if (!c->ci->last_topic.empty()) - { - topic = c->ci->last_topic + " " + newtopic; - c->ci->last_topic.clear(); - } - else - topic = newtopic; - - bool has_topiclock = c->ci->HasFlag(CI_TOPICLOCK); - c->ci->UnsetFlag(CI_TOPICLOCK); - c->ChangeTopic(u->nick, topic, Anope::CurTime); - if (has_topiclock) - c->ci->SetFlag(CI_TOPICLOCK); - - bool override = c->ci->HasPriv(u, CA_TOPIC); - Log(override ? LOG_OVERRIDE : LOG_COMMAND, u, this, c->ci) << "changed topic to " << topic; - } - return; - } - - bool OnHelp(CommandSource &source, const Anope::string &subcommand) - { - source.Reply(_("Syntax: APPENDTOPIC channel text")); - source.Reply(" "); - source.Reply(("This command allows users to append text to a currently set\n" - "channel topic. When TOPICLOCK is on, the topic is updated and\n" - "the new, updated topic is locked.")); - - return true; - } - - void OnSyntaxError(CommandSource &source, const Anope::string &subcommand) - { - source.Reply(_("Syntax: APPENDTOPIC channel text")); - } -}; - -class CSAppendTopic : public Module -{ - CommandCSAppendTopic commandcsappendtopic; - - public: - CSAppendTopic(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, SUPPORTED), - commandcsappendtopic(this) - { - this->SetAuthor("SGR"); - - ModuleManager::RegisterService(&commandcsappendtopic); - } -}; - -MODULE_INIT(CSAppendTopic) diff --git a/modules/extra/cs_enforce.cpp b/modules/extra/cs_enforce.cpp deleted file mode 100644 index 26885c9b0..000000000 --- a/modules/extra/cs_enforce.cpp +++ /dev/null @@ -1,215 +0,0 @@ -/* cs_enforce - Add a /cs ENFORCE command to enforce various set - * options and channelmodes on a channel. - * - * (C) 2003-2011 Anope Team - * Contact us at team@anope.org - * - * Included in the Anope module pack since Anope 1.7.9 - * Anope Coder: GeniusDex - * - * Please read COPYING and README for further details. - * - * Send any bug reports to the Anope Coder, as he will be able - * to deal with it best. - */ - -#include "module.h" - -class CommandCSEnforce : public Command -{ - private: - void DoSet(Channel *c) - { - ChannelInfo *ci; - - if (!(ci = c->ci)) - return; - - if (ci->HasFlag(CI_SECUREOPS)) - this->DoSecureOps(c); - if (ci->HasFlag(CI_RESTRICTED)) - this->DoRestricted(c); - } - - void DoModes(Channel *c) - { - if (c->HasMode(CMODE_REGISTEREDONLY)) - this->DoCModeR(c); - } - - void DoSecureOps(Channel *c) - { - ChannelInfo *ci; - bool hadsecureops = false; - - if (!(ci = c->ci)) - return; - - /* Dirty hack to allow chan_set_correct_modes to work ok. - * We pretend like SECUREOPS is on so it doesn't ignore that - * part of the code. This way we can enforce SECUREOPS even - * if it's off. - */ - if (!ci->HasFlag(CI_SECUREOPS)) - { - ci->SetFlag(CI_SECUREOPS); - hadsecureops = true; - } - - for (CUserList::iterator it = c->users.begin(), it_end = c->users.end(); it != it_end; ++it) - { - UserContainer *uc = *it; - - chan_set_correct_modes(uc->user, c, 0); - } - - if (hadsecureops) - ci->UnsetFlag(CI_SECUREOPS); - } - - void DoRestricted(Channel *c) - { - ChannelInfo *ci = c->ci; - if (ci == NULL) - return; - - for (CUserList::iterator it = c->users.begin(), it_end = c->users.end(); it != it_end; ) - { - UserContainer *uc = *it++; - User *user = uc->user; - - if (ci->AccessFor(user).empty()) - { - Anope::string mask; - get_idealban(ci, user, mask); - Anope::string reason = translate(user, CHAN_NOT_ALLOWED_TO_JOIN); - c->SetMode(NULL, CMODE_BAN, mask); - c->Kick(NULL, user, "%s", reason.c_str()); - } - } - } - - void DoCModeR(Channel *c) - { - ChannelInfo *ci; - Anope::string mask; - - if (!(ci = c->ci)) - return; - - for (CUserList::iterator it = c->users.begin(), it_end = c->users.end(); it != it_end; ) - { - UserContainer *uc = *it++; - - if (!uc->user->IsIdentified()) - { - get_idealban(ci, uc->user, mask); - Anope::string reason = translate(uc->user, CHAN_NOT_ALLOWED_TO_JOIN); - if (!c->HasMode(CMODE_REGISTEREDONLY)) - c->SetMode(NULL, CMODE_BAN, mask); - c->Kick(NULL, uc->user, "%s", reason.c_str()); - } - } - } - public: - CommandCSEnforce(Module *creator) : Command(creator, "chanserv/enforce", 1, 2) - { - this->SetDesc(_("Enforce various channel modes and set options")); - this->SetSyntax(_("\037channel\037 [\037what\037]")); - } - - void Execute(CommandSource &source, const std::vector ¶ms) - { - const Anope::string &what = params.size() > 1 ? params[1] : ""; - - User *u = source.u; - Channel *c = findchan(params[0]); - - if (!c) - source.Reply(CHAN_X_NOT_IN_USE, params[0].c_str()); - else if (!c->ci) - source.Reply(CHAN_X_NOT_REGISTERED, c->name.c_str()); - else if (!c->ci->HasPriv(u, CA_AKICK)) - source.Reply(ACCESS_DENIED); - else - { - if (what.empty() || what.equals_ci("SET")) - { - this->DoSet(c); - source.Reply(_("Enforced %s"), !what.empty() ? what.c_str() : "SET"); - } - else if (what.equals_ci("MODES")) - { - this->DoModes(c); - source.Reply(_("Enforced %s"), what.c_str()); - } - else if (what.equals_ci("SECUREOPS")) - { - this->DoSecureOps(c); - source.Reply(_("Enforced %s"), what.c_str()); - } - else if (what.equals_ci("RESTRICTED")) - { - this->DoRestricted(c); - source.Reply(_("Enforced %s"), what.c_str()); - } - else if (what.equals_ci("+R")) - { - this->DoCModeR(c); - source.Reply(_("Enforced %s"), what.c_str()); - } - else - this->OnSyntaxError(source, ""); - } - - return; - } - - bool OnHelp(CommandSource &source, const Anope::string &subcommand) - { - this->SendSyntax(source); - source.Reply(" "); - source.Reply(_("Enforce various channel modes and set options. The \037channel\037\n" - "option indicates what channel to enforce the modes and options\n" - "on. The \037what\037 option indicates what modes and options to\n" - "enforce, and can be any of SET, SECUREOPS, RESTRICTED, MODES,\n" - "or +R. When left out, it defaults to SET.\n" - " \n" - "If \037what\037 is SET, it will enforce SECUREOPS and RESTRICTED\n" - "on the users currently in the channel, if they are set. Give\n" - "SECUREOPS to enforce the SECUREOPS option, even if it is not\n" - "enabled. Use RESTRICTED to enfore the RESTRICTED option, also\n" - "if it's not enabled.")); - source.Reply(" "); - if (ModeManager::FindChannelModeByName(CMODE_REGISTERED)) - source.Reply(_("If \037what\037 is MODES, it will enforce channelmode +R if it is\n" - "set. If +R is specified for \037what\037, the +R channelmode will\n" - "also be enforced, but even if it is not set. If it is not set,\n" - "users will be banned to ensure they don't just rejoin.")); - else - source.Reply(_("If \037what\037 is MODES, nothing will be enforced, since it would\n" - "enforce modes that the current ircd does not support. If +R is\n" - "specified for \037what\037, an equalivant of channelmode +R on\n" - "other ircds will be enforced. All users that are in the channel\n" - "but have not identified for their nickname will be kicked and\n" - "banned from the channel.")); - - return true; - } -}; - -class CSEnforce : public Module -{ - CommandCSEnforce commandcsenforce; - - public: - CSEnforce(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, SUPPORTED), - commandcsenforce(this) - { - this->SetAuthor("Anope"); - - ModuleManager::RegisterService(&commandcsenforce); - } -}; - -MODULE_INIT(CSEnforce) diff --git a/modules/extra/cs_entrymsg.cpp b/modules/extra/cs_entrymsg.cpp deleted file mode 100644 index 3aa8ed862..000000000 --- a/modules/extra/cs_entrymsg.cpp +++ /dev/null @@ -1,224 +0,0 @@ -/* ChanServ core functions - * - * (C) 2003-2011 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - * - * Based on the original code of Epona by Lara. - * Based on the original code of Services by Andy Church. - */ - -/*************************************************************************/ - -#include "module.h" - -struct EntryMsg -{ - static unsigned MaxEntries; - - EntryMsg(const Anope::string &cname, const Anope::string &cmessage, time_t ct = Anope::CurTime) - { - this->creator = cname; - this->message = cmessage; - this->when = ct; - } - - Anope::string creator; - Anope::string message; - time_t when; -}; -unsigned EntryMsg::MaxEntries = 0; - -class CommandEntryMessage : public Command -{ - private: - void DoList(CommandSource &source, ChannelInfo *ci) - { - std::vector messages; - if (ci->GetExtRegular("cs_entrymsg", messages)) - { - source.Reply(_("Entry message list for \2%s\2:"), ci->name.c_str()); - for (unsigned i = 0; i < messages.size(); ++i) - source.Reply(CHAN_LIST_ENTRY, i + 1, messages[i].message.c_str(), messages[i].creator.c_str(), do_strftime(messages[i].when).c_str()); - source.Reply(_("End of entry message list.")); - } - else - source.Reply(_("Entry message list for \2%s\2 is empty."), ci->name.c_str()); - } - - void DoAdd(CommandSource &source, ChannelInfo *ci, const Anope::string &message) - { - std::vector messages; - ci->GetExtRegular("cs_entrymsg", messages); - - if (EntryMsg::MaxEntries && messages.size() >= EntryMsg::MaxEntries) - source.Reply(_("The entry message list for \2%s\2 is full."), ci->name.c_str()); - else - { - messages.push_back(EntryMsg(source.u->nick, message)); - ci->Extend("cs_entrymsg", new ExtensibleItemRegular >(messages)); - source.Reply(_("Entry message added to \2%s\2"), ci->name.c_str()); - } - } - - void DoDel(CommandSource &source, ChannelInfo *ci, const Anope::string &message) - { - std::vector messages; - if (!message.is_pos_number_only()) - source.Reply(("Entry message \002%s\002 not found on channel \002%s\002."), message.c_str(), ci->name.c_str()); - else if (ci->GetExtRegular("cs_entrymsg", messages)) - { - try - { - unsigned i = convertTo(message); - if (i > 0 && i <= messages.size()) - { - messages.erase(messages.begin() + i - 1); - if (!messages.empty()) - ci->Extend("cs_entrymsg", new ExtensibleItemRegular >(messages)); - else - ci->Shrink("cs_entrymsg"); - source.Reply(_("Entry message \2%i\2 for \2%s\2 deleted."), i, ci->name.c_str()); - } - else - throw ConvertException(); - } - catch (const ConvertException &) - { - source.Reply(_("Entry message \2%s\2 not found on channel \2%s\2."), message.c_str(), ci->name.c_str()); - } - } - else - source.Reply(_("Entry message list for \2%s\2 is empty."), ci->name.c_str()); - } - - void DoClear(CommandSource &source, ChannelInfo *ci) - { - ci->Shrink("cs_entrymsg"); - source.Reply(_("Entry messages for \2%s\2 have been cleared."), ci->name.c_str()); - } - - public: - CommandEntryMessage(Module *creator) : Command(creator, "chanserv/entrymsg", 2, 3) - { - this->SetDesc(_("Manage the channel's entry messages")); - this->SetSyntax(_("\037channel\037 {ADD|DEL|LIST|CLEAR} [\037message\037|\037num\037]")); - } - - void Execute(CommandSource &source, const std::vector ¶ms) - { - User *u = source.u; - - ChannelInfo *ci = cs_findchan(params[0]); - if (ci == NULL) - { - source.Reply(CHAN_X_NOT_REGISTERED, params[0].c_str()); - return; - } - - if (IsFounder(u, ci) || u->HasCommand("chanserv/entrymsg")) - { - bool success = true; - if (params[1].equals_ci("LIST")) - this->DoList(source, ci); - else if (params[1].equals_ci("CLEAR")) - this->DoClear(source, ci); - else if (params.size() < 3) - { - success = false; - this->OnSyntaxError(source, ""); - } - else if (params[1].equals_ci("ADD")) - this->DoAdd(source, ci, params[2]); - else if (params[1].equals_ci("DEL")) - this->DoDel(source, ci, params[2]); - else - { - success = false; - this->OnSyntaxError(source, ""); - } - if (success) - Log(IsFounder(u, ci) ? LOG_COMMAND : LOG_OVERRIDE, u, this, ci) << params[1]; - } - else - source.Reply(ACCESS_DENIED); - - return; - } - - bool OnHelp(CommandSource &source, const Anope::string &subcommand) - { - this->SendSyntax(source); - source.Reply(" "); - source.Reply(_("Controls what messages will be sent to users when they join the channel.")); - return true; - } -}; - -class CSEntryMessage : public Module -{ - CommandEntryMessage commandentrymsg; - - public: - CSEntryMessage(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, SUPPORTED), commandentrymsg(this) - { - this->SetAuthor("Anope"); - - Implementation i[] = { I_OnJoinChannel, I_OnReload, I_OnDatabaseReadMetadata, I_OnDatabaseWriteMetadata }; - ModuleManager::Attach(i, this, sizeof(i) / sizeof(Implementation)); - - ModuleManager::RegisterService(&commandentrymsg); - - this->OnReload(); - } - - void OnJoinChannel(User *u, Channel *c) - { - if (u && c && c->ci && u->server->IsSynced()) - { - std::vector messages; - - if (c->ci->GetExtRegular("cs_entrymsg", messages)) - for (unsigned i = 0; i < messages.size(); ++i) - u->SendMessage(c->ci->WhoSends(), "[%s] %s", c->ci->name.c_str(), messages[i].message.c_str()); - } - } - - void OnReload() - { - ConfigReader config; - EntryMsg::MaxEntries = config.ReadInteger("cs_entrymsg", "maxentries", "5", 0, true); - } - - EventReturn OnDatabaseReadMetadata(ChannelInfo *ci, const Anope::string &key, const std::vector ¶ms) - { - if (key.find("CS_ENTRYMSG_") == 0 && params.size() > 2) - { - Anope::string creator = params[0]; - time_t t = params[1].is_pos_number_only() ? convertTo(params[1]) : Anope::CurTime; - Anope::string message = params[2]; - for (unsigned j = 3; j < params.size(); ++j) - message += " " + params[j]; - - std::vector messages; - ci->GetExtRegular("cs_entrymsg", messages); - messages.push_back(EntryMsg(creator, message, t)); - ci->Extend("cs_entrymsg", new ExtensibleItemRegular >(messages)); - - return EVENT_STOP; - } - - return EVENT_CONTINUE; - } - - void OnDatabaseWriteMetadata(void (*WriteMetadata)(const Anope::string &, const Anope::string &), ChannelInfo *ci) - { - std::vector messages; - if (ci->GetExtRegular("cs_entrymsg", messages)) - for (unsigned i = 0; i < messages.size(); ++i) - WriteMetadata("CS_ENTRYMSG_" + stringify(i), messages[i].creator + " " + stringify(messages[i].when) + " " + messages[i].message); - } -}; - -MODULE_INIT(CSEntryMessage) diff --git a/modules/extra/cs_set_misc.cpp b/modules/extra/cs_set_misc.cpp deleted file mode 100644 index 8f145ab88..000000000 --- a/modules/extra/cs_set_misc.cpp +++ /dev/null @@ -1,110 +0,0 @@ -/* - * (C) 2003-2011 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - * - * Based on the original code of Epona by Lara. - * Based on the original code of Services by Andy Church. - */ - -/*************************************************************************/ - -#include "module.h" - -class CommandCSSetMisc : public Command -{ - public: - CommandCSSetMisc(Module *creator, const Anope::string &cname = "chanserv/set/misc") : Command(creator, cname, 1, 2) - { - this->SetSyntax(_("\037channel\037 \037parameters\037")); - } - - void Execute(CommandSource &source, const std::vector ¶ms) - { - ChannelInfo *ci = cs_findchan(params[0]); - if (ci == NULL) - { - source.Reply(CHAN_X_NOT_REGISTERED, params[0].c_str()); - return; - } - - ci->Shrink("cs_set_misc:" + source.command.replace_all_cs(" ", "_")); - if (params.size() > 1) - { - ci->Extend("cs_set_misc:" + source.command.replace_all_cs(" ", "_"), new ExtensibleItemRegular(params[1])); - source.Reply(CHAN_SETTING_CHANGED, source.command.c_str(), ci->name.c_str(), params[1].c_str()); - } - else - source.Reply(CHAN_SETTING_UNSET, source.command.c_str(), ci->name.c_str()); - } -}; - -class CommandCSSASetMisc : public CommandCSSetMisc -{ - public: - CommandCSSASetMisc(Module *creator) : CommandCSSetMisc(creator, "chanserv/saset/misc") - { - } -}; - -class CSSetMisc : public Module -{ - CommandCSSetMisc commandcssetmisc; - CommandCSSASetMisc commandcssasetmisc; - - public: - CSSetMisc(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, SUPPORTED), - commandcssetmisc(this), commandcssasetmisc(this) - { - this->SetAuthor("Anope"); - - Implementation i[] = { I_OnChanInfo, I_OnDatabaseWriteMetadata, I_OnDatabaseReadMetadata }; - ModuleManager::Attach(i, this, sizeof(i) / sizeof(Implementation)); - - ModuleManager::RegisterService(&this->commandcssetmisc); - ModuleManager::RegisterService(&this->commandcssasetmisc); - } - - void OnChanInfo(CommandSource &source, ChannelInfo *ci, bool ShowHidden) - { - std::deque list; - ci->GetExtList(list); - - for (unsigned i = 0; i < list.size(); ++i) - { - if (list[i].find("cs_set_misc:") != 0) - continue; - - Anope::string value; - if (ci->GetExtRegular(list[i], value)) - source.Reply(" %s: %s", list[i].substr(12).replace_all_cs("_", " ").c_str(), value.c_str()); - } - } - - void OnDatabaseWriteMetadata(void (*WriteMetadata)(const Anope::string &, const Anope::string &), ChannelInfo *ci) - { - std::deque list; - ci->GetExtList(list); - - for (unsigned i = 0; i < list.size(); ++i) - { - if (list[i].find("cs_set_misc:") != 0) - continue; - - Anope::string value; - if (ci->GetExtRegular(list[i], value)) - WriteMetadata(list[i], ":" + value); - } - } - - EventReturn OnDatabaseReadMetadata(ChannelInfo *ci, const Anope::string &key, const std::vector ¶ms) - { - if (key.find("cs_set_misc:") == 0) - ci->Extend(key, new ExtensibleItemRegular(params[0])); - - return EVENT_CONTINUE; - } -}; - -MODULE_INIT(CSSetMisc) diff --git a/modules/extra/cs_sync.cpp b/modules/extra/cs_sync.cpp deleted file mode 100644 index 2937cc4fc..000000000 --- a/modules/extra/cs_sync.cpp +++ /dev/null @@ -1,63 +0,0 @@ -/* - * - * (C) 2003-2011 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - * - * Based on the original code of Epona by Lara. - * Based on the original code of Services by Andy Church. - */ - -#include "module.h" - -class CommandCSSync : public Command -{ - public: - CommandCSSync(Module *creator) : Command(creator, "chanserv/sync", 1, 1) - { - this->SetDesc(_("Sync users channel modes")); - this->SetSyntax(_("\037channel\037")); - } - - void Execute(CommandSource &source, const std::vector ¶ms) - { - ChannelInfo *ci = cs_findchan(params[0]); - - if (ci == NULL) - source.Reply(CHAN_X_NOT_REGISTERED, params[0].c_str()); - else if (ci->c == NULL) - source.Reply(CHAN_X_NOT_IN_USE, params[0].c_str()); - else - { - for (CUserList::iterator it = ci->c->users.begin(), it_end = ci->c->users.end(); it != it_end; ++it) - chan_set_correct_modes((*it)->user, ci->c, 1); - - source.Reply(_("All user modes on \2%s\2 have been synced."), ci->name.c_str()); - } - } - - bool OnHelp(CommandSource &source, const Anope::string ¶ms) - { - this->SendSyntax(source); - source.Reply(" "); - source.Reply(_("Syncs all modes set on users on the channel with the modes\n" - "they should have based on their access.")); - return true; - } -}; - -class CSSync : public Module -{ - CommandCSSync commandcssync; - public: - CSSync(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, SUPPORTED), - commandcssync(this) - { - this->SetAuthor("Anope"); - - ModuleManager::RegisterService(&commandcssync); - } -}; - -MODULE_INIT(CSSync) diff --git a/modules/extra/cs_tban.cpp b/modules/extra/cs_tban.cpp deleted file mode 100644 index 404279bef..000000000 --- a/modules/extra/cs_tban.cpp +++ /dev/null @@ -1,116 +0,0 @@ -/* cs_tban.c - Bans the user for a given length of time - * - * (C) 2003-2011 Anope Team - * Contact us at team@anope.org - * - * Based on the original module by Rob - * Included in the Anope module pack since Anope 1.7.8 - * Anope Coder: Rob - * - * Please read COPYING and README for further details. - * - * Send bug reports to the Anope Coder instead of the module - * author, because any changes since the inclusion into anope - * are not supported by the original author. - */ -/*************************************************************************/ - -#include "module.h" - -static Module *me; - -class TempBan : public CallBack -{ - private: - dynamic_reference chan; - Anope::string mask; - - public: - TempBan(time_t seconds, Channel *c, const Anope::string &banmask) : CallBack(me, seconds), chan(c), mask(banmask) { } - - void Tick(time_t ctime) - { - if (chan && chan->ci) - chan->RemoveMode(NULL, CMODE_BAN, mask); - } -}; - -static bool CanBanUser(CommandSource &source, Channel *c, User *u2) -{ - User *u = source.u; - ChannelInfo *ci = c->ci; - bool ok = false; - if (!ci->HasPriv(u, CA_BAN)) - source.Reply(ACCESS_DENIED); - else if (matches_list(c, u2, CMODE_EXCEPT)) - source.Reply(CHAN_EXCEPTED, u2->nick.c_str(), ci->name.c_str()); - else if (u2->IsProtected()) - source.Reply(ACCESS_DENIED); - else - ok = true; - - return ok; -} - -class CommandCSTBan : public Command -{ - public: - CommandCSTBan(Module *m) : Command(m, "TBAN", 3, 3) - { - this->SetDesc(_("Bans the user for a given length of time")); - this->SetSyntax(_("\037channel\037 \037nick\037 \037time\037")); - } - - void Execute(CommandSource &source, const std::vector ¶ms) - { - Channel *c = findchan(params[0]); - - const Anope::string &nick = params[1]; - const Anope::string &time = params[2]; - - User *u2; - if (!c) - source.Reply(CHAN_X_NOT_IN_USE, params[0].c_str()); - else if (!(u2 = finduser(nick))) - source.Reply(NICK_X_NOT_IN_USE, nick.c_str()); - else - if (CanBanUser(source, c, u2)) - { - Anope::string mask; - get_idealban(c->ci, u2, mask); - c->SetMode(NULL, CMODE_BAN, mask); - new TempBan(dotime(time), c, mask); - source.Reply(_("%s banned from %s, will auto-expire in %s"), mask.c_str(), c->name.c_str(), time.c_str()); - } - - return; - } - - bool OnHelp(CommandSource &source, const Anope::string &subcommand) - { - this->OnSyntaxError(source, ""); - source.Reply(" "); - source.Reply(_("Bans the given user from a channel for a specified length of\n" - "time. If the ban is removed before by hand, it will NOT be replaced.")); - - return true; - } -}; - -class CSTBan : public Module -{ - CommandCSTBan commandcstban; - - public: - CSTBan(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, SUPPORTED), - commandcstban(this) - { - this->SetAuthor("Anope"); - - me = this; - - ModuleManager::RegisterService(&commandcstban); - } -}; - -MODULE_INIT(CSTBan) diff --git a/modules/extra/hs_request.cpp b/modules/extra/hs_request.cpp deleted file mode 100644 index 7686794f5..000000000 --- a/modules/extra/hs_request.cpp +++ /dev/null @@ -1,424 +0,0 @@ -/* hs_request.c - Add request and activate functionality to HostServ, - * - * - * (C) 2003-2011 Anope Team - * Contact us at team@anope.org - * - * Based on the original module by Rob - * Included in the Anope module pack since Anope 1.7.11 - * Anope Coder: GeniusDex - * - * Please read COPYING and README for further details. - * - * Send bug reports to the Anope Coder instead of the module - * author, because any changes since the inclusion into anope - * are not supported by the original author. - */ - -#include "module.h" -#include "memoserv.h" - -static bool HSRequestMemoUser = false; -static bool HSRequestMemoOper = false; - -void my_add_host_request(const Anope::string &nick, const Anope::string &vIdent, const Anope::string &vhost, const Anope::string &creator, time_t tmp_time); -void req_send_memos(CommandSource &source, const Anope::string &vIdent, const Anope::string &vHost); - -struct HostRequest -{ - Anope::string ident; - Anope::string host; - time_t time; -}; - -typedef std::map > RequestMap; -RequestMap Requests; - -class CommandHSRequest : public Command -{ - bool isvalidchar(char c) - { - if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9') || c == '.' || c == '-') - return true; - return false; - } - - public: - CommandHSRequest(Module *creator) : Command(creator, "hostserv/request", 1, 1) - { - this->SetDesc(_("Request a vHost for your nick")); - this->SetSyntax(_("vhost")); - } - - void Execute(CommandSource &source, const std::vector ¶ms) - { - User *u = source.u; - - Anope::string rawhostmask = params[0]; - - Anope::string user, host; - size_t a = rawhostmask.find('@'); - - if (a == Anope::string::npos) - host = rawhostmask; - else - { - user = rawhostmask.substr(0, a); - host = rawhostmask.substr(a + 1); - } - - if (host.empty()) - { - this->OnSyntaxError(source, ""); - return; - } - - if (!user.empty()) - { - if (user.length() > Config->UserLen) - { - source.Reply(HOST_SET_IDENTTOOLONG, Config->UserLen); - return; - } - else if (!ircd->vident) - { - source.Reply(HOST_NO_VIDENT); - return; - } - for (Anope::string::iterator s = user.begin(), s_end = user.end(); s != s_end; ++s) - if (!isvalidchar(*s)) - { - source.Reply(HOST_SET_IDENT_ERROR); - return; - } - } - - if (host.length() > Config->HostLen) - { - source.Reply(HOST_SET_TOOLONG, Config->HostLen); - return; - } - - if (!isValidHost(host, 3)) - { - source.Reply(HOST_SET_ERROR); - return; - } - - if (HSRequestMemoOper && Config->MSSendDelay > 0 && u && u->lastmemosend + Config->MSSendDelay > Anope::CurTime) - { - source.Reply(_("Please wait %d seconds before requesting a new vHost"), Config->MSSendDelay); - u->lastmemosend = Anope::CurTime; - return; - } - my_add_host_request(u->nick, user, host, u->nick, Anope::CurTime); - - source.Reply(_("Your vHost has been requested")); - req_send_memos(source, user, host); - Log(LOG_COMMAND, u, this, NULL) << "to request new vhost " << (!user.empty() ? user + "@" : "") << host; - - return; - } - - bool OnHelp(CommandSource &source, const Anope::string &subcommand) - { - this->SendSyntax(source); - source.Reply(" "); - source.Reply(_("Request the given vHost to be actived for your nick by the\n" - "network administrators. Please be patient while your request\n" - "is being considered.")); - return true; - } -}; - -class CommandHSActivate : public Command -{ - public: - CommandHSActivate(Module *creator) : Command(creator, "hostserv/activate", 1, 1) - { - this->SetDesc(_("Approve the requested vHost of a user")); - this->SetSyntax(_("\037nick\037")); - } - - void Execute(CommandSource &source, const std::vector ¶ms) - { - User *u = source.u; - - const Anope::string &nick = params[0]; - - NickAlias *na = findnick(nick); - if (na) - { - RequestMap::iterator it = Requests.find(na->nick); - if (it != Requests.end()) - { - na->hostinfo.SetVhost(it->second->ident, it->second->host, u->nick, it->second->time); - FOREACH_MOD(I_OnSetVhost, OnSetVhost(na)); - - if (HSRequestMemoUser && memoserv) - memoserv->Send(Config->HostServ, na->nick, _("[auto memo] Your requested vHost has been approved."), true); - - source.Reply(_("vHost for %s has been activated"), na->nick.c_str()); - Log(LOG_COMMAND, u, this, NULL) << "for " << na->nick << " for vhost " << (!it->second->ident.empty() ? it->second->ident + "@" : "") << it->second->host; - delete it->second; - Requests.erase(it); - } - else - source.Reply(_("No request for nick %s found."), nick.c_str()); - } - else - source.Reply(NICK_X_NOT_REGISTERED, nick.c_str()); - - return; - } - - bool OnHelp(CommandSource &source, const Anope::string &subcommand) - { - this->SendSyntax(source); - source.Reply(" "); - source.Reply(_("Activate the requested vHost for the given nick.")); - if (HSRequestMemoUser) - source.Reply(_("A memo informing the user will also be sent.")); - - return true; - } -}; - -class CommandHSReject : public Command -{ - public: - CommandHSReject(Module *creator) : Command(creator, "hostserv/reject", 1, 2) - { - this->SetDesc(_("Reject the requested vHost of a user")); - } - - void Execute(CommandSource &source, const std::vector ¶ms) - { - User *u = source.u; - - const Anope::string &nick = params[0]; - const Anope::string &reason = params.size() > 1 ? params[1] : ""; - - RequestMap::iterator it = Requests.find(nick); - if (it != Requests.end()) - { - delete it->second; - Requests.erase(it); - - if (HSRequestMemoUser && memoserv) - { - Anope::string message; - if (!reason.empty()) - message = Anope::printf(_("[auto memo] Your requested vHost has been rejected. Reason: %s"), reason.c_str()); - else - message = _("[auto memo] Your requested vHost has been rejected."); - - memoserv->Send(Config->HostServ, nick, message, true); - } - - source.Reply(_("vHost for %s has been rejected"), nick.c_str()); - Log(LOG_COMMAND, u, this, NULL) << "to reject vhost for " << nick << " (" << (!reason.empty() ? reason : "") << ")"; - } - else - source.Reply(_("No request for nick %s found."), nick.c_str()); - - return; - } - - bool OnHelp(CommandSource &source, const Anope::string &subcommand) - { - this->SendSyntax(source); - source.Reply(" "); - source.Reply(_("Reject the requested vHost for the given nick.")); - if (HSRequestMemoUser) - source.Reply(_("A memo informing the user will also be sent.")); - - return true; - } -}; - -class HSListBase : public Command -{ - protected: - void DoList(CommandSource &source) - { - int counter = 1; - int from = 0, to = 0; - unsigned display_counter = 0; - - for (RequestMap::iterator it = Requests.begin(), it_end = Requests.end(); it != it_end; ++it) - { - HostRequest *hr = it->second; - if (((counter >= from && counter <= to) || (!from && !to)) && display_counter < Config->NSListMax) - { - ++display_counter; - if (!hr->ident.empty()) - source.Reply(_("#%d Nick:\002%s\002, vhost:\002%s\002@\002%s\002 (%s - %s)"), counter, it->first.c_str(), hr->ident.c_str(), hr->host.c_str(), it->first.c_str(), do_strftime(hr->time).c_str()); - else - source.Reply(_("#%d Nick:\002%s\002, vhost:\002%s\002 (%s - %s)"), counter, it->first.c_str(), hr->host.c_str(), it->first.c_str(), do_strftime(hr->time).c_str()); - } - ++counter; - } - source.Reply(_("Displayed all records (Count: \002%d\002)"), display_counter); - - return; - } - public: - HSListBase(Module *creator, const Anope::string &cmd, int min, int max) : Command(creator, cmd, min, max) - { - } -}; - -class CommandHSWaiting : public HSListBase -{ - public: - CommandHSWaiting(Module *creator) : HSListBase(creator, "hostserv/waiting", 0, 0) - { - this->SetDesc(_("Retrieves the vhost requests")); - this->SetSyntax(""); - } - - void Execute(CommandSource &source, const std::vector ¶ms) - { - return this->DoList(source); - } - - bool OnHelp(CommandSource &source, const Anope::string &subcommand) - { - this->SendSyntax(source); - source.Reply(" "); - source.Reply(_("This command retrieves the vhost requests")); - - return true; - } -}; - -class HSRequest : public Module -{ - CommandHSRequest commandhsrequest; - CommandHSActivate commandhsactive; - CommandHSReject commandhsreject; - CommandHSWaiting commandhswaiting; - - public: - HSRequest(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, SUPPORTED), - commandhsrequest(this), commandhsactive(this), commandhsreject(this), commandhswaiting(this) - { - this->SetAuthor("Anope"); - - ModuleManager::RegisterService(&commandhsrequest); - ModuleManager::RegisterService(&commandhsactive); - ModuleManager::RegisterService(&commandhsreject); - ModuleManager::RegisterService(&commandhswaiting); - - Implementation i[] = { I_OnDelNick, I_OnDatabaseRead, I_OnDatabaseWrite, I_OnReload }; - ModuleManager::Attach(i, this, sizeof(i) / sizeof(Implementation)); - - this->OnReload(); - } - - ~HSRequest() - { - /* Clean up all open host requests */ - while (!Requests.empty()) - { - delete Requests.begin()->second; - Requests.erase(Requests.begin()); - } - } - - void OnDelNick(NickAlias *na) - { - RequestMap::iterator it = Requests.find(na->nick); - - if (it != Requests.end()) - { - delete it->second; - Requests.erase(it); - } - } - - EventReturn OnDatabaseRead(const std::vector ¶ms) - { - if (params[0].equals_ci("HS_REQUEST") && params.size() >= 5) - { - Anope::string vident = params[2].equals_ci("(null)") ? "" : params[2]; - my_add_host_request(params[1], vident, params[3], params[1], params[4].is_pos_number_only() ? convertTo(params[4]) : 0); - - return EVENT_STOP; - } - - return EVENT_CONTINUE; - } - - void OnDatabaseWrite(void (*Write)(const Anope::string &)) - { - for (RequestMap::iterator it = Requests.begin(), it_end = Requests.end(); it != it_end; ++it) - { - HostRequest *hr = it->second; - std::stringstream buf; - buf << "HS_REQUEST " << it->first << " " << (hr->ident.empty() ? "(null)" : hr->ident) << " " << hr->host << " " << hr->time; - Write(buf.str()); - } - } - - void OnReload() - { - ConfigReader config; - HSRequestMemoUser = config.ReadFlag("hs_request", "memouser", "no", 0); - HSRequestMemoOper = config.ReadFlag("hs_request", "memooper", "no", 0); - - Log(LOG_DEBUG) << "[hs_request] Set config vars: MemoUser=" << HSRequestMemoUser << " MemoOper=" << HSRequestMemoOper; - } -}; - -void req_send_memos(CommandSource &source, const Anope::string &vIdent, const Anope::string &vHost) -{ - Anope::string host; - std::list >::iterator it, it_end; - - if (!vIdent.empty()) - host = vIdent + "@" + vHost; - else - host = vHost; - - if (HSRequestMemoOper == 1 && memoserv) - for (unsigned i = 0; i < Config->Opers.size(); ++i) - { - Oper *o = Config->Opers[i]; - - NickAlias *na = findnick(o->name); - if (!na) - continue; - - Anope::string message = Anope::printf(_("[auto memo] vHost \002%s\002 has been requested by %s."), host.c_str(), source.u->GetMask().c_str()); - - memoserv->Send(Config->HostServ, na->nick, message, true); - } -} - -void my_add_host_request(const Anope::string &nick, const Anope::string &vIdent, const Anope::string &vhost, const Anope::string &creator, time_t tmp_time) -{ - HostRequest *hr = new HostRequest; - hr->ident = vIdent; - hr->host = vhost; - hr->time = tmp_time; - RequestMap::iterator it = Requests.find(nick); - if (it != Requests.end()) - { - delete it->second; - Requests.erase(it); - } - Requests.insert(std::make_pair(nick, hr)); -} - -void my_load_config() -{ - ConfigReader config; - HSRequestMemoUser = config.ReadFlag("hs_request", "memouser", "no", 0); - HSRequestMemoOper = config.ReadFlag("hs_request", "memooper", "no", 0); - - Log(LOG_DEBUG) << "[hs_request] Set config vars: MemoUser=" << HSRequestMemoUser << " MemoOper=" << HSRequestMemoOper; -} - -MODULE_INIT(HSRequest) diff --git a/modules/extra/language/CMakeLists.txt b/modules/extra/language/CMakeLists.txt deleted file mode 100644 index af4dd90a6..000000000 --- a/modules/extra/language/CMakeLists.txt +++ /dev/null @@ -1,38 +0,0 @@ -# Only do this if gettext is installed -if(GETTEXT_FOUND) - # Get all of the .po files - file(GLOB LANG_SRCS_PO RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.*.po") - sort_list(LANG_SRCS_PO) - - foreach(LANG_PO ${LANG_SRCS_PO}) - # Get the domain for this language file - string(LENGTH ${LANG_PO} LANG_PO_LENGTH) - math(EXPR DOMAIN_LENGTH "${LANG_PO_LENGTH} - 9") - string(SUBSTRING ${LANG_PO} 0 ${DOMAIN_LENGTH} LANG_DOMAIN) - - # Get the language for this language file - math(EXPR DOMAIN_LENGTH "${LANG_PO_LENGTH} - 8") - string(SUBSTRING ${LANG_PO} ${DOMAIN_LENGTH} 5 LANG_LANG) - - # Get the .mo file name - string(REGEX REPLACE "\\.po$" ".mo" LANG_MO ${LANG_PO}) - # Add the .mo file to a list for use later with add_custom_target - set(LANG_SRCS_MO ${LANG_SRCS_MO} ${CMAKE_CURRENT_BINARY_DIR}/${LANG_MO}) - # Run msgfmt on the language file, depends on the .po file - add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${LANG_MO} - COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -c ${CMAKE_CURRENT_SOURCE_DIR}/${LANG_PO} -o ${CMAKE_CURRENT_BINARY_DIR}/${LANG_MO} - MAIN_DEPENDENCY ${LANG_PO} - ) - # Add to cpack ignored files if not on Windows. - if(NOT WIN32) - add_to_cpack_ignored_files("${LANG_MO}") - endif(NOT WIN32) - - # Install the new language file - install(CODE "FILE(MAKE_DIRECTORY \${CMAKE_INSTALL_PREFIX}/data/languages/${LANG_LANG}/LC_MESSAGES/)") - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${LANG_MO} DESTINATION data/languages/${LANG_LANG}/LC_MESSAGES RENAME ${LANG_DOMAIN}.mo PERMISSIONS ${PERMS}) - endforeach(LANG_PO) - - # Generate languages, depends on the mo files - add_custom_target(module_language DEPENDS ${LANG_SRCS_MO}) -endif(GETTEXT_FOUND) diff --git a/modules/extra/language/cs_appendtopic.de_DE.po b/modules/extra/language/cs_appendtopic.de_DE.po deleted file mode 100644 index 2305709c1..000000000 --- a/modules/extra/language/cs_appendtopic.de_DE.po +++ /dev/null @@ -1,37 +0,0 @@ -# German translations for cs_appendtopic -# German messages for cs_appendtopic -# Copyright (C) 2011 Anope Team -# This file is distributed under the same license as Anope IRC Services -# Adam , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: Anope\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-06-17 13:49-0400\n" -"PO-Revision-Date: 2010-09-25 20:57-0400\n" -"Last-Translator: Adam \n" -"Language-Team: German\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: ../cs_appendtopic.cpp:50 -msgid "Add text to a channels topic" -msgstr "Fügt einen Text zu einem Channel-Topic hinzu." - -#: ../cs_appendtopic.cpp:90 ../cs_appendtopic.cpp:101 -msgid "Syntax: APPENDTOPIC channel text" -msgstr "Syntax: APPENDTOPIC Channel Text" - -#: ../cs_appendtopic.cpp:92 -msgid "" -"This command allows users to append text to a currently set\n" -"channel topic. When TOPICLOCK is on, the topic is updated and\n" -"the new, updated topic is locked." -msgstr "" -"Dieser Befehl erlaubt Benutzern, einen Text zu dem vorhandenen Channel-" -"Topic\n" -"hinzuzufügen. Wenn TOPICLOCK gesetzt ist, wird das Topic aktualisiert\n" -"und das neue, aktualisierte Topic wird gesperrt." diff --git a/modules/extra/language/cs_appendtopic.it_IT.po b/modules/extra/language/cs_appendtopic.it_IT.po deleted file mode 100644 index 43620d0b2..000000000 --- a/modules/extra/language/cs_appendtopic.it_IT.po +++ /dev/null @@ -1,39 +0,0 @@ -# Italian translations for cs_appendtopic -# Traduzioni italiane per il cs_appendtopic -# Copyright (C) 2011 Anope Team -# This file is distributed under the same license as Anope IRC Services -# Adam , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: Anope\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-06-17 13:49-0400\n" -"PO-Revision-Date: 2010-09-25 21:04-0400\n" -"Last-Translator: Adam \n" -"Language-Team: Italian\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: ../cs_appendtopic.cpp:50 -#, fuzzy -msgid "Add text to a channels topic" -msgstr " APPENDTOPIC Aggiunge del testo al topic di un canale" - -#: ../cs_appendtopic.cpp:90 ../cs_appendtopic.cpp:101 -msgid "Syntax: APPENDTOPIC channel text" -msgstr "Sintassi: APPENDTOPIC canale testo" - -#: ../cs_appendtopic.cpp:92 -msgid "" -"This command allows users to append text to a currently set\n" -"channel topic. When TOPICLOCK is on, the topic is updated and\n" -"the new, updated topic is locked." -msgstr "" -"Questo comando permette agli utenti di aggiungere del testo ad un topic di " -"un canale\n" -"già impostato. Se TOPICLOCK è attivato, il topic viene aggiornato e il nuovo " -"topic\n" -"viene bloccato." diff --git a/modules/extra/language/cs_appendtopic.nl_NL.po b/modules/extra/language/cs_appendtopic.nl_NL.po deleted file mode 100644 index 21d81eaba..000000000 --- a/modules/extra/language/cs_appendtopic.nl_NL.po +++ /dev/null @@ -1,38 +0,0 @@ -# Dutch translations for cs_appendtopic -# Engelse vertalingen voor het cs_appendtopic -# Copyright (C) 2011 Anope Team -# This file is distributed under the same license as Anope IRC Services -# Adam , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: Anope\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-06-17 13:49-0400\n" -"PO-Revision-Date: 2010-09-25 20:55-0400\n" -"Last-Translator: Adam \n" -"Language-Team: Dutch\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: ../cs_appendtopic.cpp:50 -#, fuzzy -msgid "Add text to a channels topic" -msgstr " APPENDTOPIC Voeg tekst aan een kanaal onderwerp toe" - -#: ../cs_appendtopic.cpp:90 ../cs_appendtopic.cpp:101 -msgid "Syntax: APPENDTOPIC channel text" -msgstr "Gebruik: APPENDTOPIC kanaal tekst" - -#: ../cs_appendtopic.cpp:92 -msgid "" -"This command allows users to append text to a currently set\n" -"channel topic. When TOPICLOCK is on, the topic is updated and\n" -"the new, updated topic is locked." -msgstr "" -"Dit command stelt gebruikers in staat om text toe te voegen\n" -"achter het huidige onderwerp van een kanaal. Als TOPICLOCK aan\n" -"staat, zal het onderwerp worden bijgewerkt en zal het nieuwe,\n" -"bijgewerkte topic worden geforceerd." diff --git a/modules/extra/language/cs_appendtopic.pt_PT.po b/modules/extra/language/cs_appendtopic.pt_PT.po deleted file mode 100644 index e97d94a90..000000000 --- a/modules/extra/language/cs_appendtopic.pt_PT.po +++ /dev/null @@ -1,36 +0,0 @@ -# Portuguese translations for cs_appendtopic -# Copyright (C) 2011 Anope Team -# This file is distributed under the same license as Anope IRC Services -# Adam , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: Anope\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-06-17 13:49-0400\n" -"PO-Revision-Date: 2010-09-25 21:00-0400\n" -"Last-Translator: Adam \n" -"Language-Team: Portuguese\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: ../cs_appendtopic.cpp:50 -#, fuzzy -msgid "Add text to a channels topic" -msgstr " APPENDTOPIC Adiciona texto ao tópico de um canal" - -#: ../cs_appendtopic.cpp:90 ../cs_appendtopic.cpp:101 -msgid "Syntax: APPENDTOPIC channel text" -msgstr "Sintaxe: APPENDTOPIC canal texto" - -#: ../cs_appendtopic.cpp:92 -msgid "" -"This command allows users to append text to a currently set\n" -"channel topic. When TOPICLOCK is on, the topic is updated and\n" -"the new, updated topic is locked." -msgstr "" -"Este comando permite aos usuários anexar texto a um tópico de canal\n" -"já definido. Quando TOPICLOCK está ativado, o tópico é atualizado e\n" -"o novo tópico é travado." diff --git a/modules/extra/language/cs_appendtopic.ru_RU.po b/modules/extra/language/cs_appendtopic.ru_RU.po deleted file mode 100644 index cb5566a8c..000000000 --- a/modules/extra/language/cs_appendtopic.ru_RU.po +++ /dev/null @@ -1,41 +0,0 @@ -# Russian translations for cs_appendtopic -# ?????????? ???????? ??? ?????? cs_appendtopic -# Copyright (C) 2011 Anope Team -# This file is distributed under the same license as Anope IRC Services -# Adam , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: Anope\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-06-17 13:49-0400\n" -"PO-Revision-Date: 2010-09-25 21:02-0400\n" -"Last-Translator: Adam \n" -"Language-Team: Russian\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" -"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#: ../cs_appendtopic.cpp:50 -#, fuzzy -msgid "Add text to a channels topic" -msgstr " APPENDTOPIC Äîáàâëÿåò òåêñò ê òîïèêó êàíàëà" - -#: ../cs_appendtopic.cpp:90 ../cs_appendtopic.cpp:101 -msgid "Syntax: APPENDTOPIC channel text" -msgstr "Ñèíòàêñèñ: APPENDTOPIC #êàíàë òåêñò" - -#: ../cs_appendtopic.cpp:92 -msgid "" -"This command allows users to append text to a currently set\n" -"channel topic. When TOPICLOCK is on, the topic is updated and\n" -"the new, updated topic is locked." -msgstr "" -"Äàííàÿ êîìàíäà ïîçâîëÿåò äîáàâèòü òåêñò ê òîïèêó, êîòîðûé óñòàíîâëåí íà " -"óêàçàííîì\n" -"êàíàëå. Åñëè àêòèâèðîâàí ðåæèì TOPICLOCK, òîïèê áóäåò îáíîâëåí è " -"çàáëîêèðîâàí.\n" -"Ïðèìå÷àíèå: òåêñò áóäåò ÄÎÁÀÂËÅÍ ê òîïèêó, òî åñòü ñòàðûé òîïèê óäàëåí ÍÅ " -"ÁÓÄÅÒ." diff --git a/modules/extra/language/cs_enforce.de_DE.po b/modules/extra/language/cs_enforce.de_DE.po deleted file mode 100644 index 5e8ccd94b..000000000 --- a/modules/extra/language/cs_enforce.de_DE.po +++ /dev/null @@ -1,86 +0,0 @@ -# German translations for cs_enforce -# German messages for cs_enforce -# Copyright (C) 2011 Anope Team -# This file is distributed under the same license as Anope IRC Services -# Adam , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: Anope\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-06-17 13:49-0400\n" -"PO-Revision-Date: 2010-09-25 21:12-0400\n" -"Last-Translator: Adam \n" -"Language-Team: German\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: ../cs_enforce.cpp:127 -#, fuzzy -msgid "Enforce various channel modes and set options" -msgstr " ENFORCE Erzwingt verschieden Modes und SET Optionen" - -#: ../cs_enforce.cpp:180 -msgid "" -"Enforce various channel modes and set options. The channel\n" -"option indicates what channel to enforce the modes and options\n" -"on. The what option indicates what modes and options to\n" -"enforce, and can be any of SET, SECUREOPS, RESTRICTED, MODES,\n" -"or +R. When left out, it defaults to SET.\n" -" \n" -"If what is SET, it will enforce SECUREOPS and RESTRICTED\n" -"on the users currently in the channel, if they are set. Give\n" -"SECUREOPS to enforce the SECUREOPS option, even if it is not\n" -"enabled. Use RESTRICTED to enfore the RESTRICTED option, also\n" -"if it's not enabled." -msgstr "" -"Erzwingt verschieden Modes und SET Optionen. Die Channel\n" -"Option zeigt dir den Channel an, indem Modes und Optionen\n" -"zu erzwingen sind. Die was Option zeigt dir welche Modes\n" -"und Optionen zu erzwingen sind. Die können nur SET, SECUREOPS,\n" -"RESTRICTED, MODES oder +R sein.Default ist SET.\n" -" \n" -"Wenn was SET ist, wird SECUREOPS und RESTRICTED\n" -"auf die User die z.Z.in Channel sind erzwungen, wenn sie AN sind.\n" -"Benutze SECUREOPS oder RESTRICTED , um die Optionen einzeln\n" -"zu erzwingen, also wenn sie nicht eingeschaltet sind." - -#: ../cs_enforce.cpp:147 ../cs_enforce.cpp:152 ../cs_enforce.cpp:157 -#: ../cs_enforce.cpp:162 ../cs_enforce.cpp:167 -#, c-format -msgid "Enforced %s" -msgstr "Erzwungen %s" - -#: ../cs_enforce.cpp:193 -msgid "" -"If what is MODES, it will enforce channelmode +R if it is\n" -"set. If +R is specified for what, the +R channelmode will\n" -"also be enforced, but even if it is not set. If it is not set,\n" -"users will be banned to ensure they don't just rejoin." -msgstr "" -"Wenn was MODES ist, wird das ChannelMode +R erzwungen\n" -"falls an. Wenn was +R ist, wird +R erzwungen aber eben\n" -"wenn noch nicht als Channel-Mode ist. Wenn +R noch nicht als\n" -"Channel-Mode war werden alle User aus den Channel gebannt um\n" -"sicher zu sein das sie nicht rejoinen." - -#: ../cs_enforce.cpp:198 -msgid "" -"If what is MODES, nothing will be enforced, since it would\n" -"enforce modes that the current ircd does not support. If +R is\n" -"specified for what, an equalivant of channelmode +R on\n" -"other ircds will be enforced. All users that are in the channel\n" -"but have not identified for their nickname will be kicked and\n" -"banned from the channel." -msgstr "" -"Wenn was MODES ist, wird nichts erzwungen weil es MODES seine\n" -"können die dein IRCD nicht unterstützt. Wenn was +R ist\n" -"oder ein Modes was auf ein anderen IRCD gleich +R ist, wird es\n" -"erzwungen. Alle User die nicht für deren Nicknamen identifiziert\n" -"sind werden aus den Channel gekickt und gebannt." - -#: ../cs_enforce.cpp:178 ../cs_enforce.cpp:210 -msgid "Syntax: ENFORCE channel [what]" -msgstr "Syntax: ENFORCE Channel [was]" diff --git a/modules/extra/language/cs_enforce.it_IT.po b/modules/extra/language/cs_enforce.it_IT.po deleted file mode 100644 index 4721e823f..000000000 --- a/modules/extra/language/cs_enforce.it_IT.po +++ /dev/null @@ -1,86 +0,0 @@ -# Italian translations for cs_enforce -# Traduzioni italiane per il cs_enforce -# Copyright (C) 2011 Anope Team -# This file is distributed under the same license as Anope IRC Services -# Adam , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: Anope\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-06-17 13:49-0400\n" -"PO-Revision-Date: 2010-09-25 21:55-0400\n" -"Last-Translator: Adam \n" -"Language-Team: Italian\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: ../cs_enforce.cpp:127 -#, fuzzy -msgid "Enforce various channel modes and set options" -msgstr " ENFORCE Forza diversi modi di canale ed opzioni SET" - -#: ../cs_enforce.cpp:180 -msgid "" -"Enforce various channel modes and set options. The channel\n" -"option indicates what channel to enforce the modes and options\n" -"on. The what option indicates what modes and options to\n" -"enforce, and can be any of SET, SECUREOPS, RESTRICTED, MODES,\n" -"or +R. When left out, it defaults to SET.\n" -" \n" -"If what is SET, it will enforce SECUREOPS and RESTRICTED\n" -"on the users currently in the channel, if they are set. Give\n" -"SECUREOPS to enforce the SECUREOPS option, even if it is not\n" -"enabled. Use RESTRICTED to enfore the RESTRICTED option, also\n" -"if it's not enabled." -msgstr "" -"Forza diversi modi di canale ed opzioni SET. Il parametro canale\n" -"indica il canale sul quale forzare i modi e le opzioni. Il parametro\n" -"cosa indica i modi e le opzioni da forzare, e possono essere\n" -"qualsiasi delle opzioni SET, SECUREOPS, RESTRICTED, MODES, o +R.\n" -"Se non specificato, viene sottointeso SET.\n" -" \n" -"Se cosa è SET, forzerà SECUREOPS e RESTRICTED sugli utenti\n" -"attualmente nel canale, se sono impostati. Specifica SECUREOPS per\n" -"forzare l'opzione SECUREOPS, anche se non è attivata. Specifica\n" -"RESTRICTED per forzare l'opzione RESTRICTED, anche se non è\n" -"attivata." - -#: ../cs_enforce.cpp:147 ../cs_enforce.cpp:152 ../cs_enforce.cpp:157 -#: ../cs_enforce.cpp:162 ../cs_enforce.cpp:167 -#, c-format -msgid "Enforced %s" -msgstr "Forzato %s" - -#: ../cs_enforce.cpp:193 -msgid "" -"If what is MODES, it will enforce channelmode +R if it is\n" -"set. If +R is specified for what, the +R channelmode will\n" -"also be enforced, but even if it is not set. If it is not set,\n" -"users will be banned to ensure they don't just rejoin." -msgstr "" -"Se cosa è MODES, forzerà il modo del canale +R se è impostato.\n" -"Se +R è specificato per cosa, il modo del canale +R verrà\n" -"forzato, anche se non è impostato. Se non è impostato, gli utenti\n" -"verranno bannati per assicurare che non rientrino semplicemente." - -#: ../cs_enforce.cpp:198 -msgid "" -"If what is MODES, nothing will be enforced, since it would\n" -"enforce modes that the current ircd does not support. If +R is\n" -"specified for what, an equalivant of channelmode +R on\n" -"other ircds will be enforced. All users that are in the channel\n" -"but have not identified for their nickname will be kicked and\n" -"banned from the channel." -msgstr "" -"Se cosa è MODES, niente verrà forzato, siccome forzerebbe\n" -"dei modi che l'ircd in uso non supporterebbe. Se +R è specificato\n" -"per cosa, un modo equivalente a +R sui altri ircd verrà\n" -"forzato. Tutti gli utenti presenti nel canale ma non identificati\n" -"per il loro nickname verranno bannati ed espulsi dal canale." - -#: ../cs_enforce.cpp:178 ../cs_enforce.cpp:210 -msgid "Syntax: ENFORCE channel [what]" -msgstr "Sintassi: ENFORCE canale [cosa]" diff --git a/modules/extra/language/cs_enforce.nl_NL.po b/modules/extra/language/cs_enforce.nl_NL.po deleted file mode 100644 index 935e8dce7..000000000 --- a/modules/extra/language/cs_enforce.nl_NL.po +++ /dev/null @@ -1,89 +0,0 @@ -# Dutch translations for cs_enforce -# Engelse vertalingen voor het cs_enforce -# Copyright (C) 2011 Anope Team -# This file is distributed under the same license as the Anope IRC Services -# Adam , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: Anope\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-06-17 13:49-0400\n" -"PO-Revision-Date: 2010-09-25 21:07-0400\n" -"Last-Translator: Adam \n" -"Language-Team: Dutch\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: ../cs_enforce.cpp:127 -#, fuzzy -msgid "Enforce various channel modes and set options" -msgstr " ENFORCE Forceer enkele kanaalmodes en set-opties" - -#: ../cs_enforce.cpp:180 -msgid "" -"Enforce various channel modes and set options. The channel\n" -"option indicates what channel to enforce the modes and options\n" -"on. The what option indicates what modes and options to\n" -"enforce, and can be any of SET, SECUREOPS, RESTRICTED, MODES,\n" -"or +R. When left out, it defaults to SET.\n" -" \n" -"If what is SET, it will enforce SECUREOPS and RESTRICTED\n" -"on the users currently in the channel, if they are set. Give\n" -"SECUREOPS to enforce the SECUREOPS option, even if it is not\n" -"enabled. Use RESTRICTED to enfore the RESTRICTED option, also\n" -"if it's not enabled." -msgstr "" -"Forceer enkele kannalmodes en set-opties. De kanaal optie\n" -"geeft aan op welk kanaal de modes en opties geforceerd moeten\n" -"worden. De wat optie geeft aan welke modes en opties\n" -"geforceerd moeten worden; dit kan SET, SECUREOPS, RESTRICTED,\n" -"MODES, of +R zijn. Indien weggelaten is dit standaard SET.\n" -" \n" -"Als er voor wat SET wordt ingevuld, zullen SECUREOPS en\n" -"RESTRICTED geforceerd worden op de gebruikers in het kanaal,\n" -"maar alleen als die opties aangezet zijn voor het kanaal. Als\n" -"SECUREOPS of RESTRICTED wordt gegeven voor wat zal die optie\n" -"altijd geforceerd worden, ook als die niet is aangezet." - -#: ../cs_enforce.cpp:147 ../cs_enforce.cpp:152 ../cs_enforce.cpp:157 -#: ../cs_enforce.cpp:162 ../cs_enforce.cpp:167 -#, c-format -msgid "Enforced %s" -msgstr "" - -#: ../cs_enforce.cpp:193 -msgid "" -"If what is MODES, it will enforce channelmode +R if it is\n" -"set. If +R is specified for what, the +R channelmode will\n" -"also be enforced, but even if it is not set. If it is not set,\n" -"users will be banned to ensure they don't just rejoin." -msgstr "" -"Als er voor wat MODES wordt ingevuld, zal kanaalmode +R worden\n" -"geforceerd, als die op het kanaal aan staat. Als +R wordt ingevuld,\n" -"zal kanaalmode +R worden geforceerd, maar ook als die niet aanstaat voor het " -"kanaal. Als +R niet aan staat, zullen alle ook\n" -"gebanned worden om te zorgen dat ze niet opnieuw het kanaal binnen\n" -"kunnen komen." - -#: ../cs_enforce.cpp:198 -msgid "" -"If what is MODES, nothing will be enforced, since it would\n" -"enforce modes that the current ircd does not support. If +R is\n" -"specified for what, an equalivant of channelmode +R on\n" -"other ircds will be enforced. All users that are in the channel\n" -"but have not identified for their nickname will be kicked and\n" -"banned from the channel." -msgstr "" -"Als er voor wat MODES wordt ingevuld, zal er niks gebeuren.\n" -"Normaal gesproken wordt er een kanaalmode geforceerd die op deze\n" -"server niet ondersteund wordt. Als +R wordt ingevuld voor wat\n" -"zullen alle gebruikers die in het kanaal zitten maar zich niet\n" -"hebben geidentificeerd voor hun nick uit het kanaal gekicked en\n" -"verbannen worden." - -#: ../cs_enforce.cpp:178 ../cs_enforce.cpp:210 -msgid "Syntax: ENFORCE channel [what]" -msgstr "Syntax: ENFORCE kanaal [wat]" diff --git a/modules/extra/language/cs_enforce.pt_PT.po b/modules/extra/language/cs_enforce.pt_PT.po deleted file mode 100644 index 955ea87aa..000000000 --- a/modules/extra/language/cs_enforce.pt_PT.po +++ /dev/null @@ -1,88 +0,0 @@ -# Portuguese translations for cs_enforce -# Copyright (C) 2011 Anope Team -# This file is distributed under the same license as the Anope IRC Services -# Adam , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: Anope\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-06-17 13:49-0400\n" -"PO-Revision-Date: 2010-09-25 21:24-0400\n" -"Last-Translator: Adam \n" -"Language-Team: Portuguese\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=