summaryrefslogtreecommitdiff
path: root/modules/extra/hs_request.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2010-09-26 02:33:01 -0400
committerAdam <Adam@anope.org>2010-09-26 02:33:01 -0400
commitd646d455e2655be59f6d5bcc56710ac70548ca37 (patch)
treed236b9d4991d62538a0318f213416396734e72e0 /modules/extra/hs_request.cpp
parent05e6815d912f0418f6da25a2106dd718796f02fa (diff)
Changed the language system to use gettext
Diffstat (limited to 'modules/extra/hs_request.cpp')
-rw-r--r--modules/extra/hs_request.cpp478
1 files changed, 74 insertions, 404 deletions
diff --git a/modules/extra/hs_request.cpp b/modules/extra/hs_request.cpp
index edca02ade..9ae097d27 100644
--- a/modules/extra/hs_request.cpp
+++ b/modules/extra/hs_request.cpp
@@ -1,5 +1,5 @@
/* hs_request.c - Add request and activate functionality to HostServ,
- * along with adding +req as optional param to HostServ list.
+ *
*
* (C) 2003-2010 Anope Team
* Contact us at team@anope.org
@@ -17,48 +17,12 @@
#include "module.h"
-#define AUTHOR "Rob"
-
-/* Configuration variables */
-int HSRequestMemoUser = 0;
-int HSRequestMemoOper = 0;
-int HSRequestMemoSetters = 0;
-
-/* Language defines */
-enum
-{
- LNG_REQUEST_SYNTAX,
- LNG_REQUESTED,
- LNG_REQUEST_WAIT,
- LNG_REQUEST_MEMO,
- LNG_ACTIVATE_SYNTAX,
- LNG_ACTIVATED,
- LNG_ACTIVATE_MEMO,
- LNG_REJECT_SYNTAX,
- LNG_REJECTED,
- LNG_REJECT_MEMO,
- LNG_REJECT_MEMO_REASON,
- LNG_NO_REQUEST,
- LNG_HELP,
- LNG_HELP_SETTER,
- LNG_HELP_REQUEST,
- LNG_HELP_ACTIVATE,
- LNG_HELP_ACTIVATE_MEMO,
- LNG_HELP_REJECT,
- LNG_HELP_REJECT_MEMO,
- LNG_WAITING_SYNTAX,
- LNG_HELP_WAITING,
- LNG_NUM_STRINGS
-};
+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);
-int my_isvalidchar(char c);
-void my_memo_lang(User *u, const Anope::string &name, int z, int number, ...);
void req_send_memos(User *u, const Anope::string &vIdent, const Anope::string &vHost);
-void my_load_config();
-void my_add_languages();
-
struct HostRequest
{
Anope::string ident;
@@ -73,6 +37,13 @@ static Module *me;
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() : Command("REQUEST", 1, 1)
{
@@ -91,24 +62,24 @@ class CommandHSRequest : public Command
rawhostmask = myStrGetTokenRemainder(rawhostmask, '@', 1); /* get the remaining string */
if (rawhostmask.empty())
{
- me->NoticeLang(Config->s_HostServ, u, LNG_REQUEST_SYNTAX);
+ me->SendMessage(HostServ, u, _("Syntax: \002REQUEST \037vhost\037\002"));
return MOD_CONT;
}
if (vIdent.length() > Config->UserLen)
{
- notice_lang(Config->s_HostServ, u, HOST_SET_IDENTTOOLONG, Config->UserLen);
+ u->SendMessage(HostServ, HOST_SET_IDENTTOOLONG, Config->UserLen);
return MOD_CONT;
}
else
for (Anope::string::iterator s = vIdent.begin(), s_end = vIdent.end(); s != s_end; ++s)
- if (!my_isvalidchar(*s))
+ if (!isvalidchar(*s))
{
- notice_lang(Config->s_HostServ, u, HOST_SET_IDENT_ERROR);
+ u->SendMessage(HostServ, HOST_SET_IDENT_ERROR);
return MOD_CONT;
}
if (!ircd->vident)
{
- notice_lang(Config->s_HostServ, u, HOST_NO_VIDENT);
+ u->SendMessage(HostServ, HOST_NO_VIDENT);
return MOD_CONT;
}
}
@@ -116,53 +87,54 @@ class CommandHSRequest : public Command
hostmask = rawhostmask;
else
{
- notice_lang(Config->s_HostServ, u, HOST_SET_TOOLONG, Config->HostLen);
+ u->SendMessage(HostServ, HOST_SET_TOOLONG, Config->HostLen);
return MOD_CONT;
}
if (!isValidHost(hostmask, 3))
{
- notice_lang(Config->s_HostServ, u, HOST_SET_ERROR);
+ u->SendMessage(HostServ, HOST_SET_ERROR);
return MOD_CONT;
}
if ((na = findnick(nick)))
{
- if ((HSRequestMemoOper || HSRequestMemoSetters) && Config->MSSendDelay > 0 && u && u->lastmemosend + Config->MSSendDelay > Anope::CurTime)
+ if (HSRequestMemoOper && Config->MSSendDelay > 0 && u && u->lastmemosend + Config->MSSendDelay > Anope::CurTime)
{
- me->NoticeLang(Config->s_HostServ, u, LNG_REQUEST_WAIT, Config->MSSendDelay);
+ me->SendMessage(HostServ, u, _("Please wait %d seconds before requesting a new vHost"), Config->MSSendDelay);
u->lastmemosend = Anope::CurTime;
return MOD_CONT;
}
my_add_host_request(nick, vIdent, hostmask, u->nick, Anope::CurTime);
- me->NoticeLang(Config->s_HostServ, u, LNG_REQUESTED);
+ me->SendMessage(HostServ, u, _("Your vHost has been requested"));
req_send_memos(u, vIdent, hostmask);
Log(LOG_COMMAND, u, this, NULL) << "to request new vhost " << (!vIdent.empty() ? vIdent + "@" : "") << hostmask;
}
else
- notice_lang(Config->s_HostServ, u, HOST_NOREG, nick.c_str());
+ u->SendMessage(HostServ, HOST_NOREG, nick.c_str());
return MOD_CONT;
}
bool OnHelp(User *u, const Anope::string &subcommand)
{
- me->NoticeLang(Config->s_HostServ, u, LNG_REQUEST_SYNTAX);
- u->SendMessage(Config->s_HostServ, " ");
- me->NoticeLang(Config->s_HostServ, u, LNG_HELP_REQUEST);
-
+ me->SendMessage(HostServ, u, _("Syntax: \002REQUEST \037vhost\037\002"));
+ me->SendMessage(HostServ, u, " ");
+ me->SendMessage(HostServ, u, _("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;
}
void OnSyntaxError(User *u, const Anope::string &subcommand)
{
- me->NoticeLang(Config->s_HostServ, u, LNG_REQUEST_SYNTAX);
+ me->SendMessage(HostServ, u, _("Syntax: \002REQUEST \037vhost\037\002"));
}
void OnServHelp(User *u)
{
- me->NoticeLang(Config->s_HostServ, u, LNG_HELP);
+ me->SendMessage(HostServ, u, _(" REQUEST Request a vHost for your nick"));
}
};
@@ -186,41 +158,43 @@ class CommandHSActivate : public Command
na->hostinfo.SetVhost(it->second->ident, it->second->host, u->nick, it->second->time);
if (HSRequestMemoUser)
- my_memo_lang(u, na->nick, 2, LNG_ACTIVATE_MEMO);
+ memo_send(u, na->nick, _("[auto memo] Your requested vHost has been approved."), 2);
- me->NoticeLang(Config->s_HostServ, u, LNG_ACTIVATED, na->nick.c_str());
+ me->SendMessage(HostServ, u, _("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
- me->NoticeLang(Config->s_HostServ, u, LNG_NO_REQUEST, nick.c_str());
+ me->SendMessage(HostServ, u, _("No request for nick %s found."), nick.c_str());
}
else
- notice_lang(Config->s_HostServ, u, NICK_X_NOT_REGISTERED, nick.c_str());
+ u->SendMessage(HostServ, NICK_X_NOT_REGISTERED, nick.c_str());
return MOD_CONT;
}
bool OnHelp(User *u, const Anope::string &subcommand)
{
- me->NoticeLang(Config->s_HostServ, u, LNG_ACTIVATE_SYNTAX);
- u->SendMessage(Config->s_HostServ, " ");
- me->NoticeLang(Config->s_HostServ, u, LNG_HELP_ACTIVATE);
+ me->SendMessage(HostServ, u, _("Syntax: \002ACTIVATE \037nick\037\002"));
+ me->SendMessage(HostServ, u, " ");
+ me->SendMessage(HostServ, u, _("Activate the requested vHost for the given nick."));
if (HSRequestMemoUser)
- me->NoticeLang(Config->s_HostServ, u, LNG_HELP_ACTIVATE_MEMO);
+ me->SendMessage(HostServ, u, _("A memo informing the user will also be sent."));
return true;
}
void OnSyntaxError(User *u, const Anope::string &subcommand)
{
- me->NoticeLang(Config->s_HostServ, u, LNG_ACTIVATE_SYNTAX);
+ me->SendMessage(HostServ, u, _("Syntax: \002ACTIVATE \037nick\037\002"));
}
void OnServHelp(User *u)
{
- me->NoticeLang(Config->s_HostServ, u, LNG_HELP_SETTER);
+ me->SendMessage(HostServ, u, _(" ACTIVATE Approve the requested vHost of a user\n"
+ " REJECT Reject the requested vHost of a user\n"
+ " WAITING Convenience command for LIST +req"));
}
};
@@ -244,35 +218,38 @@ class CommandHSReject : public Command
if (HSRequestMemoUser)
{
+ char message[BUFSIZE];
if (!reason.empty())
- my_memo_lang(u, nick, 2, LNG_REJECT_MEMO_REASON, reason.c_str());
+ snprintf(message, sizeof(message), _("[auto memo] Your requested vHost has been rejected. Reason: %s"), reason.c_str());
else
- my_memo_lang(u, nick, 2, LNG_REJECT_MEMO);
+ snprintf(message, sizeof(message), _("[auto memo] Your requested vHost has been rejected."));
+
+ memo_send(u, nick, message, 2);
}
- me->NoticeLang(Config->s_HostServ, u, LNG_REJECTED, nick.c_str());
+ me->SendMessage(HostServ, u, _("vHost for %s has been rejected"), nick.c_str());
Log(LOG_COMMAND, u, this, NULL) << "to reject vhost for " << nick << " (" << (!reason.empty() ? reason : "") << ")";
}
else
- me->NoticeLang(Config->s_HostServ, u, LNG_NO_REQUEST, nick.c_str());
+ me->SendMessage(HostServ, u, _("No request for nick %s found."), nick.c_str());
return MOD_CONT;
}
bool OnHelp(User *u, const Anope::string &subcommand)
{
- me->NoticeLang(Config->s_HostServ, u, LNG_REJECT_SYNTAX);
- u->SendMessage(Config->s_HostServ, " ");
- me->NoticeLang(Config->s_HostServ, u, LNG_HELP_REJECT);
+ me->SendMessage(HostServ, u, _("Syntax: \002REJECT \037nick\037\002"));
+ me->SendMessage(HostServ, u, " ");
+ me->SendMessage(HostServ, u, _("Reject the requested vHost for the given nick."));
if (HSRequestMemoUser)
- me->NoticeLang(Config->s_HostServ, u, LNG_HELP_REJECT_MEMO);
+ me->SendMessage(HostServ, u, _("A memo informing the user will also be sent."));
return true;
}
void OnSyntaxError(User *u, const Anope::string &subcommand)
{
- me->NoticeLang(Config->s_HostServ, u, LNG_REJECT_SYNTAX);
+ me->SendMessage(HostServ, u, _("Syntax: \002REJECT \037nick\037\002"));
}
};
@@ -281,11 +258,9 @@ class HSListBase : public Command
protected:
CommandReturn DoList(User *u)
{
- char buf[BUFSIZE];
int counter = 1;
int from = 0, to = 0;
unsigned display_counter = 0;
- tm *tm;
for (RequestMap::iterator it = Requests.begin(), it_end = Requests.end(); it != it_end; ++it)
{
@@ -293,16 +268,14 @@ class HSListBase : public Command
if (((counter >= from && counter <= to) || (!from && !to)) && display_counter < Config->NSListMax)
{
++display_counter;
- tm = localtime(&hr->time);
- strftime(buf, sizeof(buf), getstring(u, STRFTIME_DATE_TIME_FORMAT), tm);
if (!hr->ident.empty())
- notice_lang(Config->s_HostServ, u, HOST_IDENT_ENTRY, counter, it->first.c_str(), hr->ident.c_str(), hr->host.c_str(), it->first.c_str(), buf);
+ u->SendMessage(HostServ, HOST_IDENT_ENTRY, counter, it->first.c_str(), hr->ident.c_str(), hr->host.c_str(), it->first.c_str(), do_strftime(hr->time).c_str());
else
- notice_lang(Config->s_HostServ, u, HOST_ENTRY, counter, it->first.c_str(), hr->host.c_str(), it->first.c_str(), buf);
+ u->SendMessage(HostServ, HOST_ENTRY, counter, it->first.c_str(), hr->host.c_str(), it->first.c_str(), do_strftime(hr->time).c_str());
}
++counter;
}
- notice_lang(Config->s_HostServ, u, HOST_LIST_FOOTER, display_counter);
+ u->SendMessage(HostServ, HOST_LIST_FOOTER, display_counter);
return MOD_CONT;
}
@@ -331,9 +304,10 @@ class CommandHSWaiting : public HSListBase
bool OnHelp(User *u, const Anope::string &subcommand)
{
- me->NoticeLang(Config->s_HostServ, u, LNG_WAITING_SYNTAX);
- u->SendMessage(Config->s_HostServ, " ");
- me->NoticeLang(Config->s_HostServ, u, LNG_HELP_WAITING);
+ me->SendMessage(HostServ, u, _("Syntax: \002WAITING\002"));
+ me->SendMessage(HostServ, u, " ");
+ me->SendMessage(HostServ, u, _("This command is provided for convenience. It is essentially\n"
+ "the same as performing a LIST +req ."));
return true;
}
@@ -356,269 +330,13 @@ class HSRequest : public Module
this->AddCommand(HostServ, &commandhsreject);
this->AddCommand(HostServ, &commandhswaiting);
- this->SetAuthor(AUTHOR);
+ this->SetAuthor("Anope");
this->SetType(SUPPORTED);
- my_load_config();
-
- const char *langtable_en_us[] = {
- /* LNG_REQUEST_SYNTAX */
- "Syntax: \002REQUEST \037vhost\037\002",
- /* LNG_REQUESTED */
- "Your vHost has been requested",
- /* LNG_REQUEST_WAIT */
- "Please wait %d seconds before requesting a new vHost",
- /* LNG_REQUEST_MEMO */
- "[auto memo] vHost \002%s\002 has been requested.",
- /* LNG_ACTIVATE_SYNTAX */
- "Syntax: \002ACTIVATE \037nick\037\002",
- /* LNG_ACTIVATED */
- "vHost for %s has been activated",
- /* LNG_ACTIVATE_MEMO */
- "[auto memo] Your requested vHost has been approved.",
- /* LNG_REJECT_SYNTAX */
- "Syntax: \002REJECT \037nick\037\002",
- /* LNG_REJECTED */
- "vHost for %s has been rejected",
- /* LNG_REJECT_MEMO */
- "[auto memo] Your requested vHost has been rejected.",
- /* LNG_REJECT_MEMO_REASON */
- "[auto memo] Your requested vHost has been rejected. Reason: %s",
- /* LNG_NO_REQUEST */
- "No request for nick %s found.",
- /* LNG_HELP */
- " REQUEST Request a vHost for your nick",
- /* LNG_HELP_SETTER */
- " ACTIVATE Approve the requested vHost of a user\n"
- " REJECT Reject the requested vHost of a user\n"
- " WAITING Convenience command for LIST +req",
- /* LNG_HELP_REQUEST */
- "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.",
- /* LNG_HELP_ACTIVATE */
- "Activate the requested vHost for the given nick.",
- /* LNG_HELP_ACTIVATE_MEMO */
- "A memo informing the user will also be sent.",
- /* LNG_HELP_REJECT */
- "Reject the requested vHost for the given nick.",
- /* LNG_HELP_REJECT_MEMO */
- "A memo informing the user will also be sent.",
- /* LNG_WAITING_SYNTAX */
- "Syntax: \002WAITING\002",
- /* LNG_HELP_WAITING */
- "This command is provided for convenience. It is essentially\n"
- "the same as performing a LIST +req ."
- };
-
- const char *langtable_nl[] = {
- /* LNG_REQUEST_SYNTAX */
- "Gebruik: \002REQUEST \037vhost\037\002",
- /* LNG_REQUESTED */
- "Je vHost is aangevraagd",
- /* LNG_REQUEST_WAIT */
- "Wacht %d seconden voor je een nieuwe vHost aanvraagt",
- /* LNG_REQUEST_MEMO */
- "[auto memo] vHost \002%s\002 is aangevraagd.",
- /* LNG_ACTIVATE_SYNTAX */
- "Gebruik: \002ACTIVATE \037nick\037\002",
- /* LNG_ACTIVATED */
- "vHost voor %s is geactiveerd",
- /* LNG_ACTIVATE_MEMO */
- "[auto memo] Je aangevraagde vHost is geaccepteerd.",
- /* LNG_REJECT_SYNTAX */
- "Gebruik: \002REJECT \037nick\037\002",
- /* LNG_REJECTED */
- "vHost voor %s is afgekeurd",
- /* LNG_REJECT_MEMO */
- "[auto memo] Je aangevraagde vHost is afgekeurd.",
- /* LNG_REJECT_MEMO_REASON */
- "[auto memo] Je aangevraagde vHost is afgekeurd. Reden: %s",
- /* LNG_NO_REQUEST */
- "Geen aanvraag voor nick %s gevonden.",
- /* LNG_HELP */
- " REQUEST Vraag een vHost aan voor je nick",
- /* LNG_HELP_SETTER */
- " ACTIVATE Activeer de aangevraagde vHost voor een gebruiker\n"
- " REJECT Keur de aangevraagde vHost voor een gebruiker af\n"
- " WAITING Snelkoppeling naar LIST +req",
- /* LNG_HELP_REQUEST */
- "Verzoek de gegeven vHost te activeren voor jouw nick bij de\n"
- "netwerk beheerders. Het kan even duren voordat je aanvraag\n"
- "afgehandeld wordt.",
- /* LNG_HELP_ACTIVATE */
- "Activeer de aangevraagde vHost voor de gegeven nick.",
- /* LNG_HELP_ACTIVATE_MEMO */
- "Een memo die de gebruiker op de hoogste stelt zal ook worden verstuurd.",
- /* LNG_HELP_REJECT */
- "Keur de aangevraagde vHost voor de gegeven nick af.",
- /* LNG_HELP_REJECT_MEMO */
- "Een memo die de gebruiker op de hoogste stelt zal ook worden verstuurd.",
- /* LNG_WAITING_SYNTAX */
- "Gebruik: \002WAITING\002",
- /* LNG_HELP_WAITING */
- "Dit commando is beschikbaar als handigheid. Het is simpelweg\n"
- "hetzelfde als LIST +req ."
- };
-
- const char *langtable_pt[] = {
- /* LNG_REQUEST_SYNTAX */
- "Sintaxe: \002REQUEST \037vhost\037\002",
- /* LNG_REQUESTED */
- "Seu pedido de vHost foi encaminhado",
- /* LNG_REQUEST_WAIT */
- "Por favor, espere %d segundos antes de fazer um novo pedido de vHost",
- /* LNG_REQUEST_MEMO */
- "[Auto Memo] O vHost \002%s\002 foi solicitado.",
- /* LNG_ACTIVATE_SYNTAX */
- "Sintaxe: \002ACTIVATE \037nick\037\002",
- /* LNG_ACTIVATED */
- "O vHost para %s foi ativado",
- /* LNG_ACTIVATE_MEMO */
- "[Auto Memo] Seu pedido de vHost foi aprovado.",
- /* LNG_REJECT_SYNTAX */
- "Sintaxe: \002REJECT \037nick\037\002",
- /* LNG_REJECTED */
- "O vHost de %s foi recusado",
- /* LNG_REJECT_MEMO */
- "[Auto Memo] Seu pedido de vHost foi recusado.",
- /* LNG_REJECT_MEMO_REASON */
- "[Auto Memo] Seu pedido de vHost foi recusado. Motivo: %s",
- /* LNG_NO_REQUEST */
- "Nenhum pedido encontrado para o nick %s.",
- /* LNG_HELP */
- " REQUEST Request a vHost for your nick",
- /* LNG_HELP_SETTER */
- " ACTIVATE Aprova o pedido de vHost de um usuбrio\n"
- " REJECT Recusa o pedido de vHost de um usuбrio\n"
- " WAITING Comando para LISTAR +req",
- /* LNG_HELP_REQUEST */
- "Solicita a ativaзгo do vHost fornecido em seu nick pelos\n"
- "administradores da rede. Por favor, tenha paciкncia\n"
- "enquanto seu pedido й analisado.",
- /* LNG_HELP_ACTIVATE */
- "Ativa o vHost solicitado para o nick fornecido.",
- /* LNG_HELP_ACTIVATE_MEMO */
- "Um memo informando o usuбrio tambйm serб enviado.",
- /* LNG_HELP_REJECT */
- "Recusa o pedido de vHost para o nick fornecido.",
- /* LNG_HELP_REJECT_MEMO */
- "Um memo informando o usuбrio tambйm serб enviado.",
- /* LNG_WAITING_SYNTAX */
- "Sintaxe: \002WAITING\002",
- /* LNG_HELP_WAITING */
- "Este comando й usado por conveniкncia. Й essencialmente\n"
- "o mesmo que fazer um LIST +req"
- };
-
- const char *langtable_ru[] = {
- /* LNG_REQUEST_SYNTAX */
- "Синтаксис: \002REQUEST \037vHost\037\002",
- /* LNG_REQUESTED */
- "Ваш запрос на vHost отправлен.",
- /* LNG_REQUEST_WAIT */
- "Пожалуйста, подождите %d секунд, прежде чем запрашивать новый vHost",
- /* LNG_REQUEST_MEMO */
- "[авто-сообщение] Был запрошен vHost \002%s\002",
- /* LNG_ACTIVATE_SYNTAX */
- "Синтаксис: \002ACTIVATE \037ник\037\002",
- /* LNG_ACTIVATED */
- "vHost для %s успешно активирован",
- /* LNG_ACTIVATE_MEMO */
- "[авто-сообщение] Запрашиваемый вами vHost утвержден и активирован.",
- /* LNG_REJECT_SYNTAX */
- "Синтаксис: \002REJECT \037ник\037\002",
- /* LNG_REJECTED */
- "vHost для %s отклонен.",
- /* LNG_REJECT_MEMO */
- "[авто-сообщение] Запрашиваемый вами vHost отклонен.",
- /* LNG_REJECT_MEMO_REASON */
- "[авто-сообщение] Запрашиваемый вами vHost отклонен. Причина: %s",
- /* LNG_NO_REQUEST */
- "Запрос на vHost для ника %s не найден.",
- /* LNG_HELP */
- " REQUEST Запрос на vHost для вашего текущего ника",
- /* LNG_HELP_SETTER */
- " ACTIVATE Утвердить запрашиваемый пользователем vHost\n"
- " REJECT Отклонить запрашиваемый пользователем vHost\n"
- " WAITING Список запросов ожидающих обработки (аналог LIST +req)",
- /* LNG_HELP_REQUEST */
- "Отправляет запрос на активацию vHost, который будет рассмотрен одним из\n"
- "администраторов сети. Просьба проявить терпение, пока запрос\n"
- "рассматривается администрацией.",
- /* LNG_HELP_ACTIVATE */
- "Утвердить запрашиваемый vHost для указанного ника.",
- /* LNG_HELP_ACTIVATE_MEMO */
- "Пользователю будет послано авто-уведомление об активации его запроса.",
- /* LNG_HELP_REJECT */
- "Отклонить запрашиваемый vHost для указанного ника.",
- /* LNG_HELP_REJECT_MEMO */
- "Пользователю будет послано авто-уведомление об отклонении его запроса.",
- /* LNG_WAITING_SYNTAX */
- "Синтаксис: \002WAITING\002",
- /* LNG_HELP_WAITING */
- "Данная команда создана для удобства использования и выводит список запросов,\n"
- "ожидающих обработки. Аналогичная команда: LIST +req ."
- };
-
- const char *langtable_it[] = {
- /* LNG_REQUEST_SYNTAX */
- "Sintassi: \002REQUEST \037vhost\037\002",
- /* LNG_REQUESTED */
- "Il tuo vHost и stato richiesto",
- /* LNG_REQUEST_WAIT */
- "Prego attendere %d secondi prima di richiedere un nuovo vHost",
- /* LNG_REQUEST_MEMO */
- "[auto memo] и stato richiesto il vHost \002%s\002.",
- /* LNG_ACTIVATE_SYNTAX */
- "Sintassi: \002ACTIVATE \037nick\037\002",
- /* LNG_ACTIVATED */
- "Il vHost per %s и stato attivato",
- /* LNG_ACTIVATE_MEMO */
- "[auto memo] Il vHost da te richiesto и stato approvato.",
- /* LNG_REJECT_SYNTAX */
- "Sintassi: \002REJECT \037nick\037\002",
- /* LNG_REJECTED */
- "Il vHost per %s и stato rifiutato",
- /* LNG_REJECT_MEMO */
- "[auto memo] Il vHost da te richiesto и stato rifiutato.",
- /* LNG_REJECT_MEMO_REASON */
- "[auto memo] Il vHost da te richiesto и stato rifiutato. Motivo: %s",
- /* LNG_NO_REQUEST */
- "Nessuna richiesta trovata per il nick %s.",
- /* LNG_HELP */
- " REQUEST Richiede un vHost per il tuo nick",
- /* LNG_HELP_SETTER */
- " ACTIVATE Approva il vHost richiesto di un utente\n"
- " REJECT Rifiuta il vHost richiesto di un utente\n"
- " WAITING Comando per LIST +req",
- /* LNG_HELP_REQUEST */
- "Richiede l'attivazione del vHost specificato per il tuo nick da parte\n"
- "degli amministratori di rete. Sei pregato di pazientare finchи la tua\n"
- "richiesta viene elaborata.",
- /* LNG_HELP_ACTIVATE */
- "Attiva il vHost richiesto per il nick specificato.",
- /* LNG_HELP_ACTIVATE_MEMO */
- "Viene inviato un memo per informare l'utente.",
- /* LNG_HELP_REJECT */
- "Rifiuta il vHost richiesto per il nick specificato.",
- /* LNG_HELP_REJECT_MEMO */
- "Viene inviato un memo per informare l'utente.",
- /* LNG_WAITING_SYNTAX */
- "Sintassi: \002WAITING\002",
- /* LNG_HELP_WAITING */
- "Questo comando и per comoditа. Praticamente и la stessa cosa che\n"
- "eseguire un LIST +req ."
- };
-
- this->InsertLanguage(LANG_EN_US, LNG_NUM_STRINGS, langtable_en_us);
- this->InsertLanguage(LANG_NL, LNG_NUM_STRINGS, langtable_nl);
- this->InsertLanguage(LANG_PT, LNG_NUM_STRINGS, langtable_pt);
- this->InsertLanguage(LANG_RU, LNG_NUM_STRINGS, langtable_ru);
- this->InsertLanguage(LANG_IT, LNG_NUM_STRINGS, langtable_it);
-
- Implementation i[] = { I_OnPreCommand, I_OnDatabaseRead, I_OnDatabaseWrite };
- ModuleManager::Attach(i, this, 3);
+ this->OnReload(false);
+
+ Implementation i[] = { I_OnPreCommand, I_OnDatabaseRead, I_OnDatabaseWrite, I_OnReload };
+ ModuleManager::Attach(i, this, 4);
}
~HSRequest()
@@ -693,51 +411,16 @@ class HSRequest : public Module
Write(buf.str());
}
}
-};
-void my_memo_lang(User *u, const Anope::string &name, int z, int number, ...)
-{
- va_list va;
- char buffer[4096], outbuf[4096];
- char *fmt = NULL;
- int lang = LANG_EN_US;
- char *s, *t, *buf;
- User *u2;
-
- u2 = finduser(name);
- /* Find the users lang, and use it if we cant */
- if (u2 && u2->Account())
- lang = u2->Account()->language;
-
- /* If the users lang isnt supported, drop back to enlgish */
- if (!me->lang[lang].argc)
- lang = LANG_EN_US;
-
- /* If the requested lang string exists for the language */
- if (me->lang[lang].argc > number)
+ void OnReload(bool)
{
- fmt = me->lang[lang].argv[number];
+ ConfigReader config;
+ HSRequestMemoUser = config.ReadFlag("hs_request", "memouser", "no", 0);
+ HSRequestMemoOper = config.ReadFlag("hs_request", "memooper", "no", 0);
- buf = strdup(fmt); // XXX
- s = buf;
- while (*s)
- {
- t = s;
- s += strcspn(s, "\n");
- if (*s)
- *s++ = '\0';
- strscpy(outbuf, t, sizeof(outbuf));
-
- va_start(va, number);
- vsnprintf(buffer, 4095, outbuf, va);
- va_end(va);
- memo_send(u, name, buffer, z);
- }
- free(buf); // XXX
+ Log(LOG_DEBUG) << "[hs_request] Set config vars: MemoUser=" << HSRequestMemoUser << " MemoOper=" << HSRequestMemoOper;
}
- else
- Log() << me->name << ": INVALID language string call, language: [" << lang << "], String [" << number << "]";
-}
+};
void req_send_memos(User *u, const Anope::string &vIdent, const Anope::string &vHost)
{
@@ -753,14 +436,10 @@ void req_send_memos(User *u, const Anope::string &vIdent, const Anope::string &v
for (it = Config->Opers.begin(), it_end = Config->Opers.end(); it != it_end; ++it)
{
Anope::string nick = it->first;
- my_memo_lang(u, nick, 2, LNG_REQUEST_MEMO, host.c_str());
+ char message[BUFSIZE];
+ snprintf(message, sizeof(message), _("[auto memo] vHost \002%s\002 has been requested."), host.c_str());
+ memo_send(u, nick, message, 2);
}
- if (HSRequestMemoSetters == 1)
- {
- /* Needs to be rethought because of removal of HostSetters in favor of opertype priv -- CyberBotX
- for (i = 0; i < HostNumber; ++i)
- my_memo_lang(u, HostSetters[i], z, LNG_REQUEST_MEMO, host);*/
- }
}
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)
@@ -778,22 +457,13 @@ void my_add_host_request(const Anope::string &nick, const Anope::string &vIdent,
Requests.insert(std::make_pair(nick, hr));
}
-int my_isvalidchar(char c)
-{
- if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9') || c == '.' || c == '-')
- return 1;
- else
- return 0;
-}
-
void my_load_config()
{
ConfigReader config;
HSRequestMemoUser = config.ReadFlag("hs_request", "memouser", "no", 0);
HSRequestMemoOper = config.ReadFlag("hs_request", "memooper", "no", 0);
- HSRequestMemoSetters = config.ReadFlag("hs_request", "memosetters", "no", 0);
- Log(LOG_DEBUG) << "[hs_request] Set config vars: MemoUser=" << HSRequestMemoUser << " MemoOper=" << HSRequestMemoOper << " MemoSetters=" << HSRequestMemoSetters;
+ Log(LOG_DEBUG) << "[hs_request] Set config vars: MemoUser=" << HSRequestMemoUser << " MemoOper=" << HSRequestMemoOper;
}
MODULE_INIT(HSRequest)