mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-27 13:26:22 +00:00
Added jid autocomplete for affiliation commands
This commit is contained in:
@@ -717,11 +717,18 @@ _muc_user_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza,
|
||||
|
||||
// kicked from room
|
||||
} else if (g_slist_find_custom(status_codes, "307", (GCompareFunc)g_strcmp0) != NULL) {
|
||||
char *actor = stanza_get_kick_actor(stanza);
|
||||
char *reason = stanza_get_kick_reason(stanza);
|
||||
char *actor = stanza_get_kickban_actor(stanza);
|
||||
char *reason = stanza_get_kickban_reason(stanza);
|
||||
handle_room_kicked(from_room, actor, reason);
|
||||
free(reason);
|
||||
|
||||
// banned from room
|
||||
} else if (g_slist_find_custom(status_codes, "301", (GCompareFunc)g_strcmp0) != NULL) {
|
||||
char *actor = stanza_get_kickban_actor(stanza);
|
||||
char *reason = stanza_get_kickban_reason(stanza);
|
||||
handle_room_banned(from_room, actor, reason);
|
||||
free(reason);
|
||||
|
||||
// normal exit
|
||||
} else {
|
||||
handle_leave_room(from_room);
|
||||
@@ -783,11 +790,18 @@ _muc_user_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza,
|
||||
|
||||
// kicked from room
|
||||
if (g_slist_find_custom(status_codes, "307", (GCompareFunc)g_strcmp0) != NULL) {
|
||||
char *actor = stanza_get_kick_actor(stanza);
|
||||
char *reason = stanza_get_kick_reason(stanza);
|
||||
char *actor = stanza_get_kickban_actor(stanza);
|
||||
char *reason = stanza_get_kickban_reason(stanza);
|
||||
handle_room_occupent_kicked(from_room, from_nick, actor, reason);
|
||||
free(reason);
|
||||
|
||||
// banned from room
|
||||
} else if (g_slist_find_custom(status_codes, "301", (GCompareFunc)g_strcmp0) != NULL) {
|
||||
char *actor = stanza_get_kickban_actor(stanza);
|
||||
char *reason = stanza_get_kickban_reason(stanza);
|
||||
handle_room_occupent_banned(from_room, from_nick, actor, reason);
|
||||
free(reason);
|
||||
|
||||
// normal exit
|
||||
} else {
|
||||
handle_room_member_offline(from_room, from_nick, "offline", status_str);
|
||||
|
||||
@@ -1181,7 +1181,7 @@ stanza_get_muc_destroy_reason(xmpp_stanza_t *stanza)
|
||||
}
|
||||
|
||||
char *
|
||||
stanza_get_kick_actor(xmpp_stanza_t *stanza)
|
||||
stanza_get_kickban_actor(xmpp_stanza_t *stanza)
|
||||
{
|
||||
char *stanza_name = xmpp_stanza_get_name(stanza);
|
||||
if (g_strcmp0(stanza_name, STANZA_NAME_PRESENCE) == 0) {
|
||||
@@ -1207,7 +1207,7 @@ stanza_get_kick_actor(xmpp_stanza_t *stanza)
|
||||
}
|
||||
|
||||
char *
|
||||
stanza_get_kick_reason(xmpp_stanza_t *stanza)
|
||||
stanza_get_kickban_reason(xmpp_stanza_t *stanza)
|
||||
{
|
||||
char *stanza_name = xmpp_stanza_get_name(stanza);
|
||||
if (g_strcmp0(stanza_name, STANZA_NAME_PRESENCE) == 0) {
|
||||
|
||||
@@ -258,7 +258,7 @@ gboolean stanza_room_destroyed(xmpp_stanza_t *stanza);
|
||||
char* stanza_get_muc_destroy_alternative_room(xmpp_stanza_t *stanza);
|
||||
char* stanza_get_muc_destroy_alternative_password(xmpp_stanza_t *stanza);
|
||||
char* stanza_get_muc_destroy_reason(xmpp_stanza_t *stanza);
|
||||
char* stanza_get_kick_actor(xmpp_stanza_t *stanza);
|
||||
char* stanza_get_kick_reason(xmpp_stanza_t *stanza);
|
||||
char* stanza_get_kickban_actor(xmpp_stanza_t *stanza);
|
||||
char* stanza_get_kickban_reason(xmpp_stanza_t *stanza);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user