# HG changeset patch # User Mikael Berthe # Date 1182978202 -7200 # Node ID b4ccc5b2a6deb9bc8089fb65ed64da2d371e5cc4 # Parent c5c09f8f60b0e0dcb59b9fc118338443374fb766 Add command /room unban ("unban jid" is actually the same as "affil jid none") diff -r c5c09f8f60b0 -r b4ccc5b2a6de mcabber/doc/help/de/hlp_room.txt --- a/mcabber/doc/help/de/hlp_room.txt Wed Jun 27 22:13:10 2007 +0200 +++ b/mcabber/doc/help/de/hlp_room.txt Wed Jun 27 23:03:22 2007 +0200 @@ -26,7 +26,9 @@ /room whois nick Zeigt Infos über "nick" bzgl. des MUC an /room ban jid [grund] - Verbannt den User mit der jid mit dem angegeben Grund + Verbannt die JID mit einem (optionalem) Grund +/room unban jid + Entbanne die JID für den aktiven Raum /room invite jid [grund] Lädt die jid [mit einem Grund] in den gerade aktiven MUC ein /room kick nick [grund] diff -r c5c09f8f60b0 -r b4ccc5b2a6de mcabber/doc/help/en/hlp_room.txt --- a/mcabber/doc/help/en/hlp_room.txt Wed Jun 27 22:13:10 2007 +0200 +++ b/mcabber/doc/help/en/hlp_room.txt Wed Jun 27 23:03:22 2007 +0200 @@ -27,6 +27,8 @@ Display MUC information about "nick" /room ban jid [reason] Ban jid from the current room +/room unban jid + Unban jid from the current room /room invite jid [reason] Invite jid to the current room /room kick nick [reason] diff -r c5c09f8f60b0 -r b4ccc5b2a6de mcabber/doc/help/fr/hlp_room.txt --- a/mcabber/doc/help/fr/hlp_room.txt Wed Jun 27 22:13:10 2007 +0200 +++ b/mcabber/doc/help/fr/hlp_room.txt Wed Jun 27 23:03:22 2007 +0200 @@ -27,6 +27,8 @@ Affiche les informations MUC sur "pseudo" /room ban jid [raison] Bannit l'utilisateur jid du salon +/room unban jid + Supprime le ban sur l'utilisateur jid dans le salon /room invite jid [raison] Invite l'utilisateur jid dans le salon /room kick pseudo [raison] diff -r c5c09f8f60b0 -r b4ccc5b2a6de mcabber/doc/help/nl/hlp_room.txt --- a/mcabber/doc/help/nl/hlp_room.txt Wed Jun 27 22:13:10 2007 +0200 +++ b/mcabber/doc/help/nl/hlp_room.txt Wed Jun 27 23:03:22 2007 +0200 @@ -27,6 +27,8 @@ Toon MUC informatie over "nick" /room ban jid [reden] Verban jid uit de huidige chatroom +/room unban jid + Verwijder de ban van jid in de huidige chatroom /room invite jid [reden] Nodig jid uit in de huidige chatroom /room kick nick [reden] diff -r c5c09f8f60b0 -r b4ccc5b2a6de mcabber/doc/help/pl/hlp_room.txt --- a/mcabber/doc/help/pl/hlp_room.txt Wed Jun 27 22:13:10 2007 +0200 +++ b/mcabber/doc/help/pl/hlp_room.txt Wed Jun 27 23:03:22 2007 +0200 @@ -27,6 +27,8 @@ Wyświetla informację MUC osoby "nick" /room ban jid [powód] Banuje jid z powodu "powód" (opcjonalnie) +/room unban jid + Odbanowanie jid z aktualnego pokoju /room invite jid [powód] Zaprasza osobę jid do aktualnego pokoju z powodu "powód" (opcjonalnie) /room kick nick [powód] diff -r c5c09f8f60b0 -r b4ccc5b2a6de mcabber/doc/help/ru/hlp_room.txt --- a/mcabber/doc/help/ru/hlp_room.txt Wed Jun 27 22:13:10 2007 +0200 +++ b/mcabber/doc/help/ru/hlp_room.txt Wed Jun 27 23:03:22 2007 +0200 @@ -27,6 +27,8 @@ Показать информацию о пользователе "nick" /room ban jid [reason] Наложить запрет (забанить) пользователя "jid" в текущей конференции +/room unban jid + Unban jid from the current room /room invite jid [reason] Пригласить пользователя "jid" в текущую конференцию /room kick nick [reason] diff -r c5c09f8f60b0 -r b4ccc5b2a6de mcabber/doc/help/uk/hlp_room.txt --- a/mcabber/doc/help/uk/hlp_room.txt Wed Jun 27 22:13:10 2007 +0200 +++ b/mcabber/doc/help/uk/hlp_room.txt Wed Jun 27 23:03:22 2007 +0200 @@ -27,6 +27,8 @@ Друкує інформацію про "прізвисько". /room ban jid [причина] Вибанити jid з кімнати. +/room unban jid + Unban jid from the current room /room invite jid [причина] Запросити jid до поточної кімнати. /room kick прізвисько [причина] diff -r c5c09f8f60b0 -r b4ccc5b2a6de mcabber/src/commands.c --- a/mcabber/src/commands.c Wed Jun 27 22:13:10 2007 +0200 +++ b/mcabber/src/commands.c Wed Jun 27 23:03:22 2007 +0200 @@ -225,6 +225,7 @@ compl_add_category_word(COMPL_ROOM, "remove"); compl_add_category_word(COMPL_ROOM, "role"); compl_add_category_word(COMPL_ROOM, "topic"); + compl_add_category_word(COMPL_ROOM, "unban"); compl_add_category_word(COMPL_ROOM, "unlock"); compl_add_category_word(COMPL_ROOM, "whois"); @@ -2018,6 +2019,27 @@ free_arg_lst(paramlst); } +// The expected argument is a Jabber id +static void room_unban(gpointer bud, char *arg) +{ + gchar *fjid = arg; + gchar *jid_utf8; + struct role_affil ra; + const char *roomid = buddy_getjid(bud); + + if (!fjid || !*fjid) { + scr_LogPrint(LPRINT_NORMAL, "Please specify a Jabber ID."); + return; + } + + ra.type = type_affil; + ra.val.affil = affil_none; + + jid_utf8 = to_utf8(fjid); + jb_room_setattrib(roomid, jid_utf8, NULL, ra, NULL); + g_free(jid_utf8); +} + // The expected argument is a nickname static void room_kick(gpointer bud, char *arg) { @@ -2381,6 +2403,9 @@ } else if (!strcasecmp(subcmd, "ban")) { if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL) room_ban(bud, arg); + } else if (!strcasecmp(subcmd, "unban")) { + if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL) + room_unban(bud, arg); } else if (!strcasecmp(subcmd, "kick")) { if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL) room_kick(bud, arg);