![]() |
conditional for "who is online"
I've created a usergroup for people who's contact info I want hidden (email form, messenger details etc) regardless of what they have entered before.
I've got <if condition="$bbuserinfo[usergroupid] == 15"><else /> for the templates that they might see I've got <if condition="$userinfo[usergroupid] == 15"><else /> for the memberinfo template I've got <if condition="$post[usergroupid] == 15"><else /> for the postbit template However I can't find anything that works for the who's online page <if condition="$vboptions[usergroupid] == 15"></else> doesn't seem to do anything, neither do any of the above. Any suggestions? |
Try:
Code:
<if condition="is_member_of($post,15)"> *Note: $post = Content that's displayed on page. $bbuserinfo = Restriction or allowance to the end user (the one who's viewing the page). |
Cheers, I've tried that like this and it doesn't do a thing, this is in the whosonlinebit template
<if condition="is_member_of($post,15)"><else /> $userinfo[aimicon] $userinfo[icqicon] $userinfo[msnicon] $userinfo[yahooicon] </if> |
You have it in reversed that's why. :) It should be:
Code:
<if condition="is_member_of($post,15)"> |
doh ... I need to sleep more
Edit: No I don't, that hides everything for everyone |
That code will work on most vB pages. I'm wondering, then, if the conditional can't detect the Usergroups that show up on Who's Online. If that's the case then a template conditional may not help; you'll may need to look at a PHP edit.
|
Quote:
|
I'm sorry I couldn't be of much help. If you do find a solution please post back so others can benefit from it. :)
|
AFAIK, the WOL uses $userinfo, not $post, changing that should work.
|
That's what I tried in the firstplace.
if condition="$userinfo[usergroupid] == 15"> doesn't work so I tried this <if condition="is_member_of($userinfo,15)"> and still nothing, I'm thinking that online.php needs something adding to it. |
In online.php templates, you can use:
- $bbuserinfo (vB3.0 style, depreciated but still supported in 3.5 and up) - or $vbulletin->userinfo (vB3.5 & up style) To use a field from the userinfo use either: - $bbuserinfo[field] - $vbulletin->userinfo[field] (PS If you get "Array"-errors, then surround with curly-brackets, ie: {$vbulletin->userinfo[field]} ) To test for usergroup you can use: HTML Code:
<if condition="is_member_of($bbuserinfo, 15)"> HTML Code:
<if condition="is_member_of({$vbulletin->userinfo}, 15)"> |
Doing this hides all the information for everyone else too.
I have a usergroup where, no matter what they enter into their profile, nobody else on the forum can see their contact/messenger details. This is because of an abuse issue. I don't care what this group can see, I want to stop everyone else from being able to contact them. So far I've sorted everything except for WOL. Theoretically all the above suggestions should work, they do everywhere else. However something seems to be missing in WOL to prevent it. |
Ok i now see what you are trying. You want this based on the usergroup if the row of the user being displayed on that line, and not based on the usergroup of the user logged in.
All user information about the current row is stored in $userinfo, so that is what you will need to use. There is however a problem, not all information about a user is pulled from the database for each row that is displayed on the WOL. Only information that is needed for vBulletin to display that row is retrieved. The usergroupid or the membergroupids are not loaded. Unfortunatly there is no option to retrieve this information when the table of online users is populated, with a plugin. You could use a plugin, but that would probably mean 1 extra query for each online user, so from performance POV that is not a good option. The best option would be to us a code edit in online.php. For vB3.5.4, edit online.php and find the following (line 184) PHP Code:
PHP Code:
PHP Code:
PHP Code:
|
Fantastic, that worked thank you very much :)
All except the syntax of the if condition <if condition="$userinfo[usergroupid] == 15"> worked but <if condition="is_member_of($userinfo,15)"> ) didn't for some reason. |
Yeah, the $userinfo is really crippled in Who's Online. We really need $userinfo[usergroup].
|
All times are GMT. The time now is 02:04 AM. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|