The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
![]()
I want to have an individual usergroup (usergroup 1) that would have a field option like "interests" for the individual's profile. Then I want to have a organization usergroup (usergroup 2), but they would not receive the "interests" field as an option for their profile because it would be irrelevant.
I have pieced together this php code, but i still cant get it to work. <vb:if condition="is_member_of($bbuserinfo) == 9?> {vb:raw userinfo.field6} </vb:if> <vb:else condition="is_member_of($bbuserinfo) != 9?> {unset($userinfo.field6)} </vb:if> I have tried it in two different templates. memberinfo_block_aboutme memberinfo_profilefield Can someone please help me out. All the research I have done seems more geared toward vb version 3 and does not work either. Such as: Restrict some profile fields to specific usergroup https://vborg.vbsupport.ru/showthread.php?t=244946 Any help is greatly appreciated! |
#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 } |
#3
|
|||
|
|||
![]()
$bbsuserinfo is a global template variable. I am not sure if it is populated with valid data to every template, but it is accessible. Function "is_member_of" is an already declared "safe function". So if you use Nerbert's example of how to use the function is_member_of correctly it should work.
I search my own templates and found I used it in showthread... Code:
<vb:if condition="is_member_of($bbuserinfo, array(2,18))"> {vb:debugvardump $bbuserinfo} <!-- Do not put this line in your code... It will not work. I left it here so you could see where I the output was generated from --> </vb:if> OUTPUT: Code:
var_dump: $bbuserinfoarray(213) { ["userid"]=> string(2) "10" ["temp"]=> NULL ["field1"]=> string(0) "" ["field2"]=> string(0) "" ["field3"]=> string(0) "" ... |
#4
|
|||
|
|||
![]()
Thank you both nerbert and tbworld for responding. I played around with what you gave me but it seems to be a little over my head. I think I am just going to have to post a paid service request.
|
![]() |
Thread Tools | |
Display Modes | |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|