From ccae577e9606b9de1532af42b67a288033e46eea Mon Sep 17 00:00:00 2001 From: pier11 Date: Sat, 27 Mar 2010 13:47:13 +0000 Subject: [PATCH] access: locked Access Level menu for 2007 env only --- src/core/sipe.c | 54 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/src/core/sipe.c b/src/core/sipe.c index 51da773f..b6f54c40 100644 --- a/src/core/sipe.c +++ b/src/core/sipe.c @@ -9812,8 +9812,6 @@ sipe_buddy_menu(PurpleBuddy *buddy) const char *phone; const char *phone_disp_str; gchar *self = sip_uri_self(sip); - unsigned int i; - int container_id; SIPE_SESSION_FOREACH { if (!sipe_strcase_equal(self, buddy->name) && session->chat_title && session->conv) @@ -9946,34 +9944,38 @@ sipe_buddy_menu(PurpleBuddy *buddy) } /* Access Level */ - container_id = sipe_find_access_level(sip, "user", sipe_get_no_sip_uri(buddy->name)); - for (i = 1; i <= CONTAINERS_LEN; i++) { - /* to put Blocked level last in menu list. - * Blocked should remaim in the first place in the containers[] array. - */ - unsigned int j = (i == CONTAINERS_LEN) ? 0 : i; - const char *acc_level_name = sipe_get_access_level_name(containers[j]); - char *menu_name; + if (sip->ocs2007) { + unsigned int i; + int container_id = sipe_find_access_level(sip, "user", sipe_get_no_sip_uri(buddy->name)); - /* current container/access level */ - if (((int)containers[j]) == container_id) { - menu_name = g_strdup_printf("* %s", acc_level_name); - } else { - menu_name = g_strdup(acc_level_name); + for (i = 1; i <= CONTAINERS_LEN; i++) { + /* to put Blocked level last in menu list. + * Blocked should remaim in the first place in the containers[] array. + */ + unsigned int j = (i == CONTAINERS_LEN) ? 0 : i; + const char *acc_level_name = sipe_get_access_level_name(containers[j]); + char *menu_name; + + /* current container/access level */ + if (((int)containers[j]) == container_id) { + menu_name = g_strdup_printf("* %s", acc_level_name); + } else { + menu_name = g_strdup(acc_level_name); + } + + act = purple_menu_action_new(menu_name, + PURPLE_CALLBACK(sipe_buddy_menu_access_level_cb), + (gpointer)&(containers[j]), NULL); + g_free(menu_name); + menu_access_levels = g_list_prepend(menu_access_levels, act); } + menu_access_levels = g_list_reverse(menu_access_levels); - act = purple_menu_action_new(menu_name, - PURPLE_CALLBACK(sipe_buddy_menu_access_level_cb), - (gpointer)&(containers[j]), NULL); - g_free(menu_name); - menu_access_levels = g_list_prepend(menu_access_levels, act); + act = purple_menu_action_new(_("Access level"), + NULL, + NULL, menu_access_levels); + menu = g_list_prepend(menu, act); } - menu_access_levels = g_list_reverse(menu_access_levels); - - act = purple_menu_action_new(_("Access level"), - NULL, - NULL, menu_access_levels); - menu = g_list_prepend(menu, act); /* Copy to */ gr_parent = purple_buddy_get_group(buddy); -- 2.11.4.GIT