changeset 12999:68db2c40efb2

[gaim-migrate @ 15352] Bleeter updated yahoo to support ignoring conference and chatroom invitations similarly to how SILC and the native y! client do. If you don't like the verbiage, blame me. committer: Tailor Script <tailor@pidgin.im>
author Daniel Atallah <daniel.atallah@gmail.com>
date Mon, 23 Jan 2006 01:47:56 +0000
parents a2096c8978b2
children a4ac07e7b077
files src/protocols/yahoo/yahoo.c src/protocols/yahoo/yahoochat.c
diffstat 2 files changed, 8 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/protocols/yahoo/yahoo.c	Mon Jan 23 01:27:40 2006 +0000
+++ b/src/protocols/yahoo/yahoo.c	Mon Jan 23 01:47:56 2006 +0000
@@ -3698,6 +3698,10 @@
 
 	option = gaim_account_option_string_new(_("Chat room locale"), "room_list_locale", YAHOO_ROOMLIST_LOCALE);
 	prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option);
+
+	option = gaim_account_option_bool_new(_("Ignore conference and chatroom invitations"), "ignore_invites", FALSE);
+	prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option);
+
 #if 0
 	option = gaim_account_option_string_new(_("Chat room list URL"), "room_list", YAHOO_ROOMLIST_URL);
 	prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option);
--- a/src/protocols/yahoo/yahoochat.c	Mon Jan 23 01:27:40 2006 +0000
+++ b/src/protocols/yahoo/yahoochat.c	Mon Jan 23 01:47:56 2006 +0000
@@ -154,7 +154,8 @@
 	if (members) {
 		g_hash_table_replace(components, g_strdup("members"), g_strdup(members->str));
 	}
-	if (!yahoo_privacy_check(gc, who)) {
+	if (!yahoo_privacy_check(gc, who) || 
+		(gaim_account_get_bool(gaim_connection_get_account(gc), "ignore_invites", FALSE))) {
 		gaim_debug_info("yahoo",
 		    "Invite to conference %s from %s has been dropped.\n", room, who);
 		g_string_free(members, TRUE);
@@ -601,7 +602,8 @@
 
 		components = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
 		g_hash_table_replace(components, g_strdup("room"), g_strdup(room));
-		if (!yahoo_privacy_check(gc, who)) {
+		if (!yahoo_privacy_check(gc, who) ||
+			(gaim_account_get_bool(gaim_connection_get_account(gc), "ignore_invites", FALSE))) {
 			gaim_debug_info("yahoo",
 			"Invite to room %s from %s has been dropped.\n", room, who);
 			if (room != NULL)