Anope IRC Services  Version 1.8
cs_enforce.c
Go to the documentation of this file.
1 /* cs_enforce - Add a /cs ENFORCE command to enforce various set
2  * options and channelmodes on a channel.
3  *
4  * (C) 2003-2014 Anope Team
5  * Contact us at team@anope.org
6  *
7  * Included in the Anope module pack since Anope 1.7.9
8  * Anope Coder: GeniusDex <geniusdex@anope.org>
9  *
10  * Please read COPYING and README for further details.
11  *
12  * Send any bug reports to the Anope Coder, as he will be able
13  * to deal with it best.
14  */
15 
16 #include "module.h"
17 
18 #define AUTHOR "Anope"
19 #define VERSION VERSION_STRING
20 
21 static int my_cs_enforce(User * u);
22 static void my_cs_help(User * u);
23 static int my_cs_help_enforce(User * u);
24 static void my_add_languages(void);
25 
26 #define LNG_NUM_STRINGS 6
27 
28 #define LNG_CHAN_HELP 0
29 #define LNG_ENFORCE_SYNTAX 1
30 #define LNG_CHAN_HELP_ENFORCE 2
31 #define LNG_CHAN_HELP_ENFORCE_R_ENABLED 3
32 #define LNG_CHAN_HELP_ENFORCE_R_DISABLED 4
33 #define LNG_CHAN_RESPONSE 5
34 
35 int AnopeInit(int argc, char **argv)
36 {
37  Command *c;
38  int status;
39 
43 
44  c = createCommand("ENFORCE", my_cs_enforce, NULL, -1, -1, -1, -1, -1);
45  if ((status = moduleAddCommand(CHANSERV, c, MOD_HEAD))) {
46  alog("[cs_enforce] Unable to create ENFORCE command: %d", status);
47  return MOD_STOP;
48  }
49 
52 
54 
55  return MOD_CONT;
56 }
57 
58 void AnopeFini(void)
59 {
60  /* Nothing to clean up */
61 }
62 
63 /* Enforcing functions */
65 {
66  struct c_userlist *user;
67  struct c_userlist *next;
68  ChannelInfo *ci;
69  uint32 flags;
70 
71  if (!(ci = c->ci))
72  return;
73 
74  if (debug)
75  alog("debug: cs_enforce: Enforcing SECUREOPS on %s", c->name);
76 
77  /* Dirty hack to allow chan_set_correct_modes to work ok.
78  * We pretend like SECUREOPS is on so it doesn't ignore that
79  * part of the code. This way we can enforce SECUREOPS even
80  * if it's off.
81  */
82  flags = ci->flags;
83  ci->flags |= CI_SECUREOPS;
84 
85  for (user = c->users; user; user = next) {
86  next = user->next;
87  chan_set_correct_modes(user->user, c, 0);
88  }
89 
90  ci->flags = flags;
91 }
92 
94 {
95  struct c_userlist *user;
96  struct c_userlist *next;
97  ChannelInfo *ci;
98  int16 old_nojoin_level;
99  char mask[BUFSIZE];
100  char *reason;
101  char *av[3];
102  User *u;
103 
104  if (!(ci = c->ci))
105  return;
106 
107  if (debug)
108  alog("debug: cs_enforce: Enforcing RESTRICTED on %s", c->name);
109 
110  old_nojoin_level = ci->levels[CA_NOJOIN];
111  if (ci->levels[CA_NOJOIN] < 0)
112  ci->levels[CA_NOJOIN] = 0;
113 
114  for (user = c->users; user; user = next) {
115  next = user->next;
116 
117  u = user->user;
118  if (check_access(u, c->ci, CA_NOJOIN)) {
119  get_idealban(ci, u, mask, sizeof(mask));
120  reason = getstring(u->na, CHAN_NOT_ALLOWED_TO_JOIN);
121  anope_cmd_mode(whosends(ci), ci->name, "+b %s %lu", mask,
122  time(NULL));
123  anope_cmd_kick(whosends(ci), ci->name, u->nick, "%s", reason);
124  av[0] = ci->name;
125  av[1] = u->nick;
126  av[2] = reason;
127  do_kick(s_ChanServ, 3, av);
128  }
129  }
130 
131  ci->levels[CA_NOJOIN] = old_nojoin_level;
132 }
133 
135 {
136  struct c_userlist *user;
137  struct c_userlist *next;
138  ChannelInfo *ci;
139  char mask[BUFSIZE];
140  char *reason;
141  char *av[3];
142  User *u;
143  CBMode *cbm;
144 
145  if (!(ci = c->ci))
146  return;
147 
148  if (debug)
149  alog("debug: cs_enforce: Enforcing mode +R on %s", c->name);
150 
151  for (user = c->users; user; user = next) {
152  next = user->next;
153 
154  u = user->user;
155  if (!nick_identified(u)) {
156  get_idealban(ci, u, mask, sizeof(mask));
157  reason = getstring(u->na, CHAN_NOT_ALLOWED_TO_JOIN);
158  if (((cbm = &cbmodes['R'])->flag == 0)
159  || !(c->mode & cbm->flag))
160  anope_cmd_mode(whosends(ci), ci->name, "+b %s %lu", mask,
161  time(NULL));
162  anope_cmd_kick(whosends(ci), ci->name, u->nick, "%s", reason);
163  av[0] = ci->name;
164  av[1] = u->nick;
165  av[2] = reason;
166  do_kick(s_ChanServ, 3, av);
167  }
168  }
169 }
170 
171 /* Enforcing Group Functions */
172 static void do_enforce_set(Channel * c)
173 {
174  ChannelInfo *ci;
175 
176  if (!(ci = c->ci))
177  return;
178 
179  if (ci->flags & CI_SECUREOPS)
181  if (ci->flags & CI_RESTRICTED)
183 }
184 
185 static void do_enforce_modes(Channel * c)
186 {
187  CBMode *cbm;
188 
189  if (((cbm = &cbmodes['R'])->flag != 0) && (c->mode & cbm->flag))
191 }
192 
193 /* End of enforcing functions */
194 
195 static int my_cs_enforce(User * u)
196 {
197  char *cur_buffer;
198  char *chan=NULL;
199  char *what=NULL;
200  Channel *c;
201  ChannelInfo *ci;
202 
203  cur_buffer = moduleGetLastBuffer();
204  chan = myStrGetToken(cur_buffer, ' ', 0);
205 
206  if (!chan) {
208  } else if (!(c = findchan(chan))) {
209  notice_lang(s_ChanServ, u, CHAN_X_NOT_IN_USE, chan);
210  } else if (!(ci = c->ci)) {
211  notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED, chan);
212  } else if (ci->flags & CI_VERBOTEN) {
213  notice_lang(s_ChanServ, u, CHAN_X_FORBIDDEN, ci->name);
214  } else if (!is_services_admin(u) && !check_access(u, ci, CA_AKICK)) {
215  notice_lang(s_ChanServ, u, PERMISSION_DENIED);
216  } else {
217  what = myStrGetToken(cur_buffer, ' ', 1);
218  if (!what || (stricmp(what, "SET") == 0)) {
219  do_enforce_set(c);
220  moduleNoticeLang(s_ChanServ,u,LNG_CHAN_RESPONSE, what ? what : "SET");
221  } else if (stricmp(what, "MODES") == 0) {
222  do_enforce_modes(c);
224  } else if (stricmp(what, "SECUREOPS") == 0) {
227  } else if (stricmp(what, "RESTRICTED") == 0) {
230  } else if (stricmp(what, "+R") == 0) {
233  } else {
235  }
236  }
237 
238  if(chan) free(chan);
239  if(what) free(what);
240 
241  return MOD_CONT;
242 }
243 
244 /* Language and response stuff */
245 static void my_cs_help(User * u)
246 {
248 }
249 
250 static int my_cs_help_enforce(User * u)
251 {
253  notice(s_ChanServ, u->nick, " ");
255  notice(s_ChanServ, u->nick, " ");
256  if (cbmodes['R'].flag != 0)
258  else
260 
261  return MOD_STOP;
262 }
263 
264 static void my_add_languages(void)
265 {
266  /* English (US) */
267  char *langtable_en_us[] = {
268  /* LNG_CHAN_HELP */
269  " ENFORCE Enforce various channel modes and set options",
270  /* LNG_ENFORCE_SYNTAX */
271  "Syntax: \002ENFORCE \037channel\037 [\037what\037]\002",
272  /* LNG_CHAN_HELP_ENFORCE */
273  "Enforce various channel modes and set options. The \037channel\037\n"
274  "option indicates what channel to enforce the modes and options\n"
275  "on. The \037what\037 option indicates what modes and options to\n"
276  "enforce, and can be any of SET, SECUREOPS, RESTRICTED, MODES,\n"
277  "or +R. When left out, it defaults to SET.\n"
278  " \n"
279  "If \037what\037 is SET, it will enforce SECUREOPS and RESTRICTED\n"
280  "on the users currently in the channel, if they are set. Give\n"
281  "SECUREOPS to enforce the SECUREOPS option, even if it is not\n"
282  "enabled. Use RESTRICTED to enfore the RESTRICTED option, also\n"
283  "if it's not enabled.",
284  /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */
285  "If \037what\037 is MODES, it will enforce channelmode +R if it is\n"
286  "set. If +R is specified for \037what\037, the +R channelmode will\n"
287  "also be enforced, but even if it is not set. If it is not set,\n"
288  "users will be banned to ensure they don't just rejoin.",
289  /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */
290  "If \037what\037 is MODES, nothing will be enforced, since it would\n"
291  "enforce modes that the current ircd does not support. If +R is\n"
292  "specified for \037what\037, an equalivant of channelmode +R on\n"
293  "other ircds will be enforced. All users that are in the channel\n"
294  "but have not identified for their nickname will be kicked and\n"
295  "banned from the channel.",
296  /* LNG_CHAN_RESPONSE */
297  "Enforced %s"
298  };
299 
300  /* Dutch (NL) */
301  char *langtable_nl[] = {
302  /* LNG_CHAN_HELP */
303  " ENFORCE Forceer enkele kanaalmodes en set-opties",
304  /* LNG_ENFORCE_SYNTAX */
305  "Syntax: \002ENFORCE \037kanaal\037 [\037wat\037]\002",
306  /* LNG_CHAN_HELP_ENFORCE */
307  "Forceer enkele kannalmodes en set-opties. De \037kanaal\037 optie\n"
308  "geeft aan op welk kanaal de modes en opties geforceerd moeten\n"
309  "worden. De \037wat\037 optie geeft aan welke modes en opties\n"
310  "geforceerd moeten worden; dit kan SET, SECUREOPS, RESTRICTED,\n"
311  "MODES, of +R zijn. Indien weggelaten is dit standaard SET.\n"
312  " \n"
313  "Als er voor \037wat\037 SET wordt ingevuld, zullen SECUREOPS en\n"
314  "RESTRICTED geforceerd worden op de gebruikers in het kanaal,\n"
315  "maar alleen als die opties aangezet zijn voor het kanaal. Als\n"
316  "SECUREOPS of RESTRICTED wordt gegeven voor \037wat\037 zal die optie\n"
317  "altijd geforceerd worden, ook als die niet is aangezet.",
318  /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */
319  "Als er voor \037wat\037 MODES wordt ingevuld, zal kanaalmode +R worden\n"
320  "geforceerd, als die op het kanaal aan staat. Als +R wordt ingevuld,\n"
321  "zal kanaalmode +R worden geforceerd, maar ook als die niet aan"
322  "staat voor het kanaal. Als +R niet aan staat, zullen alle ook\n"
323  "gebanned worden om te zorgen dat ze niet opnieuw het kanaal binnen\n"
324  "kunnen komen.",
325  /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */
326  "Als er voor \037wat\037 MODES wordt ingevuld, zal er niks gebeuren.\n"
327  "Normaal gesproken wordt er een kanaalmode geforceerd die op deze\n"
328  "server niet ondersteund wordt. Als +R wordt ingevuld voor \037wat\037\n"
329  "zullen alle gebruikers die in het kanaal zitten maar zich niet\n"
330  "hebben geidentificeerd voor hun nick uit het kanaal gekicked en\n"
331  "verbannen worden.",
332  /* LNG_CHAN_RESPONSE */
333  "Enforced %s"
334  };
335 
336  /* German (DE) */
337  char *langtable_de[] = {
338  /* LNG_CHAN_HELP */
339  " ENFORCE Erzwingt verschieden Modes und SET Optionen",
340  /* LNG_ENFORCE_SYNTAX */
341  "Syntax: \002ENFORCE \037Channel\037 [\037was\037]\002",
342  /* LNG_CHAN_HELP_ENFORCE */
343  "Erzwingt verschieden Modes und SET Optionen. Die \037Channel\037\n"
344  "Option zeigt dir den Channel an, indem Modes und Optionen\n"
345  "zu erzwingen sind. Die \037was\037 Option zeigt dir welche Modes\n"
346  "und Optionen zu erzwingen sind. Die knnen nur SET, SECUREOPS,\n"
347  "RESTRICTED, MODES oder +R sein.Default ist SET.\n"
348  " \n"
349  "Wenn \037was\037 SET ist, wird SECUREOPS und RESTRICTED\n"
350  "auf die User die z.Z.in Channel sind erzwungen, wenn sie AN sind.\n"
351  "Benutze SECUREOPS oder RESTRICTED , um die Optionen einzeln\n"
352  "zu erzwingen, also wenn sie nicht eingeschaltet sind.",
353  /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */
354  "Wenn \037was\037 MODES ist, wird das ChannelMode +R erzwungen\n"
355  "falls an. Wenn \037was\037 +R ist, wird +R erzwungen aber eben\n"
356  "wenn noch nicht als Channel-Mode ist. Wenn +R noch nicht als\n"
357  "Channel-Mode war werden alle User aus den Channel gebannt um\n"
358  "sicher zu sein das sie nicht rejoinen.",
359  /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */
360  "Wenn \037was\037 MODES ist, wird nichts erzwungen weil es MODES seine\n"
361  "knnen die dein IRCD nicht untersttzt. Wenn \037was\037 +R ist\n"
362  "oder ein Modes was auf ein anderen IRCD gleich +R ist, wird es\n"
363  "erzwungen. Alle User die nicht fr deren Nicknamen identifiziert\n"
364  "sind werden aus den Channel gekickt und gebannt.",
365  /* LNG_CHAN_RESPONSE */
366  "Erzwungen %s"
367  };
368 
369  /* Portuguese (PT) */
370  char *langtable_pt[] = {
371  /* LNG_CHAN_HELP */
372  " ENFORCE Verifica o cumprimento de vrios modos de canal e opes ajustadas",
373  /* LNG_ENFORCE_SYNTAX */
374  "Sintaxe: \002ENFORCE \037canal\037 [\037opo\037]\002",
375  /* LNG_CHAN_HELP_ENFORCE */
376  "Verifica o cumprimento de vrios modos de canal e opes ajustadas.\n"
377  "O campo \037canal\037 indica qual canal deve ter os modos e opes verificadas\n"
378  "O campo \037opo\037 indica quais modos e opes devem ser verificadas,\n"
379  "e pode ser: SET, SECUREOPS, RESTRICTED, MODES ou +R\n"
380  "Quando deixado em branco, o padro SET.\n"
381  " \n"
382  "Se \037opo\037 for SET, sero verificadas as opes SECUREOPS e RESTRICTED\n"
383  "para usurios que estiverem no canal, caso elas estejam ativadas. Use\n"
384  "SECUREOPS para verificar a opo SECUREOPS, mesmo que ela no esteja ativada\n"
385  "Use RESTRICTED para verificar a opo RESTRICTED, mesmo que ela no esteja\n"
386  "ativada.",
387  /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */
388  "Se \037opo\037 for MODES, ser verificado o modo de canal +R caso ele\n"
389  "esteja ativado. Se +R for especificado para \037opo\037, o modo de canal\n"
390  "+R tambm ser verificado, mesmo que ele no esteja ativado. Se ele no\n"
391  "estiver ativado, os usurios sero banidos para evitar que reentrem no canal.",
392  /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */
393  "Se \037opo\037 for MODES, nada ser verificado, visto que isto poderia\n"
394  "verificar modos que o IRCd atual no suporta. Se +R for especificado\n"
395  "para \037opo\037, um equivalente ao modo de canal +R em outros IRCds\n"
396  "ser verificado. Todos os usurios que esto no canal, mas no estejam\n"
397  "identificados para seus nicks sero kickados e banidos do canal.",
398  /* LNG_CHAN_RESPONSE */
399  "Verificado %s"
400  };
401 
402  /* Russian (RU) */
403  char *langtable_ru[] = {
404  /* LNG_CHAN_HELP */
405  " ENFORCE ",
406  /* LNG_ENFORCE_SYNTAX */
407  ": \002ENFORCE \037#037 \037\037\002", /* LNG_CHAN_HELP_ENFORCE */ " .\n" "\037\037 \n" ". : SET, SECUREOPS,\n" "RESTRICTED, MODES, +R. , - SET.\n" " \n" " \037\037 SET, \n" "SECUREOPS RESTRICTED \n" "( , ). SECUREOPS\n" " SECUREOPS ( \037\037 ). \n" "RESTRICTED RESTRICTED ( \037\037 )", /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */ " \037\037 MODES, +R\n" "( ). \037+R\037 \n" " +R, , ,\n" " .", /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */ " \037\037 MODES, \n" " , IRCD .\n" " \037+R\037 , \n" " +R , \n" " .", /* LNG_CHAN_RESPONSE */ ": %s" }; /* Italian (IT) */ char *langtable_it[] = { /* LNG_CHAN_HELP */ " ENFORCE Forza diversi modi di canale ed opzioni SET", /* LNG_ENFORCE_SYNTAX */ "Sintassi: \002ENFORCE \037canale\037 [\037cosa\037]\002", /* LNG_CHAN_HELP_ENFORCE */ "Forza diversi modi di canale ed opzioni SET. Il parametro \037canale\037\n" "indica il canale sul quale forzare i modi e le opzioni. Il parametro\n" "\037cosa\037 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 \037cosa\037 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.", /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */ "Se \037cosa\037 MODES, forzer il modo del canale +R se impostato.\n" "Se +R specificato per \037cosa\037, 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.", /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */ "Se \037cosa\037 MODES, niente verr forzato, siccome forzerebbe\n" "dei modi che l'ircd in uso non supporterebbe. Se +R specificato\n" "per \037cosa\037, 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.\n", /* LNG_CHAN_RESPONSE */ "Forzato %s" }; /* French (FR) */ char *langtable_fr[] = { /* LNG_CHAN_HELP */ " ENFORCE Renforce divers modes et options de salons", /* LNG_ENFORCE_SYNTAX */ "Syntaxe: \002ENFORCE \037canal\037 [\037option\037]\002", /* LNG_CHAN_HELP_ENFORCE */ "Renforce divers modes et options de salons. Le paramtre \037canal\037\n" "indique pour quel canal renforcer les options ou modes.\n" "Le paramtre \037option\037 indique quels modes et options\n" "renforcer, et peut tre SET, SECUREOPS, RESTRICTED, MODES,\n" "ou +R. Par dfaut, il est SET.\n" " \n" "Si \037option\037 est SET, cela renforce les options SECUREOPS et RESTRICTED\n" "pour les utilisateur prsents sur le canal, si elles sont dj actives. Indiquez\n" "SECUREOPS pour renforcer l'option SECUREOPS, mme si ce n'est pas dj\n" "activ. Utilisez RESTRICTED pour renforcer l'option RESTRICTED, galement\n" "mme si ce n'est pas dj activ.", /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */ "Si \037option\037 est MODES, cela renforce le mode de canal +R s'il est\n" "actif. Si +R est spcifi pour \037option\037, le mode de canal +R sera\n" "galement renforc, et mme s'il n'est pas dj actif. S'il n'est pas actif,\n" "les utilisateurs seront bannis pour tre sr qu'ils ne reviennent pas.", /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */ "Si \037option\037 est MODES, rien ne sera renforc, car cela\n" "renforcerait des modes que le serveur Irc ne connait pas. Si +R est\n" "specifi pour \037option\037, un quivalent du mode de canal +R des\n" "autres serveurs Irc sera appliqu. Tous les utilisateurs qui sont sur le canal\n" "mais non identifis avec leur pseudo d'inscrit seront jects et\n" "bannis du canal.", /* LNG_CHAN_RESPONSE */ "Renforc %s" }; moduleInsertLanguage(LANG_EN_US, LNG_NUM_STRINGS, langtable_en_us); moduleInsertLanguage(LANG_NL, LNG_NUM_STRINGS, langtable_nl); moduleInsertLanguage(LANG_DE, LNG_NUM_STRINGS, langtable_de); moduleInsertLanguage(LANG_PT, LNG_NUM_STRINGS, langtable_pt); moduleInsertLanguage(LANG_RU, LNG_NUM_STRINGS, langtable_ru); moduleInsertLanguage(LANG_IT, LNG_NUM_STRINGS, langtable_it); moduleInsertLanguage(LANG_FR, LNG_NUM_STRINGS, langtable_fr); } /* EOF */ \037 \037\037\002",
408  /* LNG_CHAN_HELP_ENFORCE */
409  " .\n"
410  "\037\037 \n"
411  ". : SET, SECUREOPS,\n"
412  "RESTRICTED, MODES, +R. , - SET.\n"
413  " \n"
414  " \037037 SET, \n" "SECUREOPS RESTRICTED \n" "( , ). SECUREOPS\n" " SECUREOPS ( \037\037 ). \n" "RESTRICTED RESTRICTED ( \037\037 )", /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */ " \037\037 MODES, +R\n" "( ). \037+R\037 \n" " +R, , ,\n" " .", /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */ " \037\037 MODES, \n" " , IRCD .\n" " \037+R\037 , \n" " +R , \n" " .", /* LNG_CHAN_RESPONSE */ ": %s" }; /* Italian (IT) */ char *langtable_it[] = { /* LNG_CHAN_HELP */ " ENFORCE Forza diversi modi di canale ed opzioni SET", /* LNG_ENFORCE_SYNTAX */ "Sintassi: \002ENFORCE \037canale\037 [\037cosa\037]\002", /* LNG_CHAN_HELP_ENFORCE */ "Forza diversi modi di canale ed opzioni SET. Il parametro \037canale\037\n" "indica il canale sul quale forzare i modi e le opzioni. Il parametro\n" "\037cosa\037 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 \037cosa\037 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.", /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */ "Se \037cosa\037 MODES, forzer il modo del canale +R se impostato.\n" "Se +R specificato per \037cosa\037, 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.", /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */ "Se \037cosa\037 MODES, niente verr forzato, siccome forzerebbe\n" "dei modi che l'ircd in uso non supporterebbe. Se +R specificato\n" "per \037cosa\037, 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.\n", /* LNG_CHAN_RESPONSE */ "Forzato %s" }; /* French (FR) */ char *langtable_fr[] = { /* LNG_CHAN_HELP */ " ENFORCE Renforce divers modes et options de salons", /* LNG_ENFORCE_SYNTAX */ "Syntaxe: \002ENFORCE \037canal\037 [\037option\037]\002", /* LNG_CHAN_HELP_ENFORCE */ "Renforce divers modes et options de salons. Le paramtre \037canal\037\n" "indique pour quel canal renforcer les options ou modes.\n" "Le paramtre \037option\037 indique quels modes et options\n" "renforcer, et peut tre SET, SECUREOPS, RESTRICTED, MODES,\n" "ou +R. Par dfaut, il est SET.\n" " \n" "Si \037option\037 est SET, cela renforce les options SECUREOPS et RESTRICTED\n" "pour les utilisateur prsents sur le canal, si elles sont dj actives. Indiquez\n" "SECUREOPS pour renforcer l'option SECUREOPS, mme si ce n'est pas dj\n" "activ. Utilisez RESTRICTED pour renforcer l'option RESTRICTED, galement\n" "mme si ce n'est pas dj activ.", /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */ "Si \037option\037 est MODES, cela renforce le mode de canal +R s'il est\n" "actif. Si +R est spcifi pour \037option\037, le mode de canal +R sera\n" "galement renforc, et mme s'il n'est pas dj actif. S'il n'est pas actif,\n" "les utilisateurs seront bannis pour tre sr qu'ils ne reviennent pas.", /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */ "Si \037option\037 est MODES, rien ne sera renforc, car cela\n" "renforcerait des modes que le serveur Irc ne connait pas. Si +R est\n" "specifi pour \037option\037, un quivalent du mode de canal +R des\n" "autres serveurs Irc sera appliqu. Tous les utilisateurs qui sont sur le canal\n" "mais non identifis avec leur pseudo d'inscrit seront jects et\n" "bannis du canal.", /* LNG_CHAN_RESPONSE */ "Renforc %s" }; moduleInsertLanguage(LANG_EN_US, LNG_NUM_STRINGS, langtable_en_us); moduleInsertLanguage(LANG_NL, LNG_NUM_STRINGS, langtable_nl); moduleInsertLanguage(LANG_DE, LNG_NUM_STRINGS, langtable_de); moduleInsertLanguage(LANG_PT, LNG_NUM_STRINGS, langtable_pt); moduleInsertLanguage(LANG_RU, LNG_NUM_STRINGS, langtable_ru); moduleInsertLanguage(LANG_IT, LNG_NUM_STRINGS, langtable_it); moduleInsertLanguage(LANG_FR, LNG_NUM_STRINGS, langtable_fr); } /* EOF */ \037 SET, n" "SECUREOPS RESTRICTED \n" "( , ). SECUREOPS\n" " SECUREOPS ( \037\037 ). \n" "RESTRICTED RESTRICTED ( \037\037 )", /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */ " \037\037 MODES, +R\n" "( ). \037+R\037 \n" " +R, , ,\n" " .", /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */ " \037\037 MODES, \n" " , IRCD .\n" " \037+R\037 , \n" " +R , \n" " .", /* LNG_CHAN_RESPONSE */ ": %s" }; /* Italian (IT) */ char *langtable_it[] = { /* LNG_CHAN_HELP */ " ENFORCE Forza diversi modi di canale ed opzioni SET", /* LNG_ENFORCE_SYNTAX */ "Sintassi: \002ENFORCE \037canale\037 [\037cosa\037]\002", /* LNG_CHAN_HELP_ENFORCE */ "Forza diversi modi di canale ed opzioni SET. Il parametro \037canale\037\n" "indica il canale sul quale forzare i modi e le opzioni. Il parametro\n" "\037cosa\037 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 \037cosa\037 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.", /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */ "Se \037cosa\037 MODES, forzer il modo del canale +R se impostato.\n" "Se +R specificato per \037cosa\037, 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.", /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */ "Se \037cosa\037 MODES, niente verr forzato, siccome forzerebbe\n" "dei modi che l'ircd in uso non supporterebbe. Se +R specificato\n" "per \037cosa\037, 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.\n", /* LNG_CHAN_RESPONSE */ "Forzato %s" }; /* French (FR) */ char *langtable_fr[] = { /* LNG_CHAN_HELP */ " ENFORCE Renforce divers modes et options de salons", /* LNG_ENFORCE_SYNTAX */ "Syntaxe: \002ENFORCE \037canal\037 [\037option\037]\002", /* LNG_CHAN_HELP_ENFORCE */ "Renforce divers modes et options de salons. Le paramtre \037canal\037\n" "indique pour quel canal renforcer les options ou modes.\n" "Le paramtre \037option\037 indique quels modes et options\n" "renforcer, et peut tre SET, SECUREOPS, RESTRICTED, MODES,\n" "ou +R. Par dfaut, il est SET.\n" " \n" "Si \037option\037 est SET, cela renforce les options SECUREOPS et RESTRICTED\n" "pour les utilisateur prsents sur le canal, si elles sont dj actives. Indiquez\n" "SECUREOPS pour renforcer l'option SECUREOPS, mme si ce n'est pas dj\n" "activ. Utilisez RESTRICTED pour renforcer l'option RESTRICTED, galement\n" "mme si ce n'est pas dj activ.", /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */ "Si \037option\037 est MODES, cela renforce le mode de canal +R s'il est\n" "actif. Si +R est spcifi pour \037option\037, le mode de canal +R sera\n" "galement renforc, et mme s'il n'est pas dj actif. S'il n'est pas actif,\n" "les utilisateurs seront bannis pour tre sr qu'ils ne reviennent pas.", /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */ "Si \037option\037 est MODES, rien ne sera renforc, car cela\n" "renforcerait des modes que le serveur Irc ne connait pas. Si +R est\n" "specifi pour \037option\037, un quivalent du mode de canal +R des\n" "autres serveurs Irc sera appliqu. Tous les utilisateurs qui sont sur le canal\n" "mais non identifis avec leur pseudo d'inscrit seront jects et\n" "bannis du canal.", /* LNG_CHAN_RESPONSE */ "Renforc %s" }; moduleInsertLanguage(LANG_EN_US, LNG_NUM_STRINGS, langtable_en_us); moduleInsertLanguage(LANG_NL, LNG_NUM_STRINGS, langtable_nl); moduleInsertLanguage(LANG_DE, LNG_NUM_STRINGS, langtable_de); moduleInsertLanguage(LANG_PT, LNG_NUM_STRINGS, langtable_pt); moduleInsertLanguage(LANG_RU, LNG_NUM_STRINGS, langtable_ru); moduleInsertLanguage(LANG_IT, LNG_NUM_STRINGS, langtable_it); moduleInsertLanguage(LANG_FR, LNG_NUM_STRINGS, langtable_fr); } /* EOF */ \n"
415  "SECUREOPS RESTRICTED \n"
416  "( , ). SECUREOPS\n"
417  " SECUREOPS ( \037\037 ). \n"
418  "RESTRICTED RESTRICTED ( \037\037 )",
419  /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */
420  " \037037 MODES, +R\n" "( ). \037+R\037 \n" " +R, , ,\n" " .", /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */ " \037\037 MODES, \n" " , IRCD .\n" " \037+R\037 , \n" " +R , \n" " .", /* LNG_CHAN_RESPONSE */ ": %s" }; /* Italian (IT) */ char *langtable_it[] = { /* LNG_CHAN_HELP */ " ENFORCE Forza diversi modi di canale ed opzioni SET", /* LNG_ENFORCE_SYNTAX */ "Sintassi: \002ENFORCE \037canale\037 [\037cosa\037]\002", /* LNG_CHAN_HELP_ENFORCE */ "Forza diversi modi di canale ed opzioni SET. Il parametro \037canale\037\n" "indica il canale sul quale forzare i modi e le opzioni. Il parametro\n" "\037cosa\037 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 \037cosa\037 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.", /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */ "Se \037cosa\037 MODES, forzer il modo del canale +R se impostato.\n" "Se +R specificato per \037cosa\037, 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.", /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */ "Se \037cosa\037 MODES, niente verr forzato, siccome forzerebbe\n" "dei modi che l'ircd in uso non supporterebbe. Se +R specificato\n" "per \037cosa\037, 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.\n", /* LNG_CHAN_RESPONSE */ "Forzato %s" }; /* French (FR) */ char *langtable_fr[] = { /* LNG_CHAN_HELP */ " ENFORCE Renforce divers modes et options de salons", /* LNG_ENFORCE_SYNTAX */ "Syntaxe: \002ENFORCE \037canal\037 [\037option\037]\002", /* LNG_CHAN_HELP_ENFORCE */ "Renforce divers modes et options de salons. Le paramtre \037canal\037\n" "indique pour quel canal renforcer les options ou modes.\n" "Le paramtre \037option\037 indique quels modes et options\n" "renforcer, et peut tre SET, SECUREOPS, RESTRICTED, MODES,\n" "ou +R. Par dfaut, il est SET.\n" " \n" "Si \037option\037 est SET, cela renforce les options SECUREOPS et RESTRICTED\n" "pour les utilisateur prsents sur le canal, si elles sont dj actives. Indiquez\n" "SECUREOPS pour renforcer l'option SECUREOPS, mme si ce n'est pas dj\n" "activ. Utilisez RESTRICTED pour renforcer l'option RESTRICTED, galement\n" "mme si ce n'est pas dj activ.", /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */ "Si \037option\037 est MODES, cela renforce le mode de canal +R s'il est\n" "actif. Si +R est spcifi pour \037option\037, le mode de canal +R sera\n" "galement renforc, et mme s'il n'est pas dj actif. S'il n'est pas actif,\n" "les utilisateurs seront bannis pour tre sr qu'ils ne reviennent pas.", /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */ "Si \037option\037 est MODES, rien ne sera renforc, car cela\n" "renforcerait des modes que le serveur Irc ne connait pas. Si +R est\n" "specifi pour \037option\037, un quivalent du mode de canal +R des\n" "autres serveurs Irc sera appliqu. Tous les utilisateurs qui sont sur le canal\n" "mais non identifis avec leur pseudo d'inscrit seront jects et\n" "bannis du canal.", /* LNG_CHAN_RESPONSE */ "Renforc %s" }; moduleInsertLanguage(LANG_EN_US, LNG_NUM_STRINGS, langtable_en_us); moduleInsertLanguage(LANG_NL, LNG_NUM_STRINGS, langtable_nl); moduleInsertLanguage(LANG_DE, LNG_NUM_STRINGS, langtable_de); moduleInsertLanguage(LANG_PT, LNG_NUM_STRINGS, langtable_pt); moduleInsertLanguage(LANG_RU, LNG_NUM_STRINGS, langtable_ru); moduleInsertLanguage(LANG_IT, LNG_NUM_STRINGS, langtable_it); moduleInsertLanguage(LANG_FR, LNG_NUM_STRINGS, langtable_fr); } /* EOF */ \037 MODES, +R\n"
421  "( ). \037+R\037 \n"
422  " +R, , ,\n"
423  " .",
424  /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */
425  " \037037 MODES, \n" " , IRCD .\n" " \037+R\037 , \n" " +R , \n" " .", /* LNG_CHAN_RESPONSE */ ": %s" }; /* Italian (IT) */ char *langtable_it[] = { /* LNG_CHAN_HELP */ " ENFORCE Forza diversi modi di canale ed opzioni SET", /* LNG_ENFORCE_SYNTAX */ "Sintassi: \002ENFORCE \037canale\037 [\037cosa\037]\002", /* LNG_CHAN_HELP_ENFORCE */ "Forza diversi modi di canale ed opzioni SET. Il parametro \037canale\037\n" "indica il canale sul quale forzare i modi e le opzioni. Il parametro\n" "\037cosa\037 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 \037cosa\037 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.", /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */ "Se \037cosa\037 MODES, forzer il modo del canale +R se impostato.\n" "Se +R specificato per \037cosa\037, 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.", /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */ "Se \037cosa\037 MODES, niente verr forzato, siccome forzerebbe\n" "dei modi che l'ircd in uso non supporterebbe. Se +R specificato\n" "per \037cosa\037, 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.\n", /* LNG_CHAN_RESPONSE */ "Forzato %s" }; /* French (FR) */ char *langtable_fr[] = { /* LNG_CHAN_HELP */ " ENFORCE Renforce divers modes et options de salons", /* LNG_ENFORCE_SYNTAX */ "Syntaxe: \002ENFORCE \037canal\037 [\037option\037]\002", /* LNG_CHAN_HELP_ENFORCE */ "Renforce divers modes et options de salons. Le paramtre \037canal\037\n" "indique pour quel canal renforcer les options ou modes.\n" "Le paramtre \037option\037 indique quels modes et options\n" "renforcer, et peut tre SET, SECUREOPS, RESTRICTED, MODES,\n" "ou +R. Par dfaut, il est SET.\n" " \n" "Si \037option\037 est SET, cela renforce les options SECUREOPS et RESTRICTED\n" "pour les utilisateur prsents sur le canal, si elles sont dj actives. Indiquez\n" "SECUREOPS pour renforcer l'option SECUREOPS, mme si ce n'est pas dj\n" "activ. Utilisez RESTRICTED pour renforcer l'option RESTRICTED, galement\n" "mme si ce n'est pas dj activ.", /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */ "Si \037option\037 est MODES, cela renforce le mode de canal +R s'il est\n" "actif. Si +R est spcifi pour \037option\037, le mode de canal +R sera\n" "galement renforc, et mme s'il n'est pas dj actif. S'il n'est pas actif,\n" "les utilisateurs seront bannis pour tre sr qu'ils ne reviennent pas.", /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */ "Si \037option\037 est MODES, rien ne sera renforc, car cela\n" "renforcerait des modes que le serveur Irc ne connait pas. Si +R est\n" "specifi pour \037option\037, un quivalent du mode de canal +R des\n" "autres serveurs Irc sera appliqu. Tous les utilisateurs qui sont sur le canal\n" "mais non identifis avec leur pseudo d'inscrit seront jects et\n" "bannis du canal.", /* LNG_CHAN_RESPONSE */ "Renforc %s" }; moduleInsertLanguage(LANG_EN_US, LNG_NUM_STRINGS, langtable_en_us); moduleInsertLanguage(LANG_NL, LNG_NUM_STRINGS, langtable_nl); moduleInsertLanguage(LANG_DE, LNG_NUM_STRINGS, langtable_de); moduleInsertLanguage(LANG_PT, LNG_NUM_STRINGS, langtable_pt); moduleInsertLanguage(LANG_RU, LNG_NUM_STRINGS, langtable_ru); moduleInsertLanguage(LANG_IT, LNG_NUM_STRINGS, langtable_it); moduleInsertLanguage(LANG_FR, LNG_NUM_STRINGS, langtable_fr); } /* EOF */ \037 MODES, \n"
426  " , IRCD .\n"
427  " \037+R\037 , n" " +R , \n" " .", /* LNG_CHAN_RESPONSE */ ": %s" }; /* Italian (IT) */ char *langtable_it[] = { /* LNG_CHAN_HELP */ " ENFORCE Forza diversi modi di canale ed opzioni SET", /* LNG_ENFORCE_SYNTAX */ "Sintassi: \002ENFORCE \037canale\037 [\037cosa\037]\002", /* LNG_CHAN_HELP_ENFORCE */ "Forza diversi modi di canale ed opzioni SET. Il parametro \037canale\037\n" "indica il canale sul quale forzare i modi e le opzioni. Il parametro\n" "\037cosa\037 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 \037cosa\037 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.", /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */ "Se \037cosa\037 MODES, forzer il modo del canale +R se impostato.\n" "Se +R specificato per \037cosa\037, 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.", /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */ "Se \037cosa\037 MODES, niente verr forzato, siccome forzerebbe\n" "dei modi che l'ircd in uso non supporterebbe. Se +R specificato\n" "per \037cosa\037, 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.\n", /* LNG_CHAN_RESPONSE */ "Forzato %s" }; /* French (FR) */ char *langtable_fr[] = { /* LNG_CHAN_HELP */ " ENFORCE Renforce divers modes et options de salons", /* LNG_ENFORCE_SYNTAX */ "Syntaxe: \002ENFORCE \037canal\037 [\037option\037]\002", /* LNG_CHAN_HELP_ENFORCE */ "Renforce divers modes et options de salons. Le paramtre \037canal\037\n" "indique pour quel canal renforcer les options ou modes.\n" "Le paramtre \037option\037 indique quels modes et options\n" "renforcer, et peut tre SET, SECUREOPS, RESTRICTED, MODES,\n" "ou +R. Par dfaut, il est SET.\n" " \n" "Si \037option\037 est SET, cela renforce les options SECUREOPS et RESTRICTED\n" "pour les utilisateur prsents sur le canal, si elles sont dj actives. Indiquez\n" "SECUREOPS pour renforcer l'option SECUREOPS, mme si ce n'est pas dj\n" "activ. Utilisez RESTRICTED pour renforcer l'option RESTRICTED, galement\n" "mme si ce n'est pas dj activ.", /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */ "Si \037option\037 est MODES, cela renforce le mode de canal +R s'il est\n" "actif. Si +R est spcifi pour \037option\037, le mode de canal +R sera\n" "galement renforc, et mme s'il n'est pas dj actif. S'il n'est pas actif,\n" "les utilisateurs seront bannis pour tre sr qu'ils ne reviennent pas.", /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */ "Si \037option\037 est MODES, rien ne sera renforc, car cela\n" "renforcerait des modes que le serveur Irc ne connait pas. Si +R est\n" "specifi pour \037option\037, un quivalent du mode de canal +R des\n" "autres serveurs Irc sera appliqu. Tous les utilisateurs qui sont sur le canal\n" "mais non identifis avec leur pseudo d'inscrit seront jects et\n" "bannis du canal.", /* LNG_CHAN_RESPONSE */ "Renforc %s" }; moduleInsertLanguage(LANG_EN_US, LNG_NUM_STRINGS, langtable_en_us); moduleInsertLanguage(LANG_NL, LNG_NUM_STRINGS, langtable_nl); moduleInsertLanguage(LANG_DE, LNG_NUM_STRINGS, langtable_de); moduleInsertLanguage(LANG_PT, LNG_NUM_STRINGS, langtable_pt); moduleInsertLanguage(LANG_RU, LNG_NUM_STRINGS, langtable_ru); moduleInsertLanguage(LANG_IT, LNG_NUM_STRINGS, langtable_it); moduleInsertLanguage(LANG_FR, LNG_NUM_STRINGS, langtable_fr); } /* EOF */ \n"
428  " +R , \n"
429  " .",
430  /* LNG_CHAN_RESPONSE */
431  ": %s"
432  };
433 
434  /* Italian (IT) */
435  char *langtable_it[] = {
436  /* LNG_CHAN_HELP */
437  " ENFORCE Forza diversi modi di canale ed opzioni SET",
438  /* LNG_ENFORCE_SYNTAX */
439  "Sintassi: \002ENFORCE \037canale\037 [\037cosa\037]\002",
440  /* LNG_CHAN_HELP_ENFORCE */
441  "Forza diversi modi di canale ed opzioni SET. Il parametro \037canale\037\n"
442  "indica il canale sul quale forzare i modi e le opzioni. Il parametro\n"
443  "\037cosa\037 indica i modi e le opzioni da forzare, e possono essere\n"
444  "qualsiasi delle opzioni SET, SECUREOPS, RESTRICTED, MODES, o +R.\n"
445  "Se non specificato, viene sottointeso SET.\n"
446  " \n"
447  "Se \037cosa\037 SET, forzer SECUREOPS e RESTRICTED sugli utenti\n"
448  "attualmente nel canale, se sono impostati. Specifica SECUREOPS per\n"
449  "forzare l'opzione SECUREOPS, anche se non attivata. Specifica\n"
450  "RESTRICTED per forzare l'opzione RESTRICTED, anche se non n" "attivata.", /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */ "Se \037cosa\037 MODES, forzer il modo del canale +R se impostato.\n" "Se +R specificato per \037cosa\037, 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.", /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */ "Se \037cosa\037 MODES, niente verr forzato, siccome forzerebbe\n" "dei modi che l'ircd in uso non supporterebbe. Se +R specificato\n" "per \037cosa\037, 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.\n", /* LNG_CHAN_RESPONSE */ "Forzato %s" }; /* French (FR) */ char *langtable_fr[] = { /* LNG_CHAN_HELP */ " ENFORCE Renforce divers modes et options de salons", /* LNG_ENFORCE_SYNTAX */ "Syntaxe: \002ENFORCE \037canal\037 [\037option\037]\002", /* LNG_CHAN_HELP_ENFORCE */ "Renforce divers modes et options de salons. Le paramtre \037canal\037\n" "indique pour quel canal renforcer les options ou modes.\n" "Le paramtre \037option\037 indique quels modes et options\n" "renforcer, et peut tre SET, SECUREOPS, RESTRICTED, MODES,\n" "ou +R. Par dfaut, il est SET.\n" " \n" "Si \037option\037 est SET, cela renforce les options SECUREOPS et RESTRICTED\n" "pour les utilisateur prsents sur le canal, si elles sont dj actives. Indiquez\n" "SECUREOPS pour renforcer l'option SECUREOPS, mme si ce n'est pas dj\n" "activ. Utilisez RESTRICTED pour renforcer l'option RESTRICTED, galement\n" "mme si ce n'est pas dj activ.", /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */ "Si \037option\037 est MODES, cela renforce le mode de canal +R s'il est\n" "actif. Si +R est spcifi pour \037option\037, le mode de canal +R sera\n" "galement renforc, et mme s'il n'est pas dj actif. S'il n'est pas actif,\n" "les utilisateurs seront bannis pour tre sr qu'ils ne reviennent pas.", /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */ "Si \037option\037 est MODES, rien ne sera renforc, car cela\n" "renforcerait des modes que le serveur Irc ne connait pas. Si +R est\n" "specifi pour \037option\037, un quivalent du mode de canal +R des\n" "autres serveurs Irc sera appliqu. Tous les utilisateurs qui sont sur le canal\n" "mais non identifis avec leur pseudo d'inscrit seront jects et\n" "bannis du canal.", /* LNG_CHAN_RESPONSE */ "Renforc %s" }; moduleInsertLanguage(LANG_EN_US, LNG_NUM_STRINGS, langtable_en_us); moduleInsertLanguage(LANG_NL, LNG_NUM_STRINGS, langtable_nl); moduleInsertLanguage(LANG_DE, LNG_NUM_STRINGS, langtable_de); moduleInsertLanguage(LANG_PT, LNG_NUM_STRINGS, langtable_pt); moduleInsertLanguage(LANG_RU, LNG_NUM_STRINGS, langtable_ru); moduleInsertLanguage(LANG_IT, LNG_NUM_STRINGS, langtable_it); moduleInsertLanguage(LANG_FR, LNG_NUM_STRINGS, langtable_fr); } /* EOF */ \n"
451  "attivata.",
452  /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */
453  "Se \037cosa\037 MODES, forzer il modo del canale +R se impostato.\n"
454  "Se +R specificato per \037cosa\037, il modo del canale +R verrn" "forzato, anche se non impostato. Se non impostato, gli utenti\n" "verranno bannati per assicurare che non rientrino semplicemente.", /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */ "Se \037cosa\037 MODES, niente verr forzato, siccome forzerebbe\n" "dei modi che l'ircd in uso non supporterebbe. Se +R specificato\n" "per \037cosa\037, 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.\n", /* LNG_CHAN_RESPONSE */ "Forzato %s" }; /* French (FR) */ char *langtable_fr[] = { /* LNG_CHAN_HELP */ " ENFORCE Renforce divers modes et options de salons", /* LNG_ENFORCE_SYNTAX */ "Syntaxe: \002ENFORCE \037canal\037 [\037option\037]\002", /* LNG_CHAN_HELP_ENFORCE */ "Renforce divers modes et options de salons. Le paramtre \037canal\037\n" "indique pour quel canal renforcer les options ou modes.\n" "Le paramtre \037option\037 indique quels modes et options\n" "renforcer, et peut tre SET, SECUREOPS, RESTRICTED, MODES,\n" "ou +R. Par dfaut, il est SET.\n" " \n" "Si \037option\037 est SET, cela renforce les options SECUREOPS et RESTRICTED\n" "pour les utilisateur prsents sur le canal, si elles sont dj actives. Indiquez\n" "SECUREOPS pour renforcer l'option SECUREOPS, mme si ce n'est pas dj\n" "activ. Utilisez RESTRICTED pour renforcer l'option RESTRICTED, galement\n" "mme si ce n'est pas dj activ.", /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */ "Si \037option\037 est MODES, cela renforce le mode de canal +R s'il est\n" "actif. Si +R est spcifi pour \037option\037, le mode de canal +R sera\n" "galement renforc, et mme s'il n'est pas dj actif. S'il n'est pas actif,\n" "les utilisateurs seront bannis pour tre sr qu'ils ne reviennent pas.", /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */ "Si \037option\037 est MODES, rien ne sera renforc, car cela\n" "renforcerait des modes que le serveur Irc ne connait pas. Si +R est\n" "specifi pour \037option\037, un quivalent du mode de canal +R des\n" "autres serveurs Irc sera appliqu. Tous les utilisateurs qui sont sur le canal\n" "mais non identifis avec leur pseudo d'inscrit seront jects et\n" "bannis du canal.", /* LNG_CHAN_RESPONSE */ "Renforc %s" }; moduleInsertLanguage(LANG_EN_US, LNG_NUM_STRINGS, langtable_en_us); moduleInsertLanguage(LANG_NL, LNG_NUM_STRINGS, langtable_nl); moduleInsertLanguage(LANG_DE, LNG_NUM_STRINGS, langtable_de); moduleInsertLanguage(LANG_PT, LNG_NUM_STRINGS, langtable_pt); moduleInsertLanguage(LANG_RU, LNG_NUM_STRINGS, langtable_ru); moduleInsertLanguage(LANG_IT, LNG_NUM_STRINGS, langtable_it); moduleInsertLanguage(LANG_FR, LNG_NUM_STRINGS, langtable_fr); } /* EOF */ \n"
455  "forzato, anche se non impostato. Se non impostato, gli utenti\n"
456  "verranno bannati per assicurare che non rientrino semplicemente.",
457  /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */
458  "Se \037cosa\037 MODES, niente verr forzato, siccome forzerebbe\n"
459  "dei modi che l'ircd in uso non supporterebbe. Se +R specificato\n"
460  "per \037cosa\037, un modo equivalente a +R sui altri ircd verrn" "forzato. Tutti gli utenti presenti nel canale ma non identificati\n" "per il loro nickname verranno bannati ed espulsi dal canale.\n", /* LNG_CHAN_RESPONSE */ "Forzato %s" }; /* French (FR) */ char *langtable_fr[] = { /* LNG_CHAN_HELP */ " ENFORCE Renforce divers modes et options de salons", /* LNG_ENFORCE_SYNTAX */ "Syntaxe: \002ENFORCE \037canal\037 [\037option\037]\002", /* LNG_CHAN_HELP_ENFORCE */ "Renforce divers modes et options de salons. Le paramtre \037canal\037\n" "indique pour quel canal renforcer les options ou modes.\n" "Le paramtre \037option\037 indique quels modes et options\n" "renforcer, et peut tre SET, SECUREOPS, RESTRICTED, MODES,\n" "ou +R. Par dfaut, il est SET.\n" " \n" "Si \037option\037 est SET, cela renforce les options SECUREOPS et RESTRICTED\n" "pour les utilisateur prsents sur le canal, si elles sont dj actives. Indiquez\n" "SECUREOPS pour renforcer l'option SECUREOPS, mme si ce n'est pas dj\n" "activ. Utilisez RESTRICTED pour renforcer l'option RESTRICTED, galement\n" "mme si ce n'est pas dj activ.", /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */ "Si \037option\037 est MODES, cela renforce le mode de canal +R s'il est\n" "actif. Si +R est spcifi pour \037option\037, le mode de canal +R sera\n" "galement renforc, et mme s'il n'est pas dj actif. S'il n'est pas actif,\n" "les utilisateurs seront bannis pour tre sr qu'ils ne reviennent pas.", /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */ "Si \037option\037 est MODES, rien ne sera renforc, car cela\n" "renforcerait des modes que le serveur Irc ne connait pas. Si +R est\n" "specifi pour \037option\037, un quivalent du mode de canal +R des\n" "autres serveurs Irc sera appliqu. Tous les utilisateurs qui sont sur le canal\n" "mais non identifis avec leur pseudo d'inscrit seront jects et\n" "bannis du canal.", /* LNG_CHAN_RESPONSE */ "Renforc %s" }; moduleInsertLanguage(LANG_EN_US, LNG_NUM_STRINGS, langtable_en_us); moduleInsertLanguage(LANG_NL, LNG_NUM_STRINGS, langtable_nl); moduleInsertLanguage(LANG_DE, LNG_NUM_STRINGS, langtable_de); moduleInsertLanguage(LANG_PT, LNG_NUM_STRINGS, langtable_pt); moduleInsertLanguage(LANG_RU, LNG_NUM_STRINGS, langtable_ru); moduleInsertLanguage(LANG_IT, LNG_NUM_STRINGS, langtable_it); moduleInsertLanguage(LANG_FR, LNG_NUM_STRINGS, langtable_fr); } /* EOF */ \n"
461  "forzato. Tutti gli utenti presenti nel canale ma non identificati\n"
462  "per il loro nickname verranno bannati ed espulsi dal canale.\n",
463  /* LNG_CHAN_RESPONSE */
464  "Forzato %s"
465  };
466 
467  /* French (FR) */
468  char *langtable_fr[] = {
469  /* LNG_CHAN_HELP */
470  " ENFORCE Renforce divers modes et options de salons",
471  /* LNG_ENFORCE_SYNTAX */
472  "Syntaxe: \002ENFORCE \037canal\037 [\037option\037]\002",
473  /* LNG_CHAN_HELP_ENFORCE */
474  "Renforce divers modes et options de salons. Le paramtre \037canal\037\n"
475  "indique pour quel canal renforcer les options ou modes.\n"
476  "Le paramtre \037option\037 indique quels modes et options\n"
477  "renforcer, et peut tre SET, SECUREOPS, RESTRICTED, MODES,\n"
478  "ou +R. Par dfaut, il est SET.\n"
479  " \n"
480  "Si \037option\037 est SET, cela renforce les options SECUREOPS et RESTRICTED\n"
481  "pour les utilisateur prsents sur le canal, si elles sont dj actives. Indiquez\n"
482  "SECUREOPS pour renforcer l'option SECUREOPS, mme si ce n'est pas djn" "activ. Utilisez RESTRICTED pour renforcer l'option RESTRICTED, galement\n" "mme si ce n'est pas dj activ.", /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */ "Si \037option\037 est MODES, cela renforce le mode de canal +R s'il est\n" "actif. Si +R est spcifi pour \037option\037, le mode de canal +R sera\n" "galement renforc, et mme s'il n'est pas dj actif. S'il n'est pas actif,\n" "les utilisateurs seront bannis pour tre sr qu'ils ne reviennent pas.", /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */ "Si \037option\037 est MODES, rien ne sera renforc, car cela\n" "renforcerait des modes que le serveur Irc ne connait pas. Si +R est\n" "specifi pour \037option\037, un quivalent du mode de canal +R des\n" "autres serveurs Irc sera appliqu. Tous les utilisateurs qui sont sur le canal\n" "mais non identifis avec leur pseudo d'inscrit seront jects et\n" "bannis du canal.", /* LNG_CHAN_RESPONSE */ "Renforc %s" }; moduleInsertLanguage(LANG_EN_US, LNG_NUM_STRINGS, langtable_en_us); moduleInsertLanguage(LANG_NL, LNG_NUM_STRINGS, langtable_nl); moduleInsertLanguage(LANG_DE, LNG_NUM_STRINGS, langtable_de); moduleInsertLanguage(LANG_PT, LNG_NUM_STRINGS, langtable_pt); moduleInsertLanguage(LANG_RU, LNG_NUM_STRINGS, langtable_ru); moduleInsertLanguage(LANG_IT, LNG_NUM_STRINGS, langtable_it); moduleInsertLanguage(LANG_FR, LNG_NUM_STRINGS, langtable_fr); } /* EOF */ \n"
483  "activ. Utilisez RESTRICTED pour renforcer l'option RESTRICTED, galement\n"
484  "mme si ce n'est pas dj activ.",
485  /* LNG_CHAN_HELP_ENFORCE_R_ENABLED */
486  "Si \037option\037 est MODES, cela renforce le mode de canal +R s'il est\n"
487  "actif. Si +R est spcifi pour \037option\037, le mode de canal +R sera\n"
488  "galement renforc, et mme s'il n'est pas dj actif. S'il n'est pas actif,\n"
489  "les utilisateurs seront bannis pour tre sr qu'ils ne reviennent pas.",
490  /* LNG_CHAN_HELP_ENFORCE_R_DISABLED */
491  "Si \037option\037 est MODES, rien ne sera renforc, car cela\n"
492  "renforcerait des modes que le serveur Irc ne connait pas. Si +R est\n"
493  "specifi pour \037option\037, un quivalent du mode de canal +R des\n"
494  "autres serveurs Irc sera appliqu. Tous les utilisateurs qui sont sur le canal\n"
495  "mais non identifis avec leur pseudo d'inscrit seront jects et\n"
496  "bannis du canal.",
497  /* LNG_CHAN_RESPONSE */
498  "Renforc %s"
499  };
500 
508 }
509 
510 /* EOF */
static void do_enforce_restricted(Channel *c)
Definition: cs_enforce.c:93
E CBMode cbmodes[128]
Definition: extern.h:47
#define LNG_NUM_STRINGS
Definition: cs_enforce.c:26
#define LANG_DE
Definition: services.h:1324
char nick[NICKMAX]
Definition: services.h:875
uint32 flag
Definition: services.h:920
MDE void moduleNoticeLang(char *source, User *u, int number,...)
Definition: modules.c:2680
#define VERSION
Definition: cs_enforce.c:19
#define CI_RESTRICTED
Definition: services.h:719
#define LANG_RU
Definition: services.h:1328
E void do_kick(const char *source, int ac, char **av)
Definition: channels.c:638
E int nick_identified(User *u)
Definition: nickserv.c:1111
E int check_access(User *user, ChannelInfo *ci, int what)
Definition: chanserv.c:1974
E int stricmp(const char *s1, const char *s2)
Definition: compat.c:58
#define LANG_NL
Definition: services.h:1327
E void notice(char *source, char *dest, const char *fmt,...)
Definition: send.c:274
void AnopeFini(void)
Definition: cs_enforce.c:58
#define CI_VERBOTEN
Definition: services.h:725
#define getstring(na, index)
Definition: extern.h:731
#define CI_SECUREOPS
Definition: services.h:713
#define LNG_CHAN_RESPONSE
Definition: cs_enforce.c:33
#define CA_AKICK
Definition: services.h:750
MDE void moduleAddAuthor(const char *author)
Definition: modules.c:1772
ChannelInfo * ci
Definition: services.h:1001
char name[CHANMAX]
Definition: services.h:654
#define CA_NOJOIN
Definition: services.h:759
E void notice_lang(char *source, User *dest, int message,...)
Definition: send.c:169
MDE void moduleSetType(MODType type)
Definition: modules.c:818
MDE char * moduleGetLastBuffer(void)
Definition: modules.c:1988
static int my_cs_enforce(User *u)
Definition: cs_enforce.c:195
E Channel * findchan(const char *chan)
Definition: channels.c:394
E int get_idealban(ChannelInfo *ci, User *u, char *ret, int retlen)
Definition: chanserv.c:2380
static void do_enforce_modes(Channel *c)
Definition: cs_enforce.c:185
E void anope_cmd_kick(char *source, char *chan, char *user, const char *fmt,...)
Definition: ircd.c:230
static int my_cs_help_enforce(User *u)
Definition: cs_enforce.c:250
#define MOD_STOP
Definition: modules.h:53
#define LANG_FR
Definition: services.h:1321
uint32 flags
Definition: services.h:669
int AnopeInit(int argc, char **argv)
Definition: cs_enforce.c:35
#define LNG_CHAN_HELP_ENFORCE_R_DISABLED
Definition: cs_enforce.c:32
uint32 mode
Definition: services.h:1006
MDE void moduleAddVersion(const char *version)
Definition: modules.c:1760
#define AUTHOR
Definition: cs_enforce.c:18
#define LNG_CHAN_HELP_ENFORCE_R_ENABLED
Definition: cs_enforce.c:31
MDE void moduleSetChanHelp(void(*func)(User *u))
Definition: modules.c:2090
Command * c
Definition: ns_recover.c:17
#define CHANSERV
Definition: modules.h:60
u_int32_t uint32
Definition: db-merger.c:123
E void alog(const char *fmt,...) FORMAT(printf
#define MOD_CONT
Definition: modules.h:54
int16_t int16
Definition: db-merger.c:120
#define LANG_IT
Definition: services.h:1323
E int debug
Definition: extern.h:775
E int is_services_admin(User *u)
Definition: operserv.c:591
MDE void moduleInsertLanguage(int langNumber, int ac, char **av)
Definition: modules.c:2650
#define LNG_CHAN_HELP
Definition: cs_enforce.c:28
#define whosends(ci)
Definition: extern.h:163
E void anope_cmd_mode(char *source, char *dest, const char *fmt,...)
Definition: ircd.c:211
MDE Command * createCommand(const char *name, int(*func)(User *u), int(*has_priv)(User *u), int help_all, int help_reg, int help_oper, int help_admin, int help_root)
Definition: modules.c:987
static void do_enforce_set(Channel *c)
Definition: cs_enforce.c:172
E char * myStrGetToken(const char *str, const char dilim, int token_number)
Definition: misc.c:654
#define LANG_EN_US
Definition: services.h:1315
MDE int moduleAddHelp(Command *c, int(*func)(User *u))
Definition: modules.c:2064
char name[CHANMAX]
Definition: services.h:1000
#define LNG_CHAN_HELP_ENFORCE
Definition: cs_enforce.c:30
int16 * levels
Definition: services.h:674
E void chan_set_correct_modes(User *user, Channel *c, int give_modes)
Definition: channels.c:1436
E char * s_ChanServ
Definition: extern.h:285
MDE int moduleAddCommand(CommandHash *cmdTable[], Command *c, int pos)
Definition: modules.c:1082
#define MOD_HEAD
Definition: module.h:12
static void my_add_languages(void)
Definition: cs_enforce.c:264
#define LNG_ENFORCE_SYNTAX
Definition: cs_enforce.c:29
static void my_cs_help(User *u)
Definition: cs_enforce.c:245
#define LANG_PT
Definition: services.h:1320
#define BUFSIZE
Definition: config.h:47
static void do_enforce_cmode_R(Channel *c)
Definition: cs_enforce.c:134
NickAlias * na
Definition: services.h:892
struct channel_::c_userlist * users
static void do_enforce_secureops(Channel *c)
Definition: cs_enforce.c:64