ad_get_group_idWhat it does:
Returns the group_id cookie value. Returns 0 if the group_id cookie is missing, if the user is not logged in, or if the user is not a member of the group.Defined in: /web/philip/packages/acs-core/user-groups-procs.tcl
Source code:
# 1 verifies the user_id cookie # 2 gets the group_id cookie # 3 verifies that the user_id is mapped to group_id ns_share ad_group_map_cache set user_id [ad_verify_and_get_user_id] if { $user_id == 0 } { return 0 } set headers [ns_conn headers] set cookie [ns_set get $headers Cookie] if { [regexp {ad_group_id=([^;]+)} $cookie {} group_id] } { if { [info exists ad_group_map_cache($user_id)] } { # there exists a cached $user_id to $group_id mapping if { [string compare $group_id $ad_group_map_cache($user_id)] == 0 } { return $group_id } } # we continue and hit db even if there was a cached group_id (but # it didn't match) because the user might have just logged into # a different group set db [ns_db gethandle subquery] if { [database_to_tcl_string $db "select ad_group_member_p($user_id, $group_id) from dual"] == "t" } { set ad_group_map_cache($user_id) $group_id ns_db releasehandle $db return $group_id } else { ns_db releasehandle $db # user is not in the group return 0 } } else { return 0 }