Mercurial > hg
comparison mcabber/src/commands.c @ 1260:b4ccc5b2a6de
Add command /room unban
("unban jid" is actually the same as "affil jid none")
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Wed, 27 Jun 2007 23:03:22 +0200 |
parents | 58d6e7713164 |
children | dbc907b2d92f |
comparison
equal
deleted
inserted
replaced
1259:c5c09f8f60b0 | 1260:b4ccc5b2a6de |
---|---|
223 compl_add_category_word(COMPL_ROOM, "nick"); | 223 compl_add_category_word(COMPL_ROOM, "nick"); |
224 compl_add_category_word(COMPL_ROOM, "privmsg"); | 224 compl_add_category_word(COMPL_ROOM, "privmsg"); |
225 compl_add_category_word(COMPL_ROOM, "remove"); | 225 compl_add_category_word(COMPL_ROOM, "remove"); |
226 compl_add_category_word(COMPL_ROOM, "role"); | 226 compl_add_category_word(COMPL_ROOM, "role"); |
227 compl_add_category_word(COMPL_ROOM, "topic"); | 227 compl_add_category_word(COMPL_ROOM, "topic"); |
228 compl_add_category_word(COMPL_ROOM, "unban"); | |
228 compl_add_category_word(COMPL_ROOM, "unlock"); | 229 compl_add_category_word(COMPL_ROOM, "unlock"); |
229 compl_add_category_word(COMPL_ROOM, "whois"); | 230 compl_add_category_word(COMPL_ROOM, "whois"); |
230 | 231 |
231 // Authorization category | 232 // Authorization category |
232 compl_add_category_word(COMPL_AUTH, "allow"); | 233 compl_add_category_word(COMPL_AUTH, "allow"); |
2016 g_free(reason_utf8); | 2017 g_free(reason_utf8); |
2017 | 2018 |
2018 free_arg_lst(paramlst); | 2019 free_arg_lst(paramlst); |
2019 } | 2020 } |
2020 | 2021 |
2022 // The expected argument is a Jabber id | |
2023 static void room_unban(gpointer bud, char *arg) | |
2024 { | |
2025 gchar *fjid = arg; | |
2026 gchar *jid_utf8; | |
2027 struct role_affil ra; | |
2028 const char *roomid = buddy_getjid(bud); | |
2029 | |
2030 if (!fjid || !*fjid) { | |
2031 scr_LogPrint(LPRINT_NORMAL, "Please specify a Jabber ID."); | |
2032 return; | |
2033 } | |
2034 | |
2035 ra.type = type_affil; | |
2036 ra.val.affil = affil_none; | |
2037 | |
2038 jid_utf8 = to_utf8(fjid); | |
2039 jb_room_setattrib(roomid, jid_utf8, NULL, ra, NULL); | |
2040 g_free(jid_utf8); | |
2041 } | |
2042 | |
2021 // The expected argument is a nickname | 2043 // The expected argument is a nickname |
2022 static void room_kick(gpointer bud, char *arg) | 2044 static void room_kick(gpointer bud, char *arg) |
2023 { | 2045 { |
2024 char **paramlst; | 2046 char **paramlst; |
2025 gchar *nick; | 2047 gchar *nick; |
2379 if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL) | 2401 if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL) |
2380 room_role(bud, arg); | 2402 room_role(bud, arg); |
2381 } else if (!strcasecmp(subcmd, "ban")) { | 2403 } else if (!strcasecmp(subcmd, "ban")) { |
2382 if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL) | 2404 if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL) |
2383 room_ban(bud, arg); | 2405 room_ban(bud, arg); |
2406 } else if (!strcasecmp(subcmd, "unban")) { | |
2407 if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL) | |
2408 room_unban(bud, arg); | |
2384 } else if (!strcasecmp(subcmd, "kick")) { | 2409 } else if (!strcasecmp(subcmd, "kick")) { |
2385 if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL) | 2410 if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL) |
2386 room_kick(bud, arg); | 2411 room_kick(bud, arg); |
2387 } else if (!strcasecmp(subcmd, "leave")) { | 2412 } else if (!strcasecmp(subcmd, "leave")) { |
2388 if ((arg = check_room_subcommand(arg, FALSE, bud)) != NULL) | 2413 if ((arg = check_room_subcommand(arg, FALSE, bud)) != NULL) |