diff options
Diffstat (limited to 'src/modules/cs_appendtopic.c')
-rw-r--r-- | src/modules/cs_appendtopic.c | 320 |
1 files changed, 160 insertions, 160 deletions
diff --git a/src/modules/cs_appendtopic.c b/src/modules/cs_appendtopic.c index cbdae1533..16b565dd6 100644 --- a/src/modules/cs_appendtopic.c +++ b/src/modules/cs_appendtopic.c @@ -39,7 +39,7 @@ */ /* ---------------------------------------------------------------------- */ -/* DO NOT EDIT BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING */ +/* DO NOT EDIT BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING */ /* ---------------------------------------------------------------------- */ #define LNG_NUM_STRINGS 3 @@ -55,192 +55,192 @@ void my_add_languages(void); int AnopeInit(int argc, char **argv) { - Command *c; - int status; + Command *c; + int status; - moduleAddAuthor(AUTHOR); - moduleAddVersion(VERSION); - moduleSetType(SUPPORTED); + moduleAddAuthor(AUTHOR); + moduleAddVersion(VERSION); + moduleSetType(SUPPORTED); - c = createCommand("APPENDTOPIC", my_cs_appendtopic, NULL, -1, -1, -1, - -1, -1); - if ((status = moduleAddCommand(CHANSERV, c, MOD_HEAD))) { - alog("[cs_appendtopic] Unable to create APPENDTOPIC command: %d", - status); - return MOD_STOP; - } - moduleAddHelp(c, my_cs_help_appendtopic); - moduleSetChanHelp(my_cs_help); + c = createCommand("APPENDTOPIC", my_cs_appendtopic, NULL, -1, -1, -1, + -1, -1); + if ((status = moduleAddCommand(CHANSERV, c, MOD_HEAD))) { + alog("[cs_appendtopic] Unable to create APPENDTOPIC command: %d", + status); + return MOD_STOP; + } + moduleAddHelp(c, my_cs_help_appendtopic); + moduleSetChanHelp(my_cs_help); - my_add_languages(); + my_add_languages(); - alog("[cs_appendtopic] Loaded successfully"); + alog("[cs_appendtopic] Loaded successfully"); - return MOD_CONT; + return MOD_CONT; } void AnopeFini(void) { - alog("[cs_appendtopic] Unloaded successfully"); + alog("[cs_appendtopic] Unloaded successfully"); } void my_cs_help(User * u) { - moduleNoticeLang(s_ChanServ, u, LNG_CHAN_HELP); + moduleNoticeLang(s_ChanServ, u, LNG_CHAN_HELP); } int my_cs_help_appendtopic(User * u) { - moduleNoticeLang(s_ChanServ, u, LNG_APPENDTOPIC_SYNTAX); - ircdproto->SendMessage(s_ChanServ, u->nick, " "); - moduleNoticeLang(s_ChanServ, u, LNG_CHAN_HELP_APPENDTOPIC); - return MOD_STOP; + moduleNoticeLang(s_ChanServ, u, LNG_APPENDTOPIC_SYNTAX); + ircdproto->SendMessage(findbot(s_ChanServ), u->nick, " "); + moduleNoticeLang(s_ChanServ, u, LNG_CHAN_HELP_APPENDTOPIC); + return MOD_STOP; } int my_cs_appendtopic(User * u) { - char *cur_buffer; - char *chan; - char *newtopic; - char topic[1024]; - Channel *c; - ChannelInfo *ci; - - cur_buffer = moduleGetLastBuffer(); - chan = myStrGetToken(cur_buffer, ' ', 0); - newtopic = myStrGetTokenRemainder(cur_buffer, ' ', 1); - - if (!chan || !newtopic) { - moduleNoticeLang(s_ChanServ, u, LNG_APPENDTOPIC_SYNTAX); - } else if (!(c = findchan(chan))) { - notice_lang(s_ChanServ, u, CHAN_X_NOT_IN_USE, chan); - } else if (!(ci = c->ci)) { - notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED, c->name); - } else if (ci->flags & CI_VERBOTEN) { - notice_lang(s_ChanServ, u, CHAN_X_FORBIDDEN, ci->name); - } else if (!is_services_admin(u) && !check_access(u, ci, CA_TOPIC)) { - notice_lang(s_ChanServ, u, PERMISSION_DENIED); - } else { - if (ci->last_topic) { - snprintf(topic, sizeof(topic), "%s %s", ci->last_topic, - newtopic); - free(ci->last_topic); - } else { - strscpy(topic, newtopic, sizeof(topic)); - } - - ci->last_topic = *topic ? sstrdup(topic) : NULL; - strscpy(ci->last_topic_setter, u->nick, NICKMAX); - ci->last_topic_time = time(NULL); - - if (c->topic) - free(c->topic); - c->topic = *topic ? sstrdup(topic) : NULL; - strscpy(c->topic_setter, u->nick, NICKMAX); - if (ircd->topictsbackward) - c->topic_time = c->topic_time - 1; - else - c->topic_time = ci->last_topic_time; - - if (is_services_admin(u) && !check_access(u, ci, CA_TOPIC)) - alog("%s: %s!%s@%s changed topic of %s as services admin.", - s_ChanServ, u->nick, u->username, u->host, c->name); - if (ircd->join2set) { - if (whosends(ci) == s_ChanServ) { - ircdproto->SendJoin(findbot(s_ChanServ), c->name, c->creation_time); - ircdproto->SendMode(NULL, c->name, "+o %s", s_ChanServ); - } - } - ircdproto->SendTopic(whosends(ci), c->name, u->nick, topic, c->topic_time); - if (ircd->join2set) { - if (whosends(ci) == s_ChanServ) { - ircdproto->SendPart(s_ChanServ, c->name, NULL); - } - } - } - return MOD_CONT; + char *cur_buffer; + char *chan; + char *newtopic; + char topic[1024]; + Channel *c; + ChannelInfo *ci; + + cur_buffer = moduleGetLastBuffer(); + chan = myStrGetToken(cur_buffer, ' ', 0); + newtopic = myStrGetTokenRemainder(cur_buffer, ' ', 1); + + if (!chan || !newtopic) { + moduleNoticeLang(s_ChanServ, u, LNG_APPENDTOPIC_SYNTAX); + } else if (!(c = findchan(chan))) { + notice_lang(s_ChanServ, u, CHAN_X_NOT_IN_USE, chan); + } else if (!(ci = c->ci)) { + notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED, c->name); + } else if (ci->flags & CI_VERBOTEN) { + notice_lang(s_ChanServ, u, CHAN_X_FORBIDDEN, ci->name); + } else if (!is_services_admin(u) && !check_access(u, ci, CA_TOPIC)) { + notice_lang(s_ChanServ, u, PERMISSION_DENIED); + } else { + if (ci->last_topic) { + snprintf(topic, sizeof(topic), "%s %s", ci->last_topic, + newtopic); + free(ci->last_topic); + } else { + strscpy(topic, newtopic, sizeof(topic)); + } + + ci->last_topic = *topic ? sstrdup(topic) : NULL; + strscpy(ci->last_topic_setter, u->nick, NICKMAX); + ci->last_topic_time = time(NULL); + + if (c->topic) + free(c->topic); + c->topic = *topic ? sstrdup(topic) : NULL; + strscpy(c->topic_setter, u->nick, NICKMAX); + if (ircd->topictsbackward) + c->topic_time = c->topic_time - 1; + else + c->topic_time = ci->last_topic_time; + + if (is_services_admin(u) && !check_access(u, ci, CA_TOPIC)) + alog("%s: %s!%s@%s changed topic of %s as services admin.", + s_ChanServ, u->nick, u->username, u->host, c->name); + if (ircd->join2set) { + if (whosends(ci) == findbot(s_ChanServ)) { + ircdproto->SendJoin(findbot(s_ChanServ), c->name, c->creation_time); + ircdproto->SendMode(NULL, c->name, "+o %s", s_ChanServ); + } + } + ircdproto->SendTopic(whosends(ci), c->name, u->nick, topic, c->topic_time); + if (ircd->join2set) { + if (whosends(ci) == findbot(s_ChanServ)) { + ircdproto->SendPart(findbot(s_ChanServ), c->name, NULL); + } + } + } + return MOD_CONT; } void my_add_languages(void) { - /* English (US) */ - char *langtable_en_us[] = { - /* LNG_CHAN_HELP */ - " APPENDTOPIC Add text to a channels topic", - /* LNG_CHAN_HELP_APPENDTOPIC */ - "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.", - /* LNG_APPENDTOPIC_SYNTAX */ - "Syntax: APPENDTOPIC channel text\n" - }; - - /* Dutch (NL) */ - char *langtable_nl[] = { - /* LNG_CHAN_HELP */ - " APPENDTOPIC Voeg tekst aan een kanaal onderwerp toe", - /* LNG_CHAN_HELP_APPENDTOPIC */ - "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.", - /* LNG_APPENDTOPIC_SYNTAX */ - "Gebruik: APPENDTOPIC kanaal tekst\n" - }; + /* English (US) */ + const char* langtable_en_us[] = { + /* LNG_CHAN_HELP */ + " APPENDTOPIC Add text to a channels topic", + /* LNG_CHAN_HELP_APPENDTOPIC */ + "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.", + /* LNG_APPENDTOPIC_SYNTAX */ + "Syntax: APPENDTOPIC channel text\n" + }; + + /* Dutch (NL) */ + const char* langtable_nl[] = { + /* LNG_CHAN_HELP */ + " APPENDTOPIC Voeg tekst aan een kanaal onderwerp toe", + /* LNG_CHAN_HELP_APPENDTOPIC */ + "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.", + /* LNG_APPENDTOPIC_SYNTAX */ + "Gebruik: APPENDTOPIC kanaal tekst\n" + }; /* German (DE) */ - char *langtable_de[] = { - /* LNG_CHAN_HELP */ - " APPENDTOPIC Fьgt einen Text zu einem Channel-Topic hinzu.", - /* LNG_CHAN_HELP_APPENDTOPIC */ - "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.", - /* LNG_APPENDTOPIC_SYNTAX */ - "Syntax: APPENDTOPIC Channel Text\n" - }; - - /* Portuguese (PT) */ - char *langtable_pt[] = { - /* LNG_CHAN_HELP */ - " APPENDTOPIC Adiciona texto ao tуpico de um canal", - /* LNG_CHAN_HELP_APPENDTOPIC */ - "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.", - /* LNG_APPENDTOPIC_SYNTAX */ - "Sintaxe: APPENDTOPIC canal texto\n" - }; - - /* Russian (RU) */ - char *langtable_ru[] = { - /* LNG_CHAN_HELP */ - " APPENDTOPIC Добавляет текст к топику канала", - /* LNG_CHAN_HELP_APPENDTOPIC */ - "Данная команда позволяет добавить текст к топику, который установлен на указанном\n" - "канале. Если активирован режим TOPICLOCK, топик будет обновлен и заблокирован.\n" - "Примечание: текст будет ДОБАВЛЕН к топику, то есть старый топик удален НЕ БУДЕТ.\n", - /* LNG_APPENDTOPIC_SYNTAX */ - "Синтаксис: APPENDTOPIC #канал текст\n" - }; - - /* Italian (IT) */ - char *langtable_it[] = { - /* LNG_CHAN_HELP */ - " APPENDTOPIC Aggiunge del testo al topic di un canale", - /* LNG_CHAN_HELP_APPENDTOPIC */ - "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.", - /* LNG_APPENDTOPIC_SYNTAX */ - "Sintassi: APPENDTOPIC canale testo\n" - }; - - 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); + const char* langtable_de[] = { + /* LNG_CHAN_HELP */ + " APPENDTOPIC Fьgt einen Text zu einem Channel-Topic hinzu.", + /* LNG_CHAN_HELP_APPENDTOPIC */ + "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.", + /* LNG_APPENDTOPIC_SYNTAX */ + "Syntax: APPENDTOPIC Channel Text\n" + }; + + /* Portuguese (PT) */ + const char* langtable_pt[] = { + /* LNG_CHAN_HELP */ + " APPENDTOPIC Adiciona texto ao tуpico de um canal", + /* LNG_CHAN_HELP_APPENDTOPIC */ + "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.", + /* LNG_APPENDTOPIC_SYNTAX */ + "Sintaxe: APPENDTOPIC canal texto\n" + }; + + /* Russian (RU) */ + const char* langtable_ru[] = { + /* LNG_CHAN_HELP */ + " APPENDTOPIC Добавляет текст к топику канала", + /* LNG_CHAN_HELP_APPENDTOPIC */ + "Данная команда позволяет добавить текст к топику, который установлен на указанном\n" + "канале. Если активирован режим TOPICLOCK, топик будет обновлен и заблокирован.\n" + "Примечание: текст будет ДОБАВЛЕН к топику, то есть старый топик удален НЕ БУДЕТ.\n", + /* LNG_APPENDTOPIC_SYNTAX */ + "Синтаксис: APPENDTOPIC #канал текст\n" + }; + + /* Italian (IT) */ + const char* langtable_it[] = { + /* LNG_CHAN_HELP */ + " APPENDTOPIC Aggiunge del testo al topic di un canale", + /* LNG_CHAN_HELP_APPENDTOPIC */ + "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.", + /* LNG_APPENDTOPIC_SYNTAX */ + "Sintassi: APPENDTOPIC canale testo\n" + }; + + 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); } |