The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#2
|
|||
|
|||
![]()
You're not using is_member_of() correctly
is_member_of($bbuserinfo, 9) or for several groups; is_member_of($bbuserinfo, array(4,5,6,7)) I'm not 100% sure you can use that function in a template conditional though Code:
941 // ############################################################################# 942 /** 943 * Works out if a user is a member of the specified usergroup(s) 944 * 945 * This function can be overloaded to test multiple usergroups: is_member_of($user, 1, 3, 4, 6...) 946 * 947 * @param array User info array - must contain userid, usergroupid and membergroupids fields 948 * @param integer Usergroup ID to test 949 * @param boolean Pull result from cache 950 * 951 * @return boolean 952 */ 953 function is_member_of($userinfo, $usergroupid, $cache = true) 954 { 955 static $user_memberships; 956 957 switch (func_num_args()) 958 { 959 // 1 can't happen 960 961 case 2: // note: func_num_args doesn't count args with default values unless they're overridden 962 $groups = is_array($usergroupid) ? $usergroupid : array($usergroupid); 963 break; 964 965 case 3: 966 if (is_array($usergroupid)) 967 { 968 $groups = $usergroupid; 969 $cache = (bool)$cache; 970 } 971 else if (is_bool($cache)) 972 { 973 // passed in 1 group and a cache state 974 $groups = array($usergroupid); 975 } 976 else 977 { 978 // passed in 2 groups 979 $groups = array($usergroupid, $cache); 980 $cache = true; 981 } 982 break; 983 984 default: 985 // passed in 4+ args, which means it has to be in the 1,2,3 method 986 $groups = func_get_args(); 987 unset($groups[0]); 988 989 $cache = true; 990 } 991 992 if (!is_array($user_memberships["$userinfo[userid]"]) OR !$cache) 993 { 994 // fetch membergroup ids for this user 995 $user_memberships["$userinfo[userid]"] = fetch_membergroupids_array($userinfo); 996 } 997 998 foreach ($groups AS $usergroupid) 999 { 1000 // is current group user's primary usergroup, or one of their membergroups? 1001 if ($userinfo['usergroupid'] == $usergroupid OR in_array($usergroupid, $user_memberships["$userinfo[userid]"])) 1002 { 1003 // yes - return true 1004 return true; 1005 } 1006 } 1007 1008 // if we get here then the user doesn't belong to any of the groups. 1009 return false; 1010 } |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|